diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json index 4c101dab8fff..10fc277e7713 100644 --- a/.azure-pipelines-preproduction/package-lock.json +++ b/.azure-pipelines-preproduction/package-lock.json @@ -3835,9 +3835,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "node-object-hash": { diff --git a/.azure-pipelines/BreakingChange.yml b/.azure-pipelines/BreakingChange.yml deleted file mode 100644 index 466349bd3bfd..000000000000 --- a/.azure-pipelines/BreakingChange.yml +++ /dev/null @@ -1,13 +0,0 @@ -jobs: -- job: "BreakingChange" - pool: - vmImage: 'Ubuntu 16.04' - steps: - - script: 'scripts/install-dotnet.sh' - displayName: 'Install .Net' - - task: Npm@1 - displayName: 'npm install' - inputs: - verbose: false - - script: 'npm run tsc && node scripts/breaking-change.js' - displayName: 'Breaking Changes' \ No newline at end of file diff --git a/.azure-pipelines/PrettierCheck.yml b/.azure-pipelines/PrettierCheck.yml index f0dd05c49e7d..6880699cf0c2 100644 --- a/.azure-pipelines/PrettierCheck.yml +++ b/.azure-pipelines/PrettierCheck.yml @@ -1,6 +1,5 @@ jobs: - job: "PrettierCheck" - condition: "not(variables['PRIVATE'])" variables: NODE_OPTIONS: '--max-old-space-size=8192' pool: diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml index da696e39c823..982a0fd77d77 100644 --- a/.azure-pipelines/SDKAutomation.yml +++ b/.azure-pipelines/SDKAutomation.yml @@ -20,7 +20,6 @@ jobs: variables: NODE_OPTIONS: '--max-old-space-size=8192' - BLOB_STORAGE_PREFIX: sdkautomation-pipeline SPEC_REPO: $(Build.Repository.Name) PR_NUMBER: $(System.PullRequest.PullRequestNumber) BUILD_ID: $(Build.BuildId) @@ -42,6 +41,8 @@ jobs: SDK_REPO_NAME: azure-sdk-for-go Trenton: SDK_REPO_NAME: azure-sdk-for-trenton + Schema: + SDK_REPO_NAME: azure-resource-manager-schemas steps: - checkout: none - script: | @@ -62,22 +63,30 @@ jobs: displayName: Pull SDK Automation Image - script: | docker run \ + -e BLOB_PROXY_PREFIX \ + -e BLOB_STORAGE_PREFIX \ + -e BLOB_STORAGE_IS_PUBLIC \ + -e BLOB_DOWNLOAD_COMMAND \ -e BLOB_STORAGE_NAME \ -e BLOB_STORAGE_KEY \ -e GITHUB_COMMENT_AUTHOR_NAME \ -e GITHUBAPP_ID \ -e GITHUBAPP_PRIVATE_KEY \ -e NODE_OPTIONS \ - -e BLOB_STORAGE_PREFIX \ -e SPEC_REPO \ -e PR_NUMBER \ -e SDK_REPO_NAME \ -e AZURE_DEVOPS_EXT_PAT \ -e BUILD_ID \ sdk-automation:latest npm start + condition: or(ne(variables['SDK_REPO_NAME'], 'azure-resource-manager-schemas'), endsWith(variables['SPEC_REPO'], '/azure-rest-api-specs')) env: BLOB_STORAGE_NAME: $(blob-storage-name) BLOB_STORAGE_KEY: $(blob-storage-key) + BLOB_STORAGE_PREFIX: $(blob-storage-prefix) + BLOB_PROXY_PREFIX: $(blob-proxy-prefix) + BLOB_STORAGE_IS_PUBLIC: $(blob-is-public) + BLOB_DOWNLOAD_COMMAND: $(blob-download-command) GITHUB_COMMENT_AUTHOR_NAME: $(github-comment-author-name) GITHUBAPP_ID: $(githubapp-id) GITHUBAPP_PRIVATE_KEY: $(githubapp-private-key) diff --git a/.azure-pipelines/Spellcheck.yml b/.azure-pipelines/Spellcheck.yml index 5d7e59f14160..4adb4fc0c266 100644 --- a/.azure-pipelines/Spellcheck.yml +++ b/.azure-pipelines/Spellcheck.yml @@ -1,6 +1,5 @@ jobs: - job: "Spellcheck" - condition: "not(variables['PRIVATE'])" variables: NODE_OPTIONS: '--max-old-space-size=8192' pool: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 3c2cfcde11b6..cc4fa7417dcd 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,6 +14,8 @@ If any further question about AME onboarding or validation tools, please view th - Adding a new API version - Adding a new service +- [ ] Please ensure you've reviewed following [guidelines](https://aka.ms/rpguidelines) including [ARM resource provider contract](https://github.com/Azure/azure-resource-manager-rpc) and [REST guidelines](https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md). Estimated time (4 hours). This is required before you can request review from ARM API Review board. + - [ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (*RP Manifest Approvers* team under Azure Resource Manager service) from IcM and reach out to them. ### Breaking Change Review Checklist diff --git a/.github/comment.yml b/.github/comment.yml new file mode 100644 index 000000000000..caa2bb07beee --- /dev/null +++ b/.github/comment.yml @@ -0,0 +1,25 @@ +--- +- rule: + type: checkbox + keywords: + - "WaitForARMFeedback" + booleanFilterExpression: "!(ARMSignedOff||ARMChangesRequested||Approved-OkToMerge||WaitForARMRevisit)" + onCheckedLabels: + - WaitForARMFeedback + onCheckedComments: "Hi, @${PRAuthor} your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). cc @${PRAssignee} " + +- rule: + type: checkbox + keywords: + - "I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow." + onCheckedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md)

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com" + +- rule: + type: label + label: BreakingChangeReviewRequired + onLabeledComments: "Hi @${PRAuthor}, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow [breaking change policy](https://aka.ms/AzBreakingChangesPolicy) to request breaking change review and approval before proceeding swagger PR review.
    If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ma/swaggerfeedback. " + +- rule: + type: label + label: Approved-OkToMerge + onLabeledComments: "Hi @${PRAuthor},Your PR is approved. Congratulations.
  • If your PR is in public repo (azure-rest-api-specs), PR assignee will merge all updates in the PR shortly afterwards; or pause the PR merge, you need to put on a label DoNotMerge to PR as soon as possible.
  • If your PR is in private repo (azure-rest-api-specs-pr), there won’t be PR merge. Please refer to this [wiki](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/205/RP-Scenarios-to-Contribute-to-Swagger?anchor=**public-repository-vs.-private-repository**) for further guidance on how to proceed.
  • " diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml index 7347c318e629..40be9f7f70ed 100644 --- a/.github/issue_assignment.yml +++ b/.github/issue_assignment.yml @@ -4,7 +4,7 @@ assignees: - yungezz - erich-wang - - NullMDR + - PhoenixHe-msft - raych1 - lirenhe - weidongxu-microsoft diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml index 878a5eba46bc..2668fe4455e5 100644 --- a/.github/pull_request_assignment.yml +++ b/.github/pull_request_assignment.yml @@ -1,4 +1,11 @@ --- +- rule: + # eventgrid data-plane PR + paths: + - "specification/eventgrid/data-plane/**" + reviewers: + - lmazuel + - rule: # data-plane PR paths: @@ -8,20 +15,26 @@ - jhendrixMSFT - lmazuel - tjprescott + - rule: paths: - "specification/network/**" reviewers: + - kairu-ms - lirenhe - - MyronFanQiu - rule: paths: - "specification/@(applicationinsights|operationalinsights)/**" reviewers: - - MyronFanQiu + - kairu-ms +- rule: + paths: "specification/@(resources|powerplatform)/**" + reviewers: + - raych1 + - rule: paths: "specification/compute/**" reviewers: @@ -29,11 +42,6 @@ - fengzhou-msft - yungezz -- rule: - paths: "specification/resources/**" - reviewers: - - raych1 - - rule: paths: - "specification/machinelearningservices/**" @@ -64,7 +72,7 @@ - "specification/monitor/**" reviewers: - weidongxu-microsoft - - MyronFanQiu + - kairu-ms - rule: paths: @@ -73,11 +81,11 @@ - qianwens - Juliehzl -- rule: - paths: "specification/mediaservices/**" - reviewers: - - allenjzhang +- rule: + paths: "specification/mediaservices/**" + reviewers: + - allenjzhang - rule: paths: - "specification/@(keyvault|notificationhubs)/**" @@ -89,7 +97,7 @@ paths: - "specification/@(containerservice|containerinstance)/**" reviewers: - - NullMDR + - PhoenixHe-msft - fengzhou-msft - yungezz @@ -104,7 +112,7 @@ paths: - "specification/portal/**" reviewers: - - NullMDR + - PhoenixHe-msft - rule: paths: @@ -128,7 +136,25 @@ - ".azure-pipelines-preproduction/**" reviewers: - akning-ms - - NullMDR + - PhoenixHe-msft + +- rule: + paths: + - "documentation/**" + reviewers: + - josefree + - akning-ms + +- rule: + paths: + - "**/package.json" + - ".github/**" + - "**/azure-pipelines.yml" + - ".azure-pipelines/**" + - ".azure-pipelines-preproduction/**" + reviewers: + - akning-ms + - PhoenixHe-msft - raych1 - rule: @@ -138,17 +164,17 @@ reviewers: - yungezz - erich-wang - - NullMDR - - raych1 + - PhoenixHe-msft - lirenhe - weidongxu-microsoft - ArcturusZhang - xccc-msft + - raych1 - ChenTanyi - fengzhou-msft - njuCZ - akning-ms - - markcowl - leni-msft - qianwens - ruowan + - jianyexi diff --git a/.github/sla.yml b/.github/sla.yml index 005dfda9139a..7d1f1e347267 100644 --- a/.github/sla.yml +++ b/.github/sla.yml @@ -67,7 +67,7 @@ - time args: limit: 72h - booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangeRequest) + booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangesRequested) message: '

    Dear PR author,

    The PR Reviewer has commented on your PR ${URL} , putting on the label "Reviewed-ChangesRequired" or "ARMChangeRequest". Please check out the comment by clicking the PR link attached previously, and update your commits accordingly.

    Please ensure to remove "Reviewed-ChangesRequired" or "ARMChangeRequest" label, after you complete updates and comment back. If you need ARM board or swagger reviewer revisit your PR, please label the PR with "WaitForARMRevisit" and "WaitForReviewRevisit" respectively.

    Quick info.

    DO NOT REPLY: This is an automated email. If you have any questions, please send an email to the Swagger and Tools Team (vscswagger@microsoft.com).

    Best regards,

    Swagger and Tools Team, Azure Management Experience

    ' subject: "Action Required: Please update your PR ${URL}" to: ${AUTHOR} diff --git a/CODEOWNERS b/CODEOWNERS index 279e43881053..c191c63fa8eb 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,13 +1,14 @@ /specification/analysisservices/ @taiwu +/specification/alertsmanagement/ @ofirmanor @olalavi @erangon @orieldar @ilaizi @shakednai1 @khaboasb @orenhor /specification/apimanagement/ @promoisha @solankisamir -/specification/applicationinsights/ @alexeldeib +/specification/applicationinsights/ @alexeldeib @ramthi @markwolff @trask @hectorhdzg @lzchen /specification/asazure/ @athipp /specification/authorization/ @darshanhs90 @stankovski /specification/automation/ @vrdmr /specification/azsadmin/ @deathly809 /specification/batch/ @matthchr @xingwu1 /specification/batchai/ @alexanderyukhanov -/specification/billing/ @wilcobmsft +/specification/billing/ @wilcobmsft @asarkar84 /specification/cdn/ @csmengwan @injyzarif @prakharsharma10 /specification/cognitiveservices/ @felixwa @yangyuan /specification/compute/ @bilaakpan-ms @sandido @dkulkarni-ms @haagha @madewithsmiles @MS-syh2qs @grizzlytheodore @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov @@ -57,16 +58,17 @@ /specification/recoveryservicessiterecovery/ @avneeshrai /specification/redis/ @siddharthchatrolams @timlovellsmith /specification/relay/ @sethmanheim @v-ajnava -/specification/resources/ @Tiano2017 @rajshah11 @vivsriaus +/specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus /specification/scheduler/ @pinwang81 -/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy +/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @heaths @AlexGhiondea /specification/search/resource-manager/ @abhi1509 @miwelsh @tjacobhi /specification/serialconsole/ @amitchat @craigw @asinn826 /specification/service-map/ @daveirwin1 /specification/servicebus/ @sazeesha @v-ajnava /specification/servicefabric/ @juhacket @samedder -/specification/sql/ @jaredmoo @jamestao -/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft @kasobol-msft +/specification/sql/ @jamestao @bcham +/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft +/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft /specification/storageimportexport/ @leoz-ms /specification/storagesync/ @ankushbindlish2 /specification/storsimple8000series/ @manaas-microsoft diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 99db62225099..aeec700c1f96 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,7 +23,6 @@ jobs: - template: .azure-pipelines/Semantic.yml - template: .azure-pipelines/Avocado.yml - template: .azure-pipelines/ModelValidation.yml -- template: .azure-pipelines/BreakingChange.yml - template: .azure-pipelines/LintDiff.yml - template: .azure-pipelines/NetworkValidation.yml - template: .azure-pipelines/Spellcheck.yml diff --git a/cSpell.json b/cSpell.json index 21bf185fc445..6d8c0045d327 100644 --- a/cSpell.json +++ b/cSpell.json @@ -2,7 +2,9 @@ "version": "0.1", "language": "en", "words": [ - "Creds" + "Creds", + "partiallycompleted", + "umls" ], "dictionaryDefinitions": [ { @@ -89,6 +91,84 @@ "Ochestrator" ] }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, { "filename": "**/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json", "words": [ @@ -635,6 +715,39 @@ "networkrulesets", "Setget" ] + }, + { + "filename": "**/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json", + "words": [ + "mysqldb", + "psqldb" + ] + }, + { + "filename": "**/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json", + "words": [ + "Chttp", + "Fcontoso", + "Fpushpins" + ] + }, + { + "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json", + "words": [ + "readreceipts" + ] + }, + { + "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json", + "words": [ + "areacodes", + "locationoptions", + "phonenumbers", + "phoneplangroups", + "phoneplans", + "pstn", + "unconfiguring" + ] } ] } \ No newline at end of file diff --git a/custom-words.txt b/custom-words.txt index 6acf8af868f5..596f3ecdca7b 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -58,6 +58,7 @@ AND'ed Annotatable anomalydetector anomalyfinder +antimeridian APAC APACHEAVRO API's @@ -157,6 +158,7 @@ AZFW AZNB azns azpkg +azpodpolicy azureaccounts azureactivedirectory azureblob @@ -194,9 +196,11 @@ Baidu bangla Bahasa baremetal +baremetalinfrastructure BATCHAI batchmanaged BAYESIANOPTIMIZATION +bbox BCDR BCWG beider @@ -241,6 +245,8 @@ Bokmaal Bootstrappers bot's botservice +boundingbox +boundingzoom brazilsouth browsable bruceper @@ -274,7 +280,10 @@ certificatescreateorupdate certificatesdelete Certificatethumbprint certverify +Chademo chainer +changedSince +changepoint changestate CHECKACCESS checkmark @@ -302,12 +311,14 @@ closedlist closedlists Cloudamize cloudapp +cloudevents cloudproperties cloudsimple clustermonitoring clustername Cmdkey cmdlet +CMAF CMMI CNAME cntk @@ -360,6 +371,7 @@ Cran creatable createconsumergroup createorupdate +createpreview credativ crossdomain csname @@ -386,12 +398,15 @@ CUTOVER CVEs CVSS Cyrl +darkgrey databox Databricks datacatalog Datacenter datacenters +datacontenttype datadisk +Datadog datafactory datafactoryv dataflows @@ -404,7 +419,9 @@ Datamasking datamigration datapoint Dataset +datasetid datasets +dataschema datasource Datasources datastore @@ -437,6 +454,7 @@ deleteconsumergroup deletedcertificates deletedkeys deletedsecrets +deletedservices deletedstorage deletefailed deleteissuers @@ -462,8 +480,10 @@ devicetemplates devspaces devtestlab devtestlabs +dewpoint dhcp diagnosticcontext +diarization digitaltwins DIMM disableautoscale @@ -474,6 +494,7 @@ discoverbackup diskmigrationjobs diskoperations Distcp +Distro DMTS Dnat dnsname @@ -483,6 +504,8 @@ Domainful domainname domainservices DOTALL +dras +DRAs DRMs dsmax DTDL @@ -500,6 +523,7 @@ Edgenode edgenodes EDIFACT EDMX +Einsteinweg Ekaterinburg ekus Eloqua @@ -521,6 +545,7 @@ entitydocument entitysearch entrypoint environmentsettings +EPSG errordetail errored ErrorMesssage @@ -580,9 +605,12 @@ fileservers fileshare Filestream filesystems +fileuploaderr +fileuploadout fileurl findsimilars findsquare +firmwares fluentd forestsummary formrecognizer @@ -590,6 +618,7 @@ FPGA fqdn FQDNs Français +freeflow frontdoor fsaction Fulfilment @@ -609,10 +638,16 @@ generatelivetoken generateverificationcode generatevpnclientpackage generatevpnprofile +geobias +geocode +geocodes Geofence +geofences Geofencing +geojson georegions georeplication +geospatial GETACLSTATUS getactivationkey getavailablebillingfeatures @@ -621,8 +656,10 @@ getconsumergroup GETCONTENTSUMMARY GETFILESTATUS getissuers +getitems getjob getkey +getmaptile getprivateendpointconnection getprivatelinkresources getsas @@ -640,6 +677,7 @@ Gloo gluster glusterfs GOARCH +GPUP GPUs Grammarly GRANTACE @@ -650,10 +688,12 @@ Groupby groupedby GRPC GSMT +GTFS guestconfiguration GUID GUIDs GZRS +Haag haase Había hadoop @@ -684,6 +724,7 @@ Horovod hostnames Hotfix hotfixes +HSLA HSMs Hubspot hybridconnection @@ -755,6 +796,7 @@ isdirectory ishostingenvironmentnameavailable ishostnameavailable isnullable +isochrone isordered issqlcompression istransitioning @@ -795,6 +837,7 @@ keyvaulturi keyversion KHTML Kiswahili +KMPH Knowledgebase knowledgebases koelner @@ -833,6 +876,8 @@ libtrust lifecycle lifetimejobstats lifetimepoolstats +Liftr +Linestring linkedservices linkexpiryinminutes LISTAFTERID @@ -899,12 +944,14 @@ managementgroups managementpartner managementpolicy manualupgrade +mapbox mapred mapreduce mariadb Marketo marketplaceagreementsapi marketplaceordering +maxcoordinates MAXERRORS maximumblobsize maxmemory @@ -933,9 +980,11 @@ microservices microsofttranslator migratemysql migratetoaad +mincoordinates minidump minimalmetadata ministamps +Minkowski mixedreality Mkdirs mktorest @@ -947,6 +996,7 @@ MODIFYACLENTRIES monitoringconfiguration monitoringconfigurations Monospace +mountainview MPNS MRAN MSAZR @@ -962,6 +1012,8 @@ Multiclass MULTIJSON Multilabel multipart +multipoint +multipoints Multiset multistep multivalued @@ -988,15 +1040,18 @@ mysite mysquare mystore myvolume +myworkbooks n'eventtype n'recognition nagios namespace's nanoserver +Napoli nbformat Nccl nchar ndjson +Neighbourhood netapp netezza networkruleset @@ -1037,6 +1092,7 @@ notificationchannels notificationhubs notstarted nouploadcache +nowcasts nsdname nsku nsxt @@ -1075,6 +1131,7 @@ operationresults operationsmanagement operationstatuses opid +openlr oplog Optimised Optimiser @@ -1091,6 +1148,9 @@ overprovision overprovisioned overprovisioning overridable +overriden +overviewbox +overviewzoom OWASP oxxm pageable @@ -1107,6 +1167,7 @@ Paypal PBIE PCIE PCNET +PDFs peerings Pendingissuance Pendingrevocation @@ -1131,6 +1192,7 @@ pkcs playready Plex Pohlmann +pois policyassignments policydefinitions policyinsights @@ -1151,6 +1213,7 @@ powerbidedicated powerbiembedded poweredoff poweroff +pptx prebackup prebackupvalidation prebuilts @@ -1247,6 +1310,8 @@ recoveryservicessiterecovery recurse rediscache rediscachemanagement +RediSearch +redisenterprise Redshift Reenabled Refid @@ -1306,6 +1371,7 @@ Responsys RESTAPI restoreheartbeat Restproxy +restrant restype resumable resync @@ -1339,6 +1405,7 @@ RPKI rpns RSAES RSASSA +rstrnt rscc rscd rsce @@ -1369,6 +1436,7 @@ sawinvm SBEH Scaleset scalesets +Scame scanability SCMS SCOM @@ -1376,6 +1444,7 @@ scopemap SCSV sdks SDWAN +searchbuffer searchindex searchmanagementclient searchservice @@ -1466,6 +1535,7 @@ southindia sparkconf sparql SPDX +specversion SQLAG sqldatabase SQLDB @@ -1490,6 +1560,9 @@ starttaskfailed starttime startTime stateful +stateset +statesets +statetile staticsite statusdir stderror @@ -1512,6 +1585,7 @@ streamanalytics streamingendpoint streamingjobs streamingservice +subcause subcomponent subdir subdomain @@ -1569,6 +1643,7 @@ tablevaluedfunctions tagname tagsandregions tagvalue +TARGETDURATION taskcompletion taskcounts taskfailure @@ -1579,6 +1654,7 @@ templatelink templeton temporarydisk tensorflow +TEPCO's teradata terminatejob Termlist @@ -1593,6 +1669,8 @@ textanalytics TFIDF Tful Tfvc +tileset +tilesets timeframe timegrain timeseries @@ -1608,11 +1686,15 @@ toolset tooltips topqueries topquery +TPEG traceback +traceparent traceroute +tracestate trafficmanager trafficmanageranalytics trafficmanagerprofiles +trafficmodelid tráfico transcoding transcodes @@ -1624,8 +1706,12 @@ triggerruns TSVE Turbonomic Txns +typeahead Typeless typeperf +udid +udids +UEFI UEBA Uint uksouth @@ -1643,6 +1729,7 @@ unexamined Unigrams uniqueidentifier uniquestring +unitless unixtime UNKNOWON unlocalized @@ -1667,6 +1754,7 @@ unparsed unprepare unprepares unpreparing +Unprocessable Unprovision unprovisioned Unprovisioning @@ -1700,8 +1788,11 @@ userid userpreference usersetting usermanaged +usertime USQL +uturn UUCP +UUIDs VAIDK varbinary varchar @@ -1718,6 +1809,7 @@ Vfyc vhds VHDX videosearch +viewp virtualclusters virtualip virtualmachine @@ -1732,6 +1824,7 @@ visualsearch visualstudio vlan vlanid +vlans Vldb VM's vmextension @@ -1767,6 +1860,8 @@ waitingforstarttask WANAs WANs WASB +waypoint +waypoints WDATP WEBAPICONTAINER webapplicationfirewall @@ -1797,6 +1892,7 @@ Whitelistings whitespaces Whois Widevine +windingness windowsazuremediaservices windowsesu wlmengg @@ -1814,7 +1910,9 @@ XBing Xeon Xero XSMB +Xstr XVCJ +Yazaki Yucatec Ywhk YYMMDD @@ -1823,6 +1921,7 @@ Zerto Zilla ziplist Zoho +zoneinfo zset MSAZRUSGO hypervcollectors @@ -1861,6 +1960,9 @@ azureADMetrics sparkr ambari dotnetspark +FDID +Automanage +Antimalware dscp Dscp qos @@ -1868,4 +1970,28 @@ FDID watchlists Watchlists watchlist -Watchlist \ No newline at end of file +Watchlist +Stix +STIX +ACSSMS +Mibps +ntfs +networkrulesets +Setget +Ruleproperties +shamir_share +dllpath +MSIX +msix +MSIXpackages +msixpackages +appxmanifest +Appxmanifest +msixpackage +xml +Creds +unarchive +unarchiving +ssoadfs +Idempotence +privatelinkhub diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md index de459aa90c63..ff53c3ad1174 100644 --- a/documentation/Semantic-and-Model-Violations-Reference.md +++ b/documentation/Semantic-and-Model-Violations-Reference.md @@ -59,10 +59,12 @@ This document lists the set of automated rules that can be validated against swa | [REMOTE_NOT_VALID](#REMOTE_NOT_VALID) | | | [INVALID_REQUEST_PARAMETER](#INVALID_REQUEST_PARAMETER) | | | [INVALID_RESPONSE_CODE](#INVALID_RESPONSE_CODE) | | +| [INVALID_RESPONSE_BODY](#INVALID_RESPONSE_BODY) | | | [MISSING_REQUIRED_PARAMETER](#MISSING_REQUIRED_PARAMETER) | | | [KEYWORD_TYPE_EXPECTED](#KEYWORD_TYPE_EXPECTED) | | | [READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST](#READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST) | | | [SCHEMA_VALIDATION_FAILED](#SCHEMA_VALIDATION_FAILED) | | +| [DISCRIMINATOR_VALUE_NOT_FOUND](#DISCRIMINATOR_VALUE_NOT_FOUND) | | | [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) | @@ -87,6 +89,9 @@ This document lists the set of automated rules that can be validated against swa | [INTERNAL_ERROR](#INTERNAL_ERROR) | [OAV100](#INTERNAL_ERROR) | | [REQUEST_VALIDATION_ERROR](#REQUEST_VALIDATION_ERROR) | [OAV109](#REQUEST_VALIDATION_ERROR) | | [RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) | [OAV111](#RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE) | +| [ROUNDTRIP_INCONSISTENT_PROPERTY](#ROUNDTRIP_INCONSISTENT_PROPERTY) | | +| [ROUNDTRIP_MISSING_PROPERTY](#ROUNDTRIP_MISSING_PROPERTY) | | +| [ROUNDTRIP_ADDITIONAL_PROPERTY](#ROUNDTRIP_ADDITIONAL_PROPERTY) | | ### Validation Warnings @@ -546,6 +551,15 @@ This document lists the set of automated rules that can be validated against swa **How to fix the violation**: Remove extra response code definition in example or correct it. +### INVALID_RESPONSE_BODY + +**Output Message**:Body is required in response but not provided + +**Description**: Body schema is defined in swagger but body is not found in example or traffic. + +**How to fix the violation**: Add response body. + + ### KEYWORD_TYPE_EXPECTED **Output Message**: Keyword 'type' is expected to be of type 'array,boolean,integer,number,null,object,string'. @@ -611,6 +625,14 @@ This document lists the set of automated rules that can be validated against swa **How to fix the violation**: Provide the requried property in example or remove this property from the required list of the definition in swagger spec. Or add items property if the type is array. +### DISCRIMINATOR_VALUE_NOT_FOUND + +**Output Message**: Discriminator value "{0}" not found + +**Description**: The property used as discriminator has a value {0} but it's not found in swagger spec. + +**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". + ### DISCRIMINATOR_NOT_REQUIRED @@ -780,3 +802,28 @@ This document lists the set of automated rules that can be validated against swa **How to fix the violation**: Remove this definition if it's not used. +### ROUNDTRIP_INCONSISTENT_PROPERTY + +**Output Message**: The property’s value in the GET response is different from what was set in the preceding PUT request. If it is a read-only property, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation. + +**Description**: The property’s value in the GET response is different from what was set in the preceding PUT request. This usually happens when the property is read-only so it's value cannot be changed. It is also possible that the property has a default value, and it is set to that value when a null value is included in the PUT request. + +**How to fix the violation**: If the property is a read-only, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation. + + +### ROUNDTRIP_MISSING_PROPERTY + +**Output Message**: The property is present in the PUT request but is either never returned in the GET response or is returned with a null value. If this is a property that carries a secret such as a password, update the Swagger definition to mark it with the "x-ms-secret": true annotation. + +**Description**: The property is present in the PUT request, but in the subsequent GET response, it is either never returned or is returned with a null value, which means the property is write-only and is likely to carry a secret. + +**How to fix the violation**: Mark the property definition with the "x-ms-secret": true annotation if the property is a secret. + + +### ROUNDTRIP_ADDITIONAL_PROPERTY + +**Output Message**: The property is returned in the GET response, but it is not declared in the PUT request. If it is a read-only property, update the swagger definition for this property to mark it as \"readOnly\": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with \"default\": annotation. + +**Description**: The property was not in the PUT request, but it is returned in the subsequent GET response. This implies that the property is read-only or has a default value. + +**How to fix the violation**: If the property is a read-only, update the swagger definition for this property to mark it as "readOnly": true. Alternatively, keep the property in the GET schema but remove it from the PUT schema. If the property has a default value, update the Swagger definition for this property to mark it with "default": annotation. \ No newline at end of file diff --git a/documentation/code-gen/configure-go-sdk.md b/documentation/code-gen/configure-go-sdk.md new file mode 100644 index 000000000000..b044ee08363f --- /dev/null +++ b/documentation/code-gen/configure-go-sdk.md @@ -0,0 +1,291 @@ +# Readme Configuration Guide for Azure SDK for Go + +This file describe how to configure readme files to make it available for Azure SDK for Go code generation. + +## Common Configuration + +Configure basic package information. + +### Basic Information + +Configure package title/description/tag. +~~~~ +// file: readme.md + +``` yaml +title: xxxxConfigurationClient +description: xxxx Configuration Client +openapi-type: arm +tag: package-xxxx-xx-xx +``` +~~~~ + +### tag + +Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client. +A tag can contains a bunch of swagger files which are used to generate the SDK. + +The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available: +- package-2020-02-03 +- package-2020-03-22-preview +- package-2020-05-03-only + +while the below tag names are invalid names: +- 2020-03-04 +- package-preview-2020-03-04 + +A tag can be configured like below: +~~~~ +// file: readme.md + + +### Tag: package-2019-12-01 + +These settings apply only when `--tag=package-2019-12-01` is specified on the command line. + +``` yaml $(tag) == 'package-2019-12-01' +input-file: +- Microsoft.Compute/stable/2019-12-01/compute.json +- Microsoft.Compute/stable/2019-12-01/runCommands.json +- Microsoft.Compute/stable/2019-12-01/gallery.json +``` +~~~~ + + +## Swagger to SDK + +To make Azure SDK for Go can be generated from the tag, swagger-to-sdk need to be configured: + +~~~ +// file: readme.md + +## 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 + - ... + + +## Go + +See configuration in [readme.go.md](./readme.go.md) +~~~ + +## Go Configuration + +Go dedicated configurations are configured in `readme.go.md`. + +The typical namespace/package-name in azure-sdk-for-go must start with a lower case letter and can only contain lower case letters and numbers. +And the typical output-folder in the azure-sdk-for-go is like `$(typescript-sdk-folder)/services/$(namespace)/mgmt/yyyy-mm-dd/$(namespace)` where the `yyyy-mm-dd` is the version of this package. + +Go SDK supports multi-api by default, therefore you must add a batch section in the `readme.go.md`. + +A typical readme.go.md is like this: +~~~ +// file: readme.go.md + +## 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-2019-12-01 +``` + +### Tag: package-2019-12-01 and go + +These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2019-12-01' && $(go) +namespace: yourservicename +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace) +``` +~~~ + +## Preview package and stable package + +Preview tags and stable tags are defined as the following: + +- A tag is a preview tag when there is at least one input swagger file is preview. +- A tag is a stable tag when all of its swagger files are stable. + +A stable tag generates a stable package in `azure-sdk-for-go`, and its `output-folder` must be in this pattern: +``` +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/yyyy-mm-dd/$(namespace) +``` +The `output-folder` here must not be under the `preview` subdirectory. + +A preview tag generates a preview package in `azure-sdk-for-go`, and its `output-folder` must be in this pattern: +``` +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/yyyy-mm-dd-preview/$(namespace) +``` +The `output-folder` here must be under the `preview` subdirectory. + +These rules must be applied, otherwise the go code generator will throw exceptions. + +## Multi-packages + +The batch is a tag list which are used in the one RP has multi-package scenarios. For example, +the Resources RP has several independent packages like features, lock, policy. +First of all, you need to have different yaml block for each package to define the default tag for that specific package. +~~~ +// file: readme.md +## Configuration + +### Basic Information + +These are the global settings for the Resource API. + +``` yaml +openapi-type: arm +``` + +``` yaml $(package-features) +tag: package-features-2015-12 +``` + +``` yaml $(package-locks) +tag: package-locks-2016-09 +``` + +``` yaml $(package-policy) +tag: package-policy-2019-09 +``` + +``` yaml $(package-resources) +tag: package-resources-2020-06 +``` + +~~~ +Then for each default tag, you can define the input swagger like normal tag. +~~~ + +### Tag: package-features-2015-12 + +These settings apply only when `--tag=package-features-2015-12` is specified on the command line. + +``` yaml $(tag) == 'package-features-2015-12' +input-file: +- Microsoft.Features/stable/2015-12-01/features.json +``` + +### Tag: package-locks-2016-09-preview + +These settings apply only when `--tag=package-locks-2016-09-preview` is specified on the command line. + +``` yaml $(tag) == 'package-locks-2016-09-preview' +input-file: +- Microsoft.Authorization/preview/2016-09-01/locks.json +``` + +### Tag: package-policy-2019-09 + +These settings apply only when `--tag=package-policy-2019-09` is specified on the command line. + +``` yaml $(tag) == 'package-policy-2019-09' +input-file: +- Microsoft.Authorization/stable/2019-09-01/policyAssignments.json +- Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json +- Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json + +# Needed when there is more than one input file +override-info: + title: PolicyClient +``` + +### Tag: package-resources-2020-06 + +These settings apply only when `--tag=package-resources-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-resources-2020-06' +input-file: +- Microsoft.Resources/stable/2020-06-01/resources.json +``` +~~~ + +Finally, in your readme.go.md you should include what packages you want to include in the Azure SDK for Go. +And in each package's section define the default package name output folder in azure-sdk-for-go repo etc. + +~~~ +## 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-features-2015-12 + - tag: package-locks-2016-09-preview + - tag: package-policy-2019-09 + - tag: package-resources-2020-06 +``` + +### Tag: package-features-2015-12 and go + +These settings apply only when `--tag=package-features-2015-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-features-2015-12' && $(go) +namespace: features +output-folder: $(go-sdk-folder)/services/resources/mgmt/2015-12-01-preview/$(namespace) +``` + +### Tag: package-locks-2016-09-preview and go + +These settings apply only when `--tag=package-locks-2016-09-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-locks-2016-09-preview' && $(go) +namespace: locks +output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2016-09-01-preview/$(namespace) +``` + +### Tag: package-policy-2019-09 and go + +These settings apply only when `--tag=package-policy-2019-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-policy-2019-09' && $(go) +namespace: policy +output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-09-01/$(namespace) +``` + +### Tag: package-resources-2020-06 and go + +These settings apply only when `--tag=package-resources-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-resources-2020-06' && $(go) +namespace: resources +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-06-01/$(namespace) +``` +~~~ + + +## Run codegen + +After configure all the readme files, autorest can be used to generate SDK. +~~~ +autorest --go --use="@microsoft.azure/autorest.go@~2.1.156" --multiapi --preview-chk --use-onever --go-sdk-folder=/path/to/azure-sdk-for-go /path/to/azure-rest-api-specs/specification/storage/resource-manager/readme.md +~~~ diff --git a/documentation/code-gen/configure-python-sdk.md b/documentation/code-gen/configure-python-sdk.md index 503f5acb1ec0..ad14782c78e2 100644 --- a/documentation/code-gen/configure-python-sdk.md +++ b/documentation/code-gen/configure-python-sdk.md @@ -86,7 +86,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python // for track1 SDK + - repo: azure-sdk-for-python-track2 // for track2 SDK - ... @@ -226,12 +227,13 @@ After configure all the readme files, autorest can be used to generate SDK. Track1 SDK is based on AutoRest version V2 that's going to be replaced by version V3. ~~~ -autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md +> autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md ~~~ ### Track2 (for latest Autorest) Track 2 is based on the latest AutoRest code generator ~~~ -autorest --python --track2 --use=@autorest/python@5.1.0-preview.4 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md +> autorest --reset +> autorest --python --track2 --use=@autorest/python@5.3.0 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md ~~~ \ No newline at end of file diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md index 27f0278d2e8b..32866c30d025 100644 --- a/documentation/openapi-authoring-automated-guidelines.md +++ b/documentation/openapi-authoring-automated-guidelines.md @@ -140,7 +140,17 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R2007](#r2007) | [LongRunningOperationsWithLongRunningExtension](#r2007) | ARM OpenAPI(swagger) specs | | [R2029](#r2029) | [PageableOperation](#r2029) | ARM and Data plane OpenAPI(swagger) specs | | [R4006](#r4006) | [DeprecatedXmsCodeGenerationSetting](#r4006) | ARM and Data plane OpenAPI(swagger) specs | - +| [R4024](#r4024) | [PreviewVersionOverOneYear](#r4024) | ARM OpenAPI(swagger) specs | + + +### RPaaS Violations + +#### RPaaS Errors + +| Id | Rule Name | Applies to | +| --- | --- | --- | +| [R4023](#r4023) | [RPaasPutLongRunningOperation201Only](#r4023) | ARM OpenAPI(swagger) specs | + ### Documentation #### Documentation Errors @@ -1423,7 +1433,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Applies to** : ARM OpenAPI(swagger) specs -**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData. Model definition '{0}' has extra properties ['{1}']. +**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData, extendedlocation. Model definition '{0}' has extra properties ['{1}']. **Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), top level properties of a resource should be only ones from the allowed set. @@ -1681,7 +1691,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message**: Properties of a PATCH request body must not be {0}. PATCH operation: '{1}' Model Definition: '{2}' Property: '{3}' **Description**: A request parameter of the Patch Operation must not have a required/default value. -But it's allowed when all required properties are marked as discriminator, because the discriminator must be required. +But it's allowed when the only required properties is marked as discriminator, because the discriminator must be required. **CreatedAt** : N/A @@ -1985,7 +1995,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul ### R3021 PathResourceTypeNameCamelCase -**Category** : ARM Warning +**Category** : ARM Error **Applies to** : ARM and Data Plane OpenAPI(swagger) specs @@ -2889,4 +2899,74 @@ The following response is a good example:    }, ... ``` -Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) \ No newline at end of file +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4023 RPaasPutLongRunningOperation201Only + +**Category** : RPaaS Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : [RPaaS] Only 201 is the supported response code for PUT async response + +**Description** : An async PUT operation response include status code 201 with Azure-async-operation header. Must also support status code 200, for simple updates that can be completed synchronously (ex: tags). Operation must also add "x-ms-long-running-operation and x-ms-long-running-operation-options" to describe how the long running operation is tracked. + +**CreatedAt**: August 10, 2020 + +**LastModifiedAt**: August 10, 2020 + +**Why this rule is important**: RPaaS only supports 201 for async operations. This is enforced at runtime via swagger validation. + +**How to fix the violation**: Add the following for async PUT operations. + +The following would be valid: + +```json +... + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MySimpleObject" + } + }, + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/MySimpleObject" + } + }, + "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" + } +... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4024 PreviewVersionOverOneYear + +**Category** : SDK Warning + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The API version:{api-version} having been in a preview state over one year , please move to GA or retire. + +**Description** : Per [Retirement-of-Previews](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37683/Retirement-of-Previews), service, feature, API, and SKU in preview for over one year need to move to GA or retire. + +**CreatedAt**: Sep 8, 2020 + +**LastModifiedAt**: Sep 8, 2020 + +**How to fix the violation**: + Consider retiring or moving to GA. + +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + diff --git a/documentation/samplefiles/readme.azureresourceschema.md b/documentation/samplefiles/readme.azureresourceschema.md new file mode 100644 index 000000000000..819cac202170 --- /dev/null +++ b/documentation/samplefiles/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-yourservicename-YYYY-MM-DD + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-yourservicename-YYYY-MM-DD and azureresourceschema + +``` yaml $(tag) == 'schema-yourservicename-YYYY-MM-DD' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json + +``` diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md index 932353580de4..ba38219f4d3e 100644 --- a/documentation/samplefiles/readme.go.md +++ b/documentation/samplefiles/readme.go.md @@ -23,9 +23,11 @@ These settings apply only when `--tag=package-2019-12-01 --go` is specified on t Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-2019-12-01' && $(go) +# NOTE: a stable tag must not contain any preview swagger files included # NOTE: go namespace can only consist of lower case letters, numbers and underscores namespace: yourservicename # NOTE: for special cases, you can hard code the namespace in the output-folder +# NOTE: the output-folder of a stable tag must not be under the preview subdirectory output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace) ``` @@ -35,8 +37,10 @@ These settings apply only when `--tag=package-2020-07-01-preview --go` is specif Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-2020-07-01-preview' && $(go) +# NOTE: a preview tag must not contain at least one preview swagger file included # NOTE: go namespace can only consist of lower case letters, numbers and underscores namespace: yourservicename # NOTE: a preview api-version must be under the preview sub-directory +# NOTE: the output-folder of a preview tag must be under the preview subdirectory output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) ``` diff --git a/documentation/samplefiles/samplereadme.md b/documentation/samplefiles/samplereadme.md index f76fab965fc8..af02111a6c18 100644 --- a/documentation/samplefiles/samplereadme.md +++ b/documentation/samplefiles/samplereadme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_YourServiceName'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js yourservicename/resource-manager ``` ## Go @@ -77,3 +80,7 @@ See configuration in [readme.typescript.md](https://github.com/Azure/azure-rest- ## CSharp See configuration in [readme.csharp.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.chsarp.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/readme.azureresourceschema.md) diff --git a/documentation/sdkautomation/sdk_customization.md b/documentation/sdkautomation/sdk_customization.md new file mode 100644 index 000000000000..620ed6edfe57 --- /dev/null +++ b/documentation/sdkautomation/sdk_customization.md @@ -0,0 +1,801 @@ +# SDK Automation Customization + +This is the specification of the new SDK Automation customization configuration. +Old customization that hardcoded in sdk automation will still work but this new +approach is preferred. + +## SDK Automation workflow + +### Opened PR Validation Trigger + +SDK Automation is launched with matrix in azure pipeline. For each language configured: + +1. Get the PR merge commit and clone the spec repo on the merge commit. + +2. Get the PR changed file list. For each changed file, find the nearest readme.md in parent folder. Get list of related readme.md. + +3. Filter the list of readme.md with: find the `swagger-to-sdk` section in the readme.md, and see if the specified language is configured for that readme.md. Example of `swagger-to-sdk` in SDK Automation: +``` +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js +``` +``` +If the configured language is not found here, generation for this readme.md will be skipped. + +4. Get `specificationRepositoryConfiguration.json` from spec repo default branch. See [SpecRepoConfig](#specrepoconfig). Get the repo and branch config in the file. + +5. Clone __mainRepository__ and checkout __mainBranch__. If __secondaryRepository__ is specified then checkout __secondaryRepository__ and __secondaryBranch__ instead. + +6. Get `swagger_to_sdk_config.json` from cloned SDK repository. The config file path could be customized by __configFilePath__ in spec config. For the definition of the config see [SwaggerToSdkConfig](#swaggertosdkconfig). + +7. Launch __initScript__ defined in [SwaggerToSdkConfig](#swaggertosdkconfig). All the script's working directory is root folder of cloned SDK repository. + +8. Calculate __PR diff__ and related `readme.md`. If __generationCallMode__ is __one-for-all-configs__ then run ___one pass for the rest steps___, else (__one-per-configs__) ___loop the rest steps___ with each `readme.md`. + +9. Launch __generateScript__ defined in [SwaggerToSdkConfig](#swaggertosdkconfig) with [generateInput.json](#generateinput). The script should produce [generateOutput.json](#generateoutput) if __parseGenerateOutput__ is true. If dryRun is set to true then first run of __generateScript__ will be used to collect package information , then loop each package info and checkout package related branch and launch __generateScript__ with package related readmeMd and dryRun set to false. + +10. Get generated package. If __packageFolderFromFileSearch__ is defined with file search then package folder is detected based on git diff in SDK repository and algorithm described in [SwaggerToSdkConfig Schema](#swaggertosdkconfig-schema). Else package folder is from [generateOutput.json](#generateoutput). For each package ___loop the rest steps___. + +11. Launch __buildScript__ to build the package. Collect the artifacts by config __artifactPathFromFileSearch__. This step could be skipped if it's not defined in [SwaggerToSdkConfig](#swaggertosdkconfig) and it's covered by __generateScript__ and the result could be found in [generateOutput.json](#generateoutput). + +12. Upload all the package related artifacts to Azure Storage Blob Container. All the artifact for one package is uploaded in one folder. These file could be downloaded on URL prefixed by __downloadUrlPrefix__ defined in [InstallInstructionScriptInput](#installinstructionscriptinput). It's redirected by openapiHub by design, and for SDK Automation on public repo the redirect don't need auth, but for SDK Automation in private repo it requires microsoft AAD auth. User could authenticate and download via web page oauth in browser or bearer token auth with `az rest --resource` in command line. + +13. Launch __changelogScript__ to get changelog and detect breaking change. This step could be skipped if changelog and breaking change could be found in [generateOutput.json](#generateoutput). If breaking change is found, the spec PR will be labelled with `CI-BreakingChange-`. + +14. Launch __installInstructionScript__ to get install instruction for that package. This step could be skipped if install instruction could be found in [generateOutput.json](#generateoutput). The lite install instruction will be shown in spec PR comment, the full install instruction will be shown in generated SDK PR. + +15. Commit the package related code in SDK repository. Force push to [GenerationBranch](#generationbranch) in __integrationRepository__. Create or update [GenerationPR](#generationpr) from [GenerationBranch](#generationbranch) to [MainBranch](#mainbranch) in __integrationRepository__. If __integrationRepository__ is a fork of __mainRepository__, its [MainBranch](#mainbranch) should be synced once a day. + +### Continuous Integration (PR Merged) Trigger + +Almost the same as opened PR trigger, with different on step 15: + +15. Commit the package related code in SDK repository. Close [GenerationPR](#generationpr) and delete [GenerationBranch](#generationbranch). Force push to [IntegrationBranch](#integrationbranch) in __integrationRepository__. Create or update [IntegrationPR](#integrationpr) from [IntegrationBranch](#integrationbranch) to [MainBranch](#mainbranch) in __mainRepository__. Close the [integrationPR](#integrationPR) if __closeIntegrationPR__ in [SwaggerToSdkConfig](#swaggertosdkconfig) is set to true. + + +## Definitions + +### SpecRepoConfig +This is type of file `./specificationRepositoryConfiguration.json` in swagger spec repo. + +#### SpecRepoConfig Example +```json +{ + "sdkRepositoryMappings": { + "azure-sdk-for-js": { + "integrationRepository": "AzureSDKAutomation/azure-sdk-for-js", + "mainRepository": "Azure/azure-sdk-for-js" + }, + "azure-sdk-for-python": { + "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", + "mainRepository": "Azure/azure-sdk-for-python", + "mainBranch": "release/v3" + }, + "azure-sdk-for-python-track2": { + "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", + "mainRepository": "Azure/azure-sdk-for-python" + }, + "azure-sdk-for-trenton": { + "integrationRepository": "Azure/azure-sdk-for-trenton", + "mainRepository": "Azure/azure-sdk-for-trenton", + "secondaryRepository": "Azure/azure-sdk-for-trenton", + "secondaryBranch": "secondary" + } + }, + "overrides": { + "Azure/azure-rest-api-specs-pr": { + "sdkRepositoryMappings": { + "azure-sdk-for-js": { + "integrationRepository": "azure-sdk/azure-sdk-for-js-pr", + "mainRepository": "Azure/azure-sdk-for-js-pr" + }, + "azure-sdk-for-python": { + "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", + "mainRepository": "Azure/azure-sdk-for-python-pr", + "mainBranch": "release/v3" + }, + "azure-sdk-for-python-track2": { + "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", + "mainRepository": "Azure/azure-sdk-for-python-pr" + } + } + } + } +} +``` + +#### SpecRepoConfig Schema +``` jsonc +{ + "type": "object", + "properties": { + "sdkRepositoryMappings": { + // A mapping of SDK repository names to the names of the SDK repositories + // that all interaction should go to instead. + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/SdkRepositoryConfig" + }, + "propertyNames": { + // The property name is the sdk name identifier. + "type": "string" + } + }, + "overrides": { + // Override config for specific repository. + "type": "object", + "additionalProperties": { + "$ref": "#/" + }, + "propertyNames": { + // The property name is the sdk repo ref. + "$ref": "#/definitions/RepositoryName" + } + }, + "required": [ + "sdkRepositoryMappings" + ] + }, + "definitions": { + "RepositoryName": { + // Reference to a repository on github. Could be or /. + // By default the is the same as the owner of the spec repo. + "type": "string" + }, + "SdkRepositoryConfig": { + "type": "object", + "properties": { + "mainRepository": { + // The repository that the final release PR will targeting. + "$ref": "#/definitions/RepositoryName" + }, + "mainBranch": { + // Base branch of codegen branches + "default": "master", + "type": "string" + }, + "integrationRepository": { + // The repository that hold generation branch, generation PR and integration branch. + // By default it's the same as mainRepository + "$ref": "#/definitions/RepositoryName" + }, + "secondaryRepository": { + // Codegen runs on this repository. + // By default it's the same as 'mainRepository' but it could be different. + "$ref": "#/definitions/RepositoryName" + }, + "secondaryBranch": { + // Codegen runs on this branch on secondaryRepository. + // By default it's the same as 'mainBranch' but it could be different. + "type": "string" + }, + "integrationBranchPrefix": { + // The prefix that will be applied to the beginning of integration branches + "type": "string", + "default": "sdkAutomation" + }, + "configFilePath": { + // Path to swagger-to-sdk config in sdk repo + "default": "swagger_to_sdk_config.json" + } + }, + "required": [ + "mainRepository" + ] + } + } +} +``` + +### SwaggerToSdkConfig +This is type of file `./swagger_to_sdk_config.json` in sdk repo. +The running environment of these scripts would be expected to be __Ubuntu 18.04__ on Azure Pipeline. This may change in the future. All the running script should be executable. +The working folder of all the scripts is the __root folder of sdk repo__. + +#### SwaggerToSdkConfig Example +``` jsonc +{ + "advancedOptions": { + "createSdkPullRequests": true, + "generationCallMode": "one-for-all-configs" + }, + "initOptions": { + "initScript": { + "path": "./eng/tools/sdk_init" + } + }, + "generateOptions": { + // Param: + // generateInput.json: See #GenerateInput . + // generateOutput.json: See #GenerateOutput . + "generateScript": { + "path": "./eng/tools/sdk_generate", + "stderr": { + "showInComment": true + }, + "stdout": { + // Show logs start with "[Autorest]" in PR comment. + "showInComment": "^\\[Autorest\\]" + } + }, + + "parseGenerateOutput": true + }, + "packageOptions": { + // Param: + "buildScript": { + "path": "./eng/tools/sdk_package", + "stderr": { + // Everything in stderr will show in comment and mark package with warning. + "showInComment": true, + "scriptWarning": true + }, + "exitCode": { + // If exit code is not zero, mark package with warning instead of error. + "result": "warning" + } + }, + + // Param: + "changelogScript": { + "path": "./eng/tools/sdk_breaking_change", + "breakingChangeDetect": "Breaking Change" + } + }, + "artifactOptions": { + // Param: + // installInstructionInput.json: See #InstallInstructionScriptInput . + // installInstructionOutput.json: See #InstallInstructionScriptOutput . + "installInstructionScript": { + "path": "./eng/tools/sdk_install_instruction" + } + } +} +``` + +#### SwaggerToSdkConfig Schema +``` jsonc +{ + "type": "object", + "properties": { + "advancedOptions": { + // To keep backward compatibility, but will not list schema for old config options. + "properties": { + "createSdkPullRequests": { + // Should SDK Automation create PR or not. + "type": "boolean", + "default": true + }, + "closeIntegrationPR": { + // Should SDK Automation close integrationPR to reduce noise. + "type": "boolean", + "default": true + }, + "generationCallMode": { + // If we have multiple related readme.md, should we call generation once with + // all the readme.md or should we call generation multiple times and one per readme.md. + "type": "string", + "enum": [ + "one-per-config", + "one-for-all-configs" + ], + "default": "one-for-all-configs" + } + } + }, + "initOptions": { + // Init the environment. Install dependencies. + "type": "object", + "properties": { + "initScript": { + // Script to init. + "$ref": "#/definitions/RunOptions" + } + }, + "required": [ + "initScript" + ] + }, + "generateOptions": { + // Generate the SDK code. + "type": "object", + "properties": { + "generateScript": { + // Script to generate the SDK code. + // Param: + // generateInput.json: See #GenerateInput + // generateOutput.json: See #GenerateOutput + "$ref": "#/definitions/RunOptions" + }, + "preprocessDryRunGetPackageName": { + // If this options is set to true, generateScript will first run with + // "dryRun": true to get package name and related readme.md, + // then for each package, checkout the expected branch and launch generateScript. + "type": "boolean", + "default": false + }, + "parseGenerateOutput": { + // Will this script output to generateOutput.json. + // If not, default behavior will be applied that outcome will be + // detected automatically based on filename regex search. + "type": "boolean", + "default": true + } + }, + "required": [ + "generateScript" + ] + }, + "packageOptions": { + // Get package folder and build / get changelog + "type": "object", + "properties": { + "packageFolderFromFileSearch": { + "oneOf": [ + { + // If this option is set to object, then package folder will be detected automatically. + // based on filename regex search. + // This options must be set to object if parseGenerateOutput is false. + "type": "object", + "properties": { + "searchRegex": { + // Search algorithm: + // For each changed file detected after generation + // PotentialPackageFolder = folder of changed file + // While PotentialPackageFolder is not root folder of sdk repo: + // If PotentialPackageFolder contains a file that matches the searchRegex: + // PackageFolder found, break + // Else: + // PotentialPackageFolder = parent folder of PotentialPackageFolder + "type": "string", + "format": "regex" + }, + "pageNamePrefix": { + // Prefix to be appended to packageName. By default packageName will be the folder name of packageFolder + "type": "string" + } + }, + "required": [ + "searchRegex" + ] + }, + { + // If this option is set to false, then package folder will be from generateOutput.json. + "const": false + } + ], + "default": false, + }, + "buildScript": { + // Build the generated sdk. + // Param: + // Package folder could be a list separated by space if it's from generateOutput.json. + "$ref": "#/definitions/RunOptions" + }, + "changelogScript": { + // Changelog generation and breaking-change detection. + // Param: + // Package folder could be a list separated by space if it's from generateOutput.json. + // Expected output from stdout/stderr: Changelog in markdown + "allOf": { + "$ref": "#/definitions/RunOptions" + }, + "properties": { + "breakingChangeDetect": { + // If stdout or stderr matches this in output of changelog tool + // then we assume this SDK has breaking change. + "$ref": "#/definitions/RunLogFilterOptions" + } + } + } + } + }, + "artifactOptions": { + "artifactPathFromFileSearch": { + "oneOf": [ + { + // If this option is set to object, then artifacts will be detected automatically + // based on filename regex search. + // This options must be set to object if parseGenerateOutput is false. + "type": "object", + "properties": { + "searchRegex": { + // Any file under package folder matching the searchRegex is package artifact. + "type": "string", + "format": "regex", + } + } + }, + { + // If this option is set to false, then package folder will be from generateOutput.json + "const": false + } + ], + "default": false + }, + "installInstructionScript": { + // Generate install instruction that could be shown in spec PR comment (lite version) + // or in generated SDK PR (full version). + // If generateOutput.json contains installInstruction then this could be skipped. + // Param: + // installInstructionInput.json: See #InstallInstructionScriptInput . + // installInstructionOutput.json: See #InstallInstructionScriptInput . + "allOf": { + "$ref": "#/definitions/RunOptions" + } + } + } + }, + "definitions": { + "RunOptions": { + // Options to run a script and collect log. + "type": "object", + "properties": { + "path": { + // Script path related to repo root + "type": "string" + }, + "logPrefix": { + // Prefix to be added to SDK Automation log. By default it would be filename of the script. + "type": "string" + }, + "stdout": { + // How should SDK Automation handle the script stdout stream + "$ref": "#/definitions/RunLogOptions" + }, + "stderr": { + // How should SDK Automation handle the script stderr stream + "$ref": "#/definitions/RunLogOptions" + }, + "exitCode": { + // How should SDK Automation handle non-zero exitCode. + "showInComment": { + // Should we show this error in comment. + "type": "boolean", + "default": true + }, + "result": { + // If script has non-error exitCode how should we mark the script's result. + "type": "string", + "enum": [ + "error", "warning", "ignore" + ], + "default": "error" + } + }, + "required": [ + "path" + ] + } + }, + "RunLogOptions": { + // How should SDK Automation handle the log stream. + "showInComment": { + // Should we show this stream in comment. + "$ref": "#/definitions/RunLogFilterOptions" + }, + "scriptError": { + // If any line match, assume the script fails. + "$ref": "#/definitions/RunLogFilterOptions" + }, + "scriptWarning": { + // If any line match, assume the script warns. + "$ref": "#/definitions/RunLogFilterOptions" + } + }, + "RunLogFilterOptions": { + "oneOf": [ + { + // If line of log match this regex then hit + "type": "string", + "format": "regex" + }, + { + // If set to true, any line of log will hit + "type": "boolean" + } + ], + "default": false + } + } +} +``` + +### GenerateInput + +Input file for generate script. + +#### GenerateInput Example + +```jsonc +{ + "dryRun": false, + "specFolder": "/z/work/azure-rest-api-specs", + "headSha": "fce3400431eff281bddd04bed9727e63765b8da0", + "headRef": "refs/pull/1234/merge", + "repoHttpsUrl": "https://github.com/Azure/azure-rest-api-specs.git", + "trigger": "pull_request", + "changedFiles": [ + "specification/cdn/something/cdn.json" + ], + "relatedReadmeMdFiles": [ + "specification/cdn/something/readme.md" + ] +} +``` + +#### GenerateInput Schema + +```jsonc +{ + "type": "object", + "properties": { + "dryRun": { + // If dryRun is true, generateScript is expected to parse readme.md + // and output the package list with package name and related readme.md. + // Should not run codegen at this time. + "type": "boolean" + }, + "specFolder": { + // Path to local spec folder. + "type": "string" + }, + "headSha": { + // Git head sha. + "type": "string" + }, + "headRef": { + // Git head ref. + // Format will be "refs/pull//merge" or "refs/heads/". + "type": "string" + }, + "repoHttpsUrl": { + // Spec repo url in https without auth. + "type": "string" + }, + "trigger": { + // How this generation is triggered. + "type": "string", + "enum": [ + "pullRequest", + "continuousIntegration" + ] + }, + "changedFiles": { + // Changed file list in spec PR. + "type": "array", + "items": { + "type": "string" + } + }, + "relatedReadmeMdFiles": { + // Related readme.md files that pending generation. + "type": "array", + "items": { + "type": "string" + } + }, + "installInstructionInput": { + // See #InstallInstructionScriptInput + "$ref": "#/definitions/InstallInstructionScriptInput" + } + }, + "required": [ + "specFolder", "headSha", "headRef", "repoHttpsUrl", + "trigger", "changedFiles", "relatedReadmeMdFiles" + ] +} +``` + +### GenerateOutput + +Output file for generate script. + +#### GenerateOutput Example + +```jsonc +{ + "packages": [ + { + "packageName": "Microsoft.Cdn", + "path": [ + "sdk/cdn" + ], + "readmeMd": [ + "specification/cdn/something/readme.md" + ], + "changelog": { + "content": "Feature: something \n Breaking Changes: something\n", + "hasBreakingChange": true + }, + "artifacts": [ + "sdk/cdn/cdn.nuget", + "sdk/cdn/cdn.snuget" + ], + "installInstructions": { + "full": "To install something...", + "lite": "dotnet something" + }, + "result": "success" + } + ] +} +``` + +#### GenerateOutput Schema + +```jsonc +{ + "type": "object", + "properties": { + "packages": { + "type": "array", + "items": { + "$ref": "#/definitions/PackageResult" + } + } + }, + "required": [ + "packages" + ], + "definitions": { + "PackageResult": { + "properties": { + "packageName": { + // Name of package. Will be used in branch name and PR title. + // By default it's folder name of first entry in path. + "type": "string", + }, + "path": { + // List of package content paths. + // If the path points to a folder then + // all the content under the folder will be included. + "type": "array", + "items": { + "type": "string" + } + }, + "readmeMd": { + // List of related readmeMd of this package. + // Must provide this field if dryRun is true. + "type": "array", + "items": { + "type": "string" + } + }, + "changelog": { + "type": "object", + "properties": { + "content": { + // Content of changelog in markdown + "type": "string" + }, + "hasBreakingChange": { + // Does the new package has breaking change + "type": "boolean" + } + }, + "required": [ + "content" + ] + }, + "artifacts": { + "type": "array", + "items": { + "type": "string" + } + }, + "installInstructions": { + // See #InstallInstructionScriptOutput + "$ref": "#/definitions/InstallInstructionScriptOutput" + }, + }, + "required": [ + "path" + ] + } + } +} +``` + +### InstallInstructionScriptInput + +Input of install instruction script. + +#### InstallInstructionScriptInput Example + +```jsonc +{ + "packageName": "Microsoft.Cdn", + "artifacts": [ + "sdk/cdn/cdn.nuget", + "sdk/cdn/cdn.snuget" + ], + "isPublic": true, + "downloadUrlPrefix": "https://portal.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/azure-rest-api-specs/1234/azure-sdk-for-net/", + "downloadCommandTemplate": "curl -L \"{URL}\" -o {FILENAME}", + "trigger": "pullRequest", +} +``` + +#### InstallInstructionScriptInput Schema + +```jsonc +{ + "type": "object", + "properties": { + "packageName": { + // The package name. May be skipped if sdk automation don't know the info yet. + "type": "string" + }, + "artifacts": { + // List of artifact's path. May be skipped if sdk automation don't know the info yet. + "type": "array", + "items": { + "type": "string" + } + }, + "isPublic": { + // Is the download url public accessible. + // If it's false, the download command template will be + // az rest --resource -u "{URL}" --output-file {FILENAME} + "type": "boolean", + }, + "downloadUrlPrefix": { + // All the artifacts will be uploaded and user could access the artifact via + // a link composed by this prefix and artifact filename. + "type": "string" + }, + "downloadCommandTemplate": { + // Download command template. Replace {URL} and {FILENAME} to get the real command. + "type": "string" + }, + "trigger": { + "type": "string", + "enum": [ + "pullRequest", + "continuousIntegration" + ] + } + } +} +``` + +### InstallInstructionScriptOutput + +Output of install instruction script. + +#### InstallInstructionScriptOutput Example + +```jsonc +{ + "full": "To install something...", +} +``` + +#### InstallInstructionScriptOutput Schema + +```jsonc +{ + "type": "object", + "properties": { + "full": { + // Full version of install instruction will be shown in generated SDK PR. + // Should be in markdown format. + "type": "string" + }, + "lite": { + // Lite version of install instruction will be shown in generated SDK PR. + // Should be in markdown format. + "type": "string" + } + }, + "required": [ + "full" + ] +} +``` diff --git a/package-lock.json b/package-lock.json index 4404c0fc521a..8a7cfb56e070 100644 --- a/package-lock.json +++ b/package-lock.json @@ -382,7 +382,7 @@ "@ts-common/commonmark-to-markdown": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-1.2.0.tgz", - "integrity": "sha512-xFWpGZN1XzWN0egRs6gcT+tgYYw57us/Xr9euoaTsi9N+UR9ZxnG8Mrt4K/KlB54dNIED/LaGxReqRM5L7tKZA==", + "integrity": "sha1-Gy257ada2oNjbwcopc3sic0D08M=", "dev": true, "requires": { "@ts-common/iterator": "^0.3.0", @@ -408,7 +408,7 @@ "@ts-common/fs": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@ts-common/fs/-/fs-0.2.0.tgz", - "integrity": "sha512-ul1v4ZatcHuAzrwr/hGjSbk37pnfnLYDWC1yMEynQlnV8ndAcIVNYwQPPOYtLADPKTi3y74g5Q4BF3xPurDHLA==", + "integrity": "sha1-FMvf3smooaVjKNr1Ztm8k7iJgrk=", "dev": true, "requires": { "@ts-common/async-iterator": "^0.2.0", @@ -419,7 +419,7 @@ "@ts-common/iterator": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-0.3.6.tgz", - "integrity": "sha512-nNdcleTj3qLlchH17HI/xqOc6sNgOqJ5DdRR0nOEVdJVZCo5bfqoQTu6+Q9ZwMhuETuR2d86MSlmaL2FVHnPjQ==", + "integrity": "sha1-/6FLXYkTxIMKXSMdPssHXQLKfm0=", "dev": true }, "@ts-common/json": { @@ -540,7 +540,7 @@ "@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=", "dev": true }, "@types/node": { @@ -1769,9 +1769,9 @@ } }, "dot-prop": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz", - "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -3008,7 +3008,7 @@ "json-schema-ref-parser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz", - "integrity": "sha512-pXe9H1m6IgIpXmE5JSb8epilNTGsmTb2iPohAXpOdhqGFbQjNeHHsZxU+C8w6T81GZxSPFLeUoqDJmzxx5IGuw==", + "integrity": "sha1-MK80rqtb7gQx2oBdrA6yG1dL9j0=", "dev": true, "requires": { "call-me-maybe": "^1.0.1", @@ -3717,9 +3717,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "node-object-hash": { @@ -4430,7 +4430,7 @@ "prettier": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", "dev": true }, "process-nextick-args": { @@ -5380,7 +5380,7 @@ "typescript": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", + "integrity": "sha1-yDD2V/k/HqhGgZ6SkJL1/lmD6Xc=", "dev": true }, "uglify-js": { diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml index 56c9816bf51f..6b0e571283a1 100644 --- a/preproduction-azure-pipelines.yml +++ b/preproduction-azure-pipelines.yml @@ -16,7 +16,6 @@ variables: PREPRODUCTION_PIPELINE: "true" jobs: - - template: .azure-pipelines/BreakingChange.yml - template: .azure-pipelines/ModelValidation.yml - template: .azure-pipelines/LintDiff.yml - template: .azure-pipelines/Avocado.yml diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json new file mode 100644 index 000000000000..4ba660dc88c7 --- /dev/null +++ b/profile/2020-09-01-hybrid.json @@ -0,0 +1,606 @@ +{ + "info": { + "name": "2020-09-01-hybrid", + "description": "Profile definition targeted for hybrid applications that could run on azure stack general availability version and azure cloud for 2010." + }, + "resource-manager": { + "microsoft.authorization": { + "2016-09-01": [ + { + "resourceType": "locks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-09-01/locks.json" + } + ], + "2016-12-01": [ + { + "resourceType": "policyAssignments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json" + }, + { + "resourceType": "policyDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json" + } + ], + "2015-07-01": [ + { + "resourceType": "permissions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "roleAssignments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "roleDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "providerOperations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + } + ] + }, + "microsoft.commerce": { + "2015-06-01-preview":[ + { + "resourceType": "estimateResourceSpend", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "subscriberUsageAggregates", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "usageAggregates", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + } + ] + }, + "microsoft.compute": { + "2020-06-01": [ + { + "resourceType": "availabilitySets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "images", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/publishers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/vmSizes", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachines", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachines/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualmachineScaleSets/networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + } + ], + "2019-07-01": [ + { + "resourceType": "disks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json" + }, + { + "resourceType": "snapshots", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json" + } + ] + }, + "microsoft.databoxedge":{ + "2019-08-01": [ + { + "resourceType": "dataBoxEdgeDevices", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + }, + { + "resourceType": "dataBoxEdgeDevices/checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + } + ] + }, + "microsoft.devices": { + "2019-07-01-preview":[ + { + "resourceType": "usages", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations/quotas", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations/skus", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "operationResults", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "IotHubs", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "backupProviders", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "backupProviders/operationResults", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + } + ] + }, + "microsoft.eventhubs": { + "2018-01-01-preview": [ + { + "resourceType": "availableClusterRegions", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json" + }, + { + "resourceType": "clusters", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json" + }, + { + "resourceType": "namespaces", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json" + } + ], + "2017-04-01": [ + { + "resourceType": "checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json" + }, + { + "resourceType": "namespaces/authorizationRules", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json" + }, + { + "resourceType": "namespaces/eventhubs", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json" + }, + { + "resourceType": "namespaces/eventhubs/authorizationRules", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json" + }, + { + "resourceType": "namespaces/eventhubs/consumerGroups", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json" + }, + { + "resourceType": "sku", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json" + } + ] + }, + "microsoft.insights": { + "2018-01-01": [ + { + "resourceType": "metricDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json" + }, + { + "resourceType": "metrics", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json" + } + ], + "2017-05-01-preview": [ + { + "resourceType": "diagnosticSettings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json" + }, + { + "resourceType": "diagnosticSettingCategories", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json" + } + ], + "2015-04-01": [ + { + "resourceType": "eventCategories", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json" + } + ] + }, + "microsoft.keyvault": { + "2019-09-01": [ + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/providers.json" + }, + { + "resourceType": "vaults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json" + }, + { + "resourceType": "vaults/accessPolicies", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json" + }, + { + "resourceType": "vaults/secrets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/secrets.json" + } + ] + }, + "microsoft.network": { + "2018-11-01": [ + { + "resourceType": "connections", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "loadBalancers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json" + }, + { + "resourceType": "localNetworkGateways", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/operationResults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json" + }, + { + "resourceType": "networkSecurityGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json" + }, + { + "resourceType": "publicIpAddresses", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json" + }, + { + "resourceType": "routeTables", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json" + }, + { + "resourceType": "virtualNetworkGateways", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "virtualNetworks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json" + } + ], + "2016-04-01": [ + { + "resourceType": "dnsZones", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/stable/2016-04-01/dns.json" + } + ] + }, + "microsoft.resources": { + "2016-06-01": [ + { + "resourceType": "subscriptions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json" + }, + { + "resourceType": "subscriptions/locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json" + }, + { + "resourceType": "tenants", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json" + } + ], + "2019-10-01": [ + { + "resourceType": "deployments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "deployments/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "links", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "providers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "resourceGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/operationresults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/providers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/resourceGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/resourceGroups/resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/tagNames", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + }, + { + "resourceType": "subscriptions/tagNames/tagValues", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json" + } + ] + }, + "microsoft.storage": { + "2019-06-01": [ + { + "resourceType": "checkNameAvailability", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "locations/quotas", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/blobServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/queueServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/tableServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + } + ] + }, + "microsoft.web": { + "2018-02-01": [ + { + "resourceType": "certificates", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Certificates.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "checknameavailability", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json" + }, + { + "resourceType": "metadata", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/domainOwnershipIdentifiers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/hostNameBindings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/instances", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/instances/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/hostNameBindings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/instances", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/instances/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "serverFarms", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + } + ], + "2016-09-01": [ + { + "resourceType": "serverFarms/metricDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + }, + { + "resourceType": "serverFarms/metrics", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + }, + { + "resourceType": "serverFarms/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + } + ], + "2016-03-01": [ + { + "resourceType": "availableStacks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Provider.json" + }, + { + "resourceType": "deploymentLocations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "georegions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "listSitesAssignedToHostName", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "publishingUsers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "recommendations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Recommendations.json" + }, + { + "resourceType": "sourceControls", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "validate", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + } + ] + } + }, + "data-plane": { + "microsoft.keyvault": { + "2016-10-01": [ + { + "resourceType": "*", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json" + } + ] + }, + "microsoft.storage": { + "resourceType": "*", + "2019-07-07": [] + } + } +} \ No newline at end of file diff --git a/scripts/breaking-change.ts b/scripts/breaking-change.ts deleted file mode 100644 index b79c27007b1a..000000000000 --- a/scripts/breaking-change.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License in the project root for license information. - -import * as scripts from '@azure/rest-api-specs-scripts' - -// magic starts here -scripts.breakingChange().then(() => { - console.log(`Thanks for using breaking change tool to review.`); - console.log(`If you encounter any issue(s), please open issue(s) at https://github.com/Azure/openapi-diff/issues .`); -}).catch(err => { - console.log(err); - process.exitCode = 1; -}) diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts index 56d169adeb42..caed08c5e71e 100644 --- a/scripts/multiapi.ts +++ b/scripts/multiapi.ts @@ -12,15 +12,14 @@ type Code = { readonly "input-file"?: ReadonlyArray|string } const magic = `yaml $(tag) == 'all-api-versions' /* autogenerated */`; -const header = `## Multi-API/Profile support for AutoRest v3 generators`; +const pathRegex = /microsoft\.(\w+)[\\\/]\S*[\\\/](\d{4}-\d{2}-\d{2}(|-preview))[\\\/]/i; - -const main = async (specificationDir: string, profilesDir: string) => { +const main = async (specificationDir: string) => { try { const list = fs.recursiveReaddir(specificationDir) for await (const file of list) { const f = path.parse(file) - if (f.base === "readme.md") { + if (f.base === "readme.md" && f.dir.endsWith('resource-manager')) { const original_content = (await fs.readFile(file)).toString() let content = original_content; const readMe = cm.parse(content) @@ -36,70 +35,68 @@ const main = async (specificationDir: string, profilesDir: string) => { if (DOC ) { const y = DOC['input-file'] if (typeof y === "string") { - set.add(`$(this-folder)/${y}`) + set.add(y) } else if (it.isArray(y)) { for (const i of y) { - set.add(`$(this-folder)/${i}`) + set.add(i) } } } - } } - if( !content.includes(header) ) { - // add the header to the content - content = content + ` -${header} + let map = new Map(); + for (let input of set) { + let match = pathRegex.exec(input); + if (!!match) { + let tagName = `schema-${match[1].toLowerCase()}-${match[2]}`; + if (!map.has(tagName)) { + map.set(tagName, []); + } + let array = map.get(tagName); + if (!!array) { + array.push(input); + } + } + } + map = new Map(Array.from(map.entries()).sort().reverse()); + let schemaReadmeContent = +`## AzureResourceSchema -AutoRest V3 generators require the use of \`--tag=all-api-versions\` to select api files. +These settings apply only when \`--azureresourceschema\` is specified on the command line. -This block is updated by an automatic script. Edits may be lost! +### AzureResourceSchema multi-api -\`\`\` ${magic} +\`\`\` yaml $(azureresourceschema) && $(multiapi) +${yaml.dump({ 'batch': it.toArray(it.map(map.keys(), (tagName) => ({'tag': tagName})))}, { lineWidth: 1000})} \`\`\` -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. +Please also specify \`--azureresourceschema-folder=\`. +` + map.forEach((inputList, tagName) => { + schemaReadmeContent += +` +### Tag: ${tagName} and azureresourceschema + +\`\`\` yaml $(tag) == '${tagName}' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas -\`\`\` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +# all the input files in this apiVersion +${yaml.dump({ 'input-file': it.toArray(inputList)}, { lineWidth: 1000})} \`\`\` - ` - } - // update the autogenrated block with the new content. - /* const readMeMulti = cm.createNode( - "document", - cm.createNode( - "heading", - cm.createText("# Multi-API/Profile support for AutoRest v3 generators") - ), - cm.createCodeBlock( - magic, - yaml.dump({ "input-file": it.toArray(set), "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 }) - ) - ) - const block1 =cm.markDownExToString({ markDown: cm.createCodeBlock( - magic, - yaml.dump({ - "input-file": it.toArray(set), - "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 }) - )});*/ - const block = -`\`\`\` ${magic} -# include the azure profile definitions from the standard location -require: $(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md + }); -# all the input files across all versions -${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )} -\`\`\`` - content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, block) + // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, '') + // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions'[\S\s]*?```/g, '') + // content = content.replace( /## Multi-API\/Profile support for AutoRest v3 generators[\S\s]*/g, '') - if(original_content !== content ){ - console.log(`Updating: ${file}`); - fs.writeFile(path.join(f.dir, "readme.md"), content) - } + // if(original_content !== content ){ + // console.log(`Updating: ${file}`); + // fs.writeFile(path.join(f.dir, "readme.md"), content) + // } + + console.log(`Rewriting: ${f.dir}/readme.azureresourceschema.md`); + fs.writeFile(path.join(f.dir, "readme.azureresourceschema.md"), schemaReadmeContent); } } @@ -108,4 +105,4 @@ ${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )} } } -main(path.join(process.cwd(), "specification"), path.join(process.cwd(), "profiles")) +main(path.join(process.cwd(), "specification")) diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b91b439d843d --- /dev/null +++ b/specification/EnterpriseKnowledgeGraph/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-enterpriseknowledgegraph-2018-12-03 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-enterpriseknowledgegraph-2018-12-03 and azureresourceschema + +``` yaml $(tag) == 'schema-enterpriseknowledgegraph-2018-12-03' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json + +``` diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md index 18d7c396724d..f829ac9dfbb7 100644 --- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md +++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md @@ -75,6 +75,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js EnterpriseKnowledgeGraph/resource-manager ``` ## C# @@ -91,27 +94,7 @@ csharp: clear-output-folder: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/addons/resource-manager/readme.azureresourceschema.md b/specification/addons/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ae05babd8222 --- /dev/null +++ b/specification/addons/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-addons-2018-03-01 + - tag: schema-addons-2017-05-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-addons-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-addons-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Addons/preview/2018-03-01/addons-swagger.json + +``` + +### Tag: schema-addons-2017-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-addons-2017-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Addons/preview/2017-05-15/Addons.json + +``` diff --git a/specification/addons/resource-manager/readme.md b/specification/addons/resource-manager/readme.md index 50f7283f8527..324507aa8113 100644 --- a/specification/addons/resource-manager/readme.md +++ b/specification/addons/resource-manager/readme.md @@ -50,6 +50,17 @@ 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-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js addons/resource-manager +``` --- ## C# @@ -182,28 +193,7 @@ 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 +## AzureResourceSchema -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Addons/preview/2018-03-01/addons-swagger.json - - $(this-folder)/Microsoft.Addons/preview/2017-05-15/Addons.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1160a311964b --- /dev/null +++ b/specification/adhybridhealthservice/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-adhybridhealthservice-2014-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-adhybridhealthservice-2014-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-adhybridhealthservice-2014-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ADHybridHealthService\stable\2014-01-01\ADHybridHealthService.json + +``` diff --git a/specification/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md index 5628efb7da58..33c75ef311d4 100644 --- a/specification/adhybridhealthservice/resource-manager/readme.md +++ b/specification/adhybridhealthservice/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js adhybridhealthservice/resource-manager ``` @@ -94,27 +97,7 @@ 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 +## AzureResourceSchema -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.ADHybridHealthService\stable\2014-01-01\ADHybridHealthService.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json new file mode 100644 index 000000000000..eb9395934bae --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json @@ -0,0 +1,1040 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-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/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, + "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, + "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": { + "Tags": { + "description": "Resource tags", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + } + }, + "Account": { + "description": "An ADP account.", + "type": "object", + "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": { + "description": "An ADP account.", + "type": "object", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Tags" + } + ] + }, + "AccountProperties": { + "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": { + "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." + } + }, + "description": "The list operation response, that contains the data pools and their properties." + }, + "DataPool": { + "description": "An ADP Data Pool.", + "properties": { + "properties": { + "description": "List of data pool properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataPoolProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "DataPoolPatch": { + "description": "An ADP Data Pool.", + "properties": { + "properties": { + "description": "List of data pool properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataPoolBaseProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "DataPoolBaseProperties": { + "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" + }, + "minItems": 1, + "description": "Gets or sets the collection of locations where Data Pool resources should be created." + } + } + }, + "DataPoolProperties": { + "description": "Data Pool properties", + "allOf": [ + { + "$ref": "#/definitions/DataPoolBaseProperties" + } + ], + "required": [ + "locations" + ] + }, + "DataPoolLocation": { + "description": "Location of a Data Pool", + "properties": { + "name": { + "description": "The location name", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "DataPoolList": { + "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": { + "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", + "x-ms-client-flatten": true + } + } + }, + "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": "Additional details about an operation.", + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "serviceSpecification": { + "description": "Details about a service operation.", + "$ref": "#/definitions/OperationServiceSpecification" + } + } + }, + "OperationServiceSpecification": { + "description": "Details about a service operation.", + "type": "object", + "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": { + "description": "Details about an operation related to logs.", + "type": "object", + "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": { + "description": "Details about an operation related to metrics.", + "type": "object", + "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": { + "description": "Defines how often data for a metric becomes available.", + "type": "object", + "properties": { + "timeGrain": { + "description": "The granularity for the metric.", + "type": "string" + }, + "blobDuration": { + "description": "Blob created in the customer storage account, per hour.", + "type": "string" + } + } + }, + "OperationListResult": { + "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": { + "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 + }, + "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-z0-9]+(-[a-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-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json new file mode 100644 index 000000000000..f56df2a354f3 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2020-07-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json new file mode 100644 index 000000000000..b26fb2fd4abb --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpAccountPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPatch.json new file mode 100644 index 000000000000..52f5a7518d75 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPatch.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpAccountPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPut.json new file mode 100644 index 000000000000..2eb9a55173d3 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpAccountsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsList.json new file mode 100644 index 000000000000..ec1224c955e4 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json new file mode 100644 index 000000000000..d3a341af516f --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpAccountsListByResourceGroup.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpDataPoolDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolDelete.json new file mode 100644 index 000000000000..ea2ac77d762c --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2020-07-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json new file mode 100644 index 000000000000..6be7714e47a0 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpDataPoolPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPatch.json new file mode 100644 index 000000000000..3e1343f70936 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPatch.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpDataPoolPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPut.json new file mode 100644 index 000000000000..3e1343f70936 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolPut.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "dataPoolName": "sampledp", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpDataPoolsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolsList.json new file mode 100644 index 000000000000..61c1d13a4930 --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpDataPoolsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "adpClient", + "api-version": "2020-07-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/2020-07-01-preview/examples/AdpOperationsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpOperationsList.json new file mode 100644 index 000000000000..e2f05ce8376f --- /dev/null +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/examples/AdpOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-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.az.md b/specification/adp/resource-manager/readme.az.md new file mode 100644 index 000000000000..ad394bde867b --- /dev/null +++ b/specification/adp/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: adp + namespace: azure.mgmt.adp + package-name: azure-mgmt-adp +az-output-folder: $(azure-cli-extension-folder)/src/adp +python-sdk-output-folder: "$(az-output-folder)/azext_adp/vendored_sdks/adp" +``` diff --git a/specification/adp/resource-manager/readme.azureresourceschema.md b/specification/adp/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a641baec289a --- /dev/null +++ b/specification/adp/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-adp-2020-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-adp-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-adp-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json + +``` diff --git a/specification/adp/resource-manager/readme.cli.md b/specification/adp/resource-manager/readme.cli.md new file mode 100644 index 000000000000..bd1ae237a340 --- /dev/null +++ b/specification/adp/resource-manager/readme.cli.md @@ -0,0 +1,6 @@ +## CLI + +These settings don't need to apply `--cli` on the command line. + +``` yaml +``` diff --git a/specification/adp/resource-manager/readme.csharp.md b/specification/adp/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..5ed6552b1f8c --- /dev/null +++ b/specification/adp/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.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 new file mode 100644 index 000000000000..428c70e15dbb --- /dev/null +++ b/specification/adp/resource-manager/readme.go.md @@ -0,0 +1,19 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: adp + clear-output-folder: true +``` + +### 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) +output-folder: $(go-sdk-folder)/services/preview/adp/mgmt/2019-07-01-preview +``` diff --git a/specification/adp/resource-manager/readme.md b/specification/adp/resource-manager/readme.md new file mode 100644 index 000000000000..743ddf7e0100 --- /dev/null +++ b/specification/adp/resource-manager/readme.md @@ -0,0 +1,88 @@ +# adp + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for adp. + +## 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 adp. + +```yaml +title: AdpManagementClient +openapi-type: arm +tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview + +These settings apply only when `--tag=package-2020-07-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-07-01-preview' +input-file: + - Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.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_adp'] + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js adp/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) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/adp/resource-manager/readme.python.md b/specification/adp/resource-manager/readme.python.md new file mode 100644 index 000000000000..07758b81e1ea --- /dev/null +++ b/specification/adp/resource-manager/readme.python.md @@ -0,0 +1,35 @@ +## 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-adp +clear-output-folder: true +no-namespace-folders: true +modelerfour: + lenient-model-deduplication: true +``` + +```yaml $(multiapi) +clear-output-folder: true +batch: + - tag: package-2020-07-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 $(tag) == 'package-2020-07-01-preview' +namespace: azure.mgmt.adp.v2020_07_01_preview +output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v2020_07_01_preview +python: + namespace: azure.mgmt.adp.v2020_07_01_preview + output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v2020_07_01_preview +``` diff --git a/specification/adp/resource-manager/readme.ruby.md b/specification/adp/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..cedab1ae4f5d --- /dev/null +++ b/specification/adp/resource-manager/readme.ruby.md @@ -0,0 +1,25 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_adp +package-version: 2020-07-01-preview +azure-arm: true +``` + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2020-07-01-preview +``` + + +### Tag: package-2020-07-01-preview and ruby + +These settings apply only when `--tag=package-2020-07-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-07-01-preview' && $(ruby) +namespace: Azure::AutonomousDevelopmentPlatform::Mgmt::V2020_07_01_preview +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_adp/lib +``` diff --git a/specification/adp/resource-manager/readme.typescript.md b/specification/adp/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..5bc90c6d3cbd --- /dev/null +++ b/specification/adp/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: "adp" + output-folder: "$(typescript-sdks-folder)/sdk/adp/arm-adp" + payload-flattening-threshold: 1 + generate-metadata: true + override-client-name: AdpManagementClient +``` diff --git a/specification/advisor/resource-manager/readme.azureresourceschema.md b/specification/advisor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8419f1c1778c --- /dev/null +++ b/specification/advisor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-advisor-2020-07-01-preview + - tag: schema-advisor-2020-01-01 + - tag: schema-advisor-2017-04-19 + - tag: schema-advisor-2017-03-31 + - tag: schema-advisor-2016-07-12-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-advisor-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json + +``` + +### Tag: schema-advisor-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2020-01-01/advisor.json + +``` + +### Tag: schema-advisor-2017-04-19 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2017-04-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2017-04-19/advisor.json + +``` + +### Tag: schema-advisor-2017-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2017-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2017-03-31/advisor.json + +``` + +### Tag: schema-advisor-2016-07-12-preview and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2016-07-12-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/preview/2016-07-12-preview/advisor.json + +``` diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md index 1ac722c6bee0..a686c40128f2 100644 --- a/specification/advisor/resource-manager/readme.md +++ b/specification/advisor/resource-manager/readme.md @@ -90,6 +90,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js advisor/resource-manager ``` ## Python @@ -145,30 +148,7 @@ csharp: See configuration in [readme.java.md](./readme.java.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Advisor/preview/2020-07-01-preview/advisor.json - - $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json - - $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json - - $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json - - $(this-folder)/Microsoft.Advisor/preview/2016-07-12-preview/advisor.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/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json new file mode 100644 index 000000000000..a441d6e0b967 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json @@ -0,0 +1,944 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-05-05-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": { + "summary": "Get all action rule in a given subscription", + "description": "List all action rules of the subscription and given input filters", + "operationId": "ActionRules_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/impactedScope" + }, + { + "$ref": "#/parameters/description" + }, + { + "$ref": "#/parameters/alertRuleId" + }, + { + "$ref": "#/parameters/actionGroup" + }, + { + "$ref": "#/parameters/actionRuleName" + }, + { + "$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": { + "summary": "Get all action rules created in a resource group", + "operationId": "ActionRules_ListByResourceGroup", + "description": "List all action rules of the subscription, created in given resource group and given input filters", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/impactedScope" + }, + { + "$ref": "#/parameters/description" + }, + { + "$ref": "#/parameters/alertRuleId" + }, + { + "$ref": "#/parameters/actionGroup" + }, + { + "$ref": "#/parameters/actionRuleName" + }, + { + "$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": { + "summary": "Get action rule by name", + "operationId": "ActionRules_GetByName", + "description": "Get a specific action rule", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name of 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": { + "summary": "Create/update an action rule", + "operationId": "ActionRules_CreateUpdate", + "description": "Creates/Updates a specific action rule", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name of 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 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": { + "PutActionRule": { + "$ref": "./examples/ActionRules_Create_SuppressionRule.json" + } + } + }, + "delete": { + "summary": "Delete action rule", + "description": "Deletes a given action rule", + "operationId": "ActionRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name that needs to be deleted", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns true if deleted successfully", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "type": "boolean" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "DeleteActionRule": { + "$ref": "./examples/ActionRules_Delete.json" + } + } + }, + "patch": { + "summary": "Patch action rule", + "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": [ + "2019-05-05-preview" + ], + "x-ms-enum": { + "name": "api-version", + "modelAsString": true + } + }, + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" + ], + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true + } + }, + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "description": { + "description": "filter by alert rule description", + "name": "description", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "alertRuleId": { + "description": "filter by alert rule id", + "name": "alertRuleId", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "actionGroup": { + "description": "filter by action group configured as part of action rule", + "name": "actionGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "actionRuleName": { + "description": "filter by action rule name", + "name": "name", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "impactedScope": { + "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.", + "name": "impactedScope", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + } + }, + "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": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ] + }, + "Scope": { + "type": "object", + "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.", + "properties": { + "scopeType": { + "type": "string", + "description": "type of target scope", + "enum": [ + "ResourceGroup", + "Resource", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "values": { + "type": "array", + "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.", + "items": { + "type": "string" + } + } + } + }, + "Condition": { + "type": "object", + "description": "condition to trigger an action rule", + "properties": { + "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": "object", + "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.", + "properties": { + "severity": { + "description": "filter alerts by severity", + "$ref": "#/definitions/Condition" + }, + "monitorService": { + "description": "filter alerts by monitor service", + "$ref": "#/definitions/Condition" + }, + "monitorCondition": { + "description": "filter alerts by monitor condition", + "$ref": "#/definitions/Condition" + }, + "targetResourceType": { + "description": "filter alerts by target resource type", + "$ref": "#/definitions/Condition" + }, + "alertRuleId": { + "description": "filter alerts by alert rule id", + "$ref": "#/definitions/Condition" + }, + "description": { + "description": "filter alerts by alert rule description", + "$ref": "#/definitions/Condition" + }, + "alertContext": { + "description": "filter alerts by alert context (payload)", + "$ref": "#/definitions/Condition" + } + } + }, + "SuppressionConfig": { + "type": "object", + "description": "Suppression logic for a given action rule", + "required": [ + "recurrenceType" + ], + "properties": { + "recurrenceType": { + "type": "string", + "description": "Specifies when the suppression should be applied", + "enum": [ + "Always", + "Once", + "Daily", + "Weekly", + "Monthly" + ], + "x-ms-enum": { + "name": "SuppressionType", + "modelAsString": true + } + }, + "schedule": { + "description": "suppression schedule configuration", + "$ref": "#/definitions/SuppressionSchedule" + } + } + }, + "SuppressionSchedule": { + "type": "object", + "description": "Schedule for a given suppression configuration.", + "properties": { + "startDate": { + "type": "string", + "description": "Start date for suppression" + }, + "endDate": { + "type": "string", + "description": "End date for suppression" + }, + "startTime": { + "type": "string", + "description": "Start time for suppression" + }, + "endTime": { + "type": "string", + "description": "End date for suppression" + }, + "recurrenceValues": { + "type": "array", + "description": "Specifies the values for recurrence pattern", + "items": { + "type": "integer" + } + } + } + }, + "ActionRule": { + "description": "Action rule object containing target scope, conditions and suppression logic", + "allOf": [ + { + "$ref": "#/definitions/ManagedResource" + } + ], + "properties": { + "properties": { + "description": "action rule properties", + "$ref": "#/definitions/ActionRuleProperties" + } + } + }, + "ActionRuleProperties": { + "description": "Action rule properties defining scope, conditions, suppression logic for action rule", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "scope": { + "description": "scope on which action rule will apply", + "$ref": "#/definitions/Scope" + }, + "conditions": { + "description": "conditions on which alerts will be filtered", + "$ref": "#/definitions/Conditions" + }, + "description": { + "type": "string", + "description": "Description of action rule" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Creation time of action rule. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "Last updated time of action rule. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "Created by user name.", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "Last modified by user name.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "Indicates if the given action rule is enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ActionRuleStatus", + "modelAsString": true + } + }, + "type": { + "type": "string", + "description": "Indicates type of action rule", + "enum": [ + "Suppression", + "ActionGroup", + "Diagnostics" + ], + "x-ms-enum": { + "name": "ActionRuleType", + "modelAsString": true + } + } + } + }, + "Suppression": { + "title": "Suppression based Action Rule", + "description": "Action rule with suppression configuration", + "required": [ + "suppressionConfig" + ], + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object", + "properties": { + "suppressionConfig": { + "description": "suppression configuration for the action rule", + "$ref": "#/definitions/SuppressionConfig" + } + } + } + ] + }, + "ActionGroup": { + "title": "Action Group based Action Rule", + "description": "Action rule with action group configuration", + "required": [ + "actionGroupId" + ], + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "Action group to trigger if action rule matches" + } + } + } + ] + }, + "Diagnostics": { + "title": "Diagnostics based Action Rule", + "description": "Action rule with diagnostics configuration", + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object" + } + ] + }, + "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": { + "status": { + "type": "string", + "description": "Indicates if the given action rule is enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ActionRuleStatus", + "modelAsString": true + } + } + } + }, + "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", + "description": "tags to be updated" + } + } + } + } +} 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 aac0edfadb87..8ae19f29a9e5 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 @@ -158,7 +158,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" + "$ref": "#/definitions/errorResponse" } } }, @@ -201,7 +201,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" + "$ref": "#/definitions/errorResponse" } } }, @@ -240,7 +240,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" + "$ref": "#/definitions/errorResponse" } } }, @@ -276,7 +276,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" + "$ref": "#/definitions/errorResponse" } } }, @@ -345,7 +345,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" + "$ref": "#/definitions/errorResponse" } } }, @@ -355,1456 +355,420 @@ } } } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": { - "get": { - "operationId": "SmartGroups_GetAll", - "summary": "Get all Smart Groups within a specified subscription", - "description": "List all the Smart Groups within a specified subscription. ", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/monitorCondition" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/smartGroupState" - }, - { - "$ref": "#/parameters/timeRange" - }, - { - "$ref": "#/parameters/pageCount" - }, - { - "$ref": "#/parameters/smartGroupsSortBy" - }, - { - "$ref": "#/parameters/sortOrder" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK. Returns list of all smartGroups.", - "schema": { - "$ref": "#/definitions/smartGroupsList", - "description": "List of smart groups in value property." - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List": { - "$ref": "./examples/SmartGroups_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": { - "get": { - "operationId": "SmartGroups_GetById", - "summary": "Get information related to a specific Smart Group.", - "description": "Get information related to a specific Smart Group.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the group with the specified smart group Id.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "Get": { - "$ref": "./examples/SmartGroups_GetById.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": { - "post": { - "operationId": "SmartGroups_ChangeState", - "description": "Change the state of a Smart Group.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/newState" - } - ], - "responses": { - "200": { - "description": "OK. Smart Group state updated.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "changestate": { - "$ref": "./examples/SmartGroups_ChangeState.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": { - "get": { - "operationId": "SmartGroups_GetHistory", - "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the list of changes of smart group.", - "schema": { - "$ref": "#/definitions/smartGroupModification" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "Resolve": { - "$ref": "./examples/SmartGroups_History.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "summary": "Get all action rule in a given subscription", - "description": "List all action rules of the subscription and given input filters", - "operationId": "ActionRules_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/impactedScope" - }, - { - "$ref": "#/parameters/description" - }, - { - "$ref": "#/parameters/alertRuleId" - }, - { - "$ref": "#/parameters/actionGroup" - }, - { - "$ref": "#/parameters/actionRuleName" - }, - { - "$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/AlertsManagementErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetActionRulesSubscriptionWide": { - "$ref": "./examples/ActionRules_List_Subscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "summary": "Get all action rules created in a resource group", - "operationId": "ActionRules_ListByResourceGroup", - "description": "List all action rules of the subscription, created in given resource group and given input filters", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/impactedScope" - }, - { - "$ref": "#/parameters/description" - }, - { - "$ref": "#/parameters/alertRuleId" - }, - { - "$ref": "#/parameters/actionGroup" - }, - { - "$ref": "#/parameters/actionRuleName" - }, - { - "$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/AlertsManagementErrorResponse" - } - } - }, - "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": { - "summary": "Get action rule by name", - "operationId": "ActionRules_GetByName", - "description": "Get a specific action rule", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of 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/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "GetActionRuleById": { - "$ref": "./examples/ActionRules_GetById.json" - } - } - }, - "put": { - "summary": "Create/update an action rule", - "operationId": "ActionRules_CreateUpdate", - "description": "Creates/Updates a specific action rule", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of 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 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/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "PutActionRule": { - "$ref": "./examples/ActionRules_Create_SuppressionRule.json" - } - } - }, - "delete": { - "summary": "Delete action rule", - "description": "Deletes a given action rule", - "operationId": "ActionRules_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name that needs to be deleted", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns true if deleted successfully", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "type": "boolean" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "DeleteActionRule": { - "$ref": "./examples/ActionRules_Delete.json" - } - } - }, - "patch": { - "summary": "Patch action rule", - "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/AlertsManagementErrorResponse" - } - } - }, - "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": [ - "2019-05-05-preview" - ], - "x-ms-enum": { - "name": "api-version", - "modelAsString": true - } - }, - "alertId": { - "name": "alertId", - "description": "Unique ID of an alert instance.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "targetResourceGroup": { - "description": "Filter by target resource group name. Default value is select all.", - "name": "targetResourceGroup", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "targetResource": { - "description": "Filter by target resource( which is full ARM ID) Default value is select all.", - "name": "targetResource", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "targetResourceType": { - "description": "Filter by target resource type. Default value is select all.", - "name": "targetResourceType", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "monitorService": { - "description": "Filter by monitor service which generates the alert instance. Default value is select all.", - "name": "monitorService", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Application Insights", - "ActivityLog Administrative", - "ActivityLog Security", - "ActivityLog Recommendation", - "ActivityLog Policy", - "ActivityLog Autoscale", - "Log Analytics", - "Nagios", - "Platform", - "SCOM", - "ServiceHealth", - "SmartDetector", - "VM Insights", - "Zabbix" - ], - "x-ms-enum": { - "name": "MonitorService", - "modelAsString": true - } - }, - "severity": { - "description": "Filter by severity. Default value is select all.", - "name": "severity", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Sev0", - "Sev1", - "Sev2", - "Sev3", - "Sev4" - ], - "x-ms-enum": { - "name": "Severity", - "modelAsString": true - } - }, - "smartGroupIdFilter": { - "description": "Filter the alerts list by the Smart Group Id. Default value is none.", - "name": "smartGroupId", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "smartGroupId": { - "description": "Smart group unique id. ", - "name": "smartGroupId", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "newState": { - "description": "New state of the alert.", - "name": "newState", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "alertState": { - "description": "Filter by state of the alert instance. Default value is to select all.", - "name": "alertState", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "smartGroupState": { - "description": "Filter by state of the smart group. Default value is to select all.", - "name": "smartGroupState", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "monitorCondition": { - "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", - "name": "monitorCondition", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Fired", - "Resolved" - ], - "x-ms-enum": { - "name": "MonitorCondition", - "modelAsString": true - } - }, - "alertRule": { - "description": "Filter by specific alert rule. Default value is to select all.", - "name": "alertRule", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "timeRange": { - "description": "Filter by time range by below listed values. Default value is 1 day.", - "name": "timeRange", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "1h", - "1d", - "7d", - "30d" - ], - "x-ms-enum": { - "name": "TimeRange", - "modelAsString": true - } - }, - "customTimeRange": { - "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.", - "name": "customTimeRange", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeContext": { - "description": "Include context which has contextual data specific to the monitor service. Default value is false'", - "name": "includeContext", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeEgressConfig": { - "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.", - "name": "includeEgressConfig", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeSmartGroupsCount": { - "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.", - "name": "includeSmartGroupsCount", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "pageCount": { - "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", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "alertsSortBy": { - "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.", - "name": "sortBy", + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "name", - "severity", - "alertState", - "monitorCondition", - "targetResource", - "targetResourceName", - "targetResourceGroup", - "targetResourceType", - "startDateTime", - "lastModifiedDateTime" - ], - "x-ms-enum": { - "name": "AlertsSortByFields", - "modelAsString": true - } + "description": "The ID of the target subscription.", + "minLength": 1 }, - "alertsSummaryGroupBy": { - "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.", - "name": "groupby", + "api-version": { + "name": "api-version", + "description": "client API version", "type": "string", "in": "query", "required": true, - "x-ms-parameter-location": "method", - "enum": [ - "severity", - "alertState", - "monitorCondition", - "monitorService", - "signalType", - "alertRule" - ], - "x-ms-enum": { - "name": "AlertsSummaryGroupByFields", - "modelAsString": true - } - }, - "smartGroupsSortBy": { - "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.", - "name": "sortBy", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", "enum": [ - "alertsCount", - "state", - "severity", - "startDateTime", - "lastModifiedDateTime" + "2019-05-05-preview" ], "x-ms-enum": { - "name": "SmartGroupsSortByFields", + "name": "api-version", "modelAsString": true } }, - "sortOrder": { - "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", - "name": "sortOrder", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "asc", - "desc" - ] - }, - "select": { - "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.", - "name": "select", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "description": { - "description": "filter by alert rule description", - "name": "description", + "alertId": { + "name": "alertId", + "description": "Unique ID of an alert instance.", "type": "string", - "in": "query", - "required": false, + "in": "path", + "required": true, "x-ms-parameter-location": "method" }, - "alertRuleId": { - "description": "filter by alert rule id", - "name": "alertRuleId", + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "actionGroup": { - "description": "filter by action group configured as part of action rule", - "name": "actionGroup", + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "actionRuleName": { - "description": "filter by action rule name", - "name": "name", + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "impactedScope": { - "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.", - "name": "impactedScope", + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", "type": "string", "in": "query", "required": false, - "x-ms-parameter-location": "method" - }, - "identifier": { - "name": "identifier", - "description": "Identification of the information to be retrieved by API call.", - "type": "string", - "in": "query", - "required": true, + "x-ms-parameter-location": "method", "enum": [ - "MonitorServiceList" - ], - "x-ms-enum": { - "name": "identifier", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - } - }, - "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 alerts.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "type": "array", - "items": { - "$ref": "#/definitions/operation" - } - } - }, - "required": [ - "value" - ] - }, - "AlertsManagementErrorResponse": { - "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": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ] - }, - "alert": { - "description": "An alert created in alert management service.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" ], - "properties": { - "properties": { - "$ref": "#/definitions/alertProperties" - } + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true } }, - "alertsList": { - "description": "List the alerts.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of alerts.", - "type": "string" - }, - "value": { - "description": "List of alerts", - "type": "array", - "items": { - "$ref": "#/definitions/alert" - } - } + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true } }, - "alertProperties": { - "type": "object", - "description": "Alert property bag", - "properties": { - "essentials": { - "$ref": "#/definitions/essentials" - }, - "context": { - "$ref": "#/definitions/alertContext" - }, - "egressConfig": { - "$ref": "#/definitions/egressConfig" - } - } + "smartGroupIdFilter": { + "description": "Filter the alerts list by the Smart Group Id. Default value is none.", + "name": "smartGroupId", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" }, - "egressConfig": { - "type": "object", - "description": "Config which would be used for displaying the data in portal.", - "readOnly": true + "newState": { + "description": "New state of the alert.", + "name": "newState", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } }, - "alertContext": { - "type": "object", - "description": "Information specific to the monitor service that gives more contextual details about the alert.", - "readOnly": true + "alertState": { + "description": "Filter by state of the alert instance. Default value is to select all.", + "name": "alertState", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } }, - "essentials": { - "type": "object", - "description": "This object contains consistent fields across different monitor services.", - "properties": { - "severity": { - "type": "string", - "description": "Severity of alert Sev0 being highest and Sev4 being lowest.", - "readOnly": true, - "enum": [ - "Sev0", - "Sev1", - "Sev2", - "Sev3", - "Sev4" - ], - "x-ms-enum": { - "name": "Severity", - "modelAsString": true - } - }, - "signalType": { - "type": "string", - "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.", - "readOnly": true, - "enum": [ - "Metric", - "Log", - "Unknown" - ], - "x-ms-enum": { - "name": "SignalType", - "modelAsString": true - } - }, - "alertState": { - "type": "string", - "description": "Alert object state, which can be modified by the user.", - "readOnly": true, - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "monitorCondition": { - "type": "string", - "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.", - "readOnly": true, - "enum": [ - "Fired", - "Resolved" - ], - "x-ms-enum": { - "name": "MonitorCondition", - "modelAsString": true - } - }, - "targetResource": { - "type": "string", - "description": "Target ARM resource, on which alert got created." - }, - "targetResourceName": { - "type": "string", - "description": "Name of the target ARM resource name, on which alert got created." - }, - "targetResourceGroup": { - "type": "string", - "description": "Resource group of target ARM resource, on which alert got created." - }, - "targetResourceType": { - "type": "string", - "description": "Resource type of target ARM resource, on which alert got created." - }, - "monitorService": { - "type": "string", - "description": "Monitor service on which the rule(monitor) is set.", - "readOnly": true, - "enum": [ - "Application Insights", - "ActivityLog Administrative", - "ActivityLog Security", - "ActivityLog Recommendation", - "ActivityLog Policy", - "ActivityLog Autoscale", - "Log Analytics", - "Nagios", - "Platform", - "SCOM", - "ServiceHealth", - "SmartDetector", - "VM Insights", - "Zabbix" - ], - "x-ms-enum": { - "name": "MonitorService", - "modelAsString": true - } - }, - "alertRule": { - "type": "string", - "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.", - "readOnly": true - }, - "sourceCreatedId": { - "type": "string", - "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.", - "readOnly": true - }, - "smartGroupId": { - "type": "string", - "description": "Unique Id of the smart group", - "readOnly": true - }, - "smartGroupingReason": { - "type": "string", - "description": "Verbose reason describing the reason why this alert instance is added to a smart group", - "readOnly": true - }, - "startDateTime": { - "type": "string", - "format": "date-time", - "description": "Creation time(ISO-8601 format) of alert instance.", - "readOnly": true - }, - "lastModifiedDateTime": { - "type": "string", - "format": "date-time", - "description": "Last modification time(ISO-8601 format) of alert instance.", - "readOnly": true - }, - "monitorConditionResolvedDateTime": { - "type": "string", - "format": "date-time", - "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.", - "readOnly": true - }, - "lastModifiedUserName": { - "type": "string", - "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.", - "readOnly": true - } + "monitorCondition": { + "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", + "name": "monitorCondition", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Fired", + "Resolved" + ], + "x-ms-enum": { + "name": "MonitorCondition", + "modelAsString": true } }, - "alertModification": { - "description": "Alert Modification details", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "alertRule": { + "description": "Filter by specific alert rule. Default value is to select all.", + "name": "alertRule", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "timeRange": { + "description": "Filter by time range by below listed values. Default value is 1 day.", + "name": "timeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "1h", + "1d", + "7d", + "30d" ], - "properties": { - "properties": { - "$ref": "#/definitions/alertModificationProperties" - } + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true } }, - "alertModificationProperties": { - "type": "object", - "description": "Properties of the alert modification item.", + "customTimeRange": { + "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.", + "name": "customTimeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeContext": { + "description": "Include context which has contextual data specific to the monitor service. Default value is false'", + "name": "includeContext", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeEgressConfig": { + "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.", + "name": "includeEgressConfig", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeSmartGroupsCount": { + "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.", + "name": "includeSmartGroupsCount", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "pageCount": { + "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", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "alertsSortBy": { + "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.", + "name": "sortBy", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "name", + "severity", + "alertState", + "monitorCondition", + "targetResource", + "targetResourceName", + "targetResourceGroup", + "targetResourceType", + "startDateTime", + "lastModifiedDateTime" + ], + "x-ms-enum": { + "name": "AlertsSortByFields", + "modelAsString": true + } + }, + "alertsSummaryGroupBy": { + "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.", + "name": "groupby", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "severity", + "alertState", + "monitorCondition", + "monitorService", + "signalType", + "alertRule" + ], + "x-ms-enum": { + "name": "AlertsSummaryGroupByFields", + "modelAsString": true + } + }, + "sortOrder": { + "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", + "name": "sortOrder", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "asc", + "desc" + ] + }, + "select": { + "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.", + "name": "select", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "identifier": { + "name": "identifier", + "description": "Identification of the information to be retrieved by API call.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "MonitorServiceList" + ], + "x-ms-enum": { + "name": "identifier", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "operation": { + "description": "Operation provided by provider", "properties": { - "alertId": { + "name": { "type": "string", - "description": "Unique Id of the alert for which the history is being retrieved", - "readOnly": true + "description": "Name of the operation" }, - "modifications": { - "type": "array", - "description": "Modification details", - "items": { - "$ref": "#/definitions/alertModificationItem" + "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" + } } } } }, - "alertModificationItem": { - "description": "Alert modification item.", + "operationsList": { + "description": "Lists the operations available in the AlertsManagement RP.", "properties": { - "modificationEvent": { - "type": "string", - "description": "Reason for the modification", - "enum": [ - "AlertCreated", - "StateChange", - "MonitorConditionChange", - "SeverityChange", - "ActionRuleTriggered", - "ActionRuleSuppressed", - "ActionsTriggered", - "ActionsSuppressed", - "ActionsFailed" - ], - "x-ms-enum": { - "name": "AlertModificationEvent" - } - }, - "oldValue": { - "type": "string", - "description": "Old value" - }, - "newValue": { - "type": "string", - "description": "New value" - }, - "modifiedAt": { - "type": "string", - "description": "Modified date and time" - }, - "modifiedBy": { - "type": "string", - "description": "Modified user details (Principal client name)" - }, - "comments": { - "type": "string", - "description": "Modification comments" + "nextLink": { + "description": "URL to fetch the next set of alerts.", + "type": "string" }, - "description": { - "type": "string", - "description": "Description of the modification" + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/operation" + } } - } + }, + "required": [ + "value" + ] }, - "smartGroupModification": { - "description": "Alert Modification details", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "errorResponse": { + "description": "An error response from the service.", "properties": { - "properties": { - "$ref": "#/definitions/smartGroupModificationProperties" + "error": { + "$ref": "#/definitions/errorResponseBody" } } }, - "smartGroupModificationProperties": { - "description": "Properties of the smartGroup modification item.", + "errorResponseBody": { + "description": "Details of error response.", "properties": { - "smartGroupId": { + "code": { "type": "string", - "description": "Unique Id of the smartGroup for which the history is being retrieved", - "readOnly": true + "description": "Error code, intended to be consumed programmatically." }, - "modifications": { + "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": "Modification details", + "description": "A list of additional details about the error.", "items": { - "$ref": "#/definitions/smartGroupModificationItem" + "$ref": "#/definitions/errorResponseBody" } - }, - "nextLink": { - "description": "URL to fetch the next set of results.", - "type": "string" } } }, - "smartGroupModificationItem": { - "description": "smartGroup modification item.", + "Resource": { + "x-ms-azure-resource": true, + "description": "An azure resource object", "properties": { - "modificationEvent": { - "type": "string", - "description": "Reason for the modification", - "enum": [ - "SmartGroupCreated", - "StateChange", - "AlertAdded", - "AlertRemoved" - ], - "x-ms-enum": { - "name": "SmartGroupModificationEvent" - } - }, - "oldValue": { - "type": "string", - "description": "Old value" - }, - "newValue": { - "type": "string", - "description": "New value" - }, - "modifiedAt": { - "type": "string", - "description": "Modified date and time" - }, - "modifiedBy": { + "id": { "type": "string", - "description": "Modified user details (Principal client name)" + "readOnly": true, + "description": "Azure resource Id" }, - "comments": { + "type": { "type": "string", - "description": "Modification comments" + "readOnly": true, + "description": "Azure resource type" }, - "description": { + "name": { "type": "string", - "description": "Description of the modification" + "readOnly": true, + "description": "Azure resource name" } } }, - "alertsSummary": { - "description": "Summary of alerts based on the input filters and 'groupby' parameters.", + "alert": { + "description": "An alert created in alert management service.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -1812,61 +776,11 @@ ], "properties": { "properties": { - "$ref": "#/definitions/alertsSummaryGroup" - } - } - }, - "alertsSummaryGroup": { - "type": "object", - "description": "Group the result set.", - "properties": { - "total": { - "type": "integer", - "description": "Total count of the result set." - }, - "smartGroupsCount": { - "type": "integer", - "description": "Total count of the smart groups." - }, - "groupedby": { - "type": "string", - "description": "Name of the field aggregated" - }, - "values": { - "type": "array", - "description": "List of the items", - "items": { - "$ref": "#/definitions/alertsSummaryGroupItem" - } - } - } - }, - "alertsSummaryGroupItem": { - "type": "object", - "description": "Alerts summary group item", - "properties": { - "name": { - "type": "string", - "description": "Value of the aggregated field" - }, - "count": { - "type": "integer", - "description": "Count of the aggregated field" - }, - "groupedby": { - "type": "string", - "description": "Name of the field aggregated" - }, - "values": { - "type": "array", - "description": "List of the items", - "items": { - "$ref": "#/definitions/alertsSummaryGroupItem" - } + "$ref": "#/definitions/alertProperties" } } }, - "smartGroupsList": { + "alertsList": { "description": "List the alerts.", "properties": { "nextLink": { @@ -1877,36 +791,73 @@ "description": "List of alerts", "type": "array", "items": { - "$ref": "#/definitions/smartGroup" + "$ref": "#/definitions/alert" } } } }, - "smartGroup": { - "description": "Set of related alerts grouped together smartly by AMS.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "alertProperties": { + "type": "object", + "description": "Alert property bag", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/smartGroupProperties" + "essentials": { + "$ref": "#/definitions/essentials" + }, + "context": { + "$ref": "#/definitions/alertContext" + }, + "egressConfig": { + "$ref": "#/definitions/egressConfig" } } }, - "smartGroupProperties": { + "egressConfig": { + "type": "object", + "description": "Config which would be used for displaying the data in portal.", + "readOnly": true + }, + "alertContext": { + "type": "object", + "description": "Information specific to the monitor service that gives more contextual details about the alert.", + "readOnly": true + }, + "essentials": { "type": "object", - "description": "Properties of smart group.", + "description": "This object contains consistent fields across different monitor services.", "properties": { - "alertsCount": { - "type": "integer", - "description": "Total number of alerts in smart group" + "severity": { + "type": "string", + "description": "Severity of alert Sev0 being highest and Sev4 being lowest.", + "readOnly": true, + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "signalType": { + "type": "string", + "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.", + "readOnly": true, + "enum": [ + "Metric", + "Log", + "Unknown" + ], + "x-ms-enum": { + "name": "SignalType", + "modelAsString": true + } }, - "smartGroupState": { + "alertState": { "type": "string", - "description": "Smart group state", + "description": "Alert object state, which can be modified by the user.", "readOnly": true, "enum": [ "New", @@ -1914,439 +865,250 @@ "Closed" ], "x-ms-enum": { - "name": "State", + "name": "AlertState", "modelAsString": true } }, - "severity": { + "monitorCondition": { "type": "string", - "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.", + "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.", "readOnly": true, "enum": [ - "Sev0", - "Sev1", - "Sev2", - "Sev3", - "Sev4" + "Fired", + "Resolved" ], "x-ms-enum": { - "name": "Severity", + "name": "MonitorCondition", + "modelAsString": true + } + }, + "targetResource": { + "type": "string", + "description": "Target ARM resource, on which alert got created." + }, + "targetResourceName": { + "type": "string", + "description": "Name of the target ARM resource name, on which alert got created." + }, + "targetResourceGroup": { + "type": "string", + "description": "Resource group of target ARM resource, on which alert got created." + }, + "targetResourceType": { + "type": "string", + "description": "Resource type of target ARM resource, on which alert got created." + }, + "monitorService": { + "type": "string", + "description": "Monitor service on which the rule(monitor) is set.", + "readOnly": true, + "enum": [ + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" + ], + "x-ms-enum": { + "name": "MonitorService", "modelAsString": true } }, + "alertRule": { + "type": "string", + "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.", + "readOnly": true + }, + "sourceCreatedId": { + "type": "string", + "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.", + "readOnly": true + }, + "smartGroupId": { + "type": "string", + "description": "Unique Id of the smart group", + "readOnly": true + }, + "smartGroupingReason": { + "type": "string", + "description": "Verbose reason describing the reason why this alert instance is added to a smart group", + "readOnly": true + }, "startDateTime": { "type": "string", "format": "date-time", - "description": "Creation time of smart group. Date-Time in ISO-8601 format.", + "description": "Creation time(ISO-8601 format) of alert instance.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", - "description": "Last updated time of smart group. Date-Time in ISO-8601 format.", + "description": "Last modification time(ISO-8601 format) of alert instance.", "readOnly": true }, - "lastModifiedUserName": { + "monitorConditionResolvedDateTime": { "type": "string", - "description": "Last modified by user name.", + "format": "date-time", + "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.", "readOnly": true }, - "resources": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resources in the smart group" - }, - "resourceTypes": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resource types in the smart group" - }, - "resourceGroups": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resource groups in the smart group" - }, - "monitorServices": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of monitorServices in the smart group" - }, - "monitorConditions": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of monitorConditions in the smart group" - }, - "alertStates": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of alertStates in the smart group" - }, - "alertSeverities": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of alertSeverities in the smart group" - }, - "nextLink": { + "lastModifiedUserName": { "type": "string", - "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts." + "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.", + "readOnly": true } } }, - "smartGroupAggregatedProperty": { - "type": "object", - "description": "Aggregated property of each type", + "alertModification": { + "description": "Alert Modification details", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "name": { - "type": "string", - "description": "Name of the type." - }, - "count": { - "type": "integer", - "description": "Total number of items of type." + "properties": { + "$ref": "#/definitions/alertModificationProperties" } } }, - "Scope": { + "alertModificationProperties": { "type": "object", - "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.", + "description": "Properties of the alert modification item.", "properties": { - "scopeType": { + "alertId": { "type": "string", - "description": "type of target scope", - "enum": [ - "ResourceGroup", - "Resource", - "Subscription" - ], - "x-ms-enum": { - "name": "ScopeType", - "modelAsString": true - } + "description": "Unique Id of the alert for which the history is being retrieved", + "readOnly": true }, - "values": { + "modifications": { "type": "array", - "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.", + "description": "Modification details", "items": { - "type": "string" + "$ref": "#/definitions/alertModificationItem" } } } }, - "Condition": { - "type": "object", - "description": "condition to trigger an action rule", + "alertModificationItem": { + "description": "Alert modification item.", "properties": { - "operator": { + "modificationEvent": { "type": "string", - "description": "operator for a given condition", + "description": "Reason for the modification", "enum": [ - "Equals", - "NotEquals", - "Contains", - "DoesNotContain" + "AlertCreated", + "StateChange", + "MonitorConditionChange", + "SeverityChange", + "ActionRuleTriggered", + "ActionRuleSuppressed", + "ActionsTriggered", + "ActionsSuppressed", + "ActionsFailed" ], "x-ms-enum": { - "name": "Operator", - "modelAsString": true - } - }, - "values": { - "type": "array", - "description": "list of values to match for a given condition.", - "items": { - "type": "string" + "name": "AlertModificationEvent" } - } - } - }, - "Conditions": { - "type": "object", - "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.", - "properties": { - "severity": { - "description": "filter alerts by severity", - "$ref": "#/definitions/Condition" }, - "monitorService": { - "description": "filter alerts by monitor service", - "$ref": "#/definitions/Condition" - }, - "monitorCondition": { - "description": "filter alerts by monitor condition", - "$ref": "#/definitions/Condition" - }, - "targetResourceType": { - "description": "filter alerts by target resource type", - "$ref": "#/definitions/Condition" - }, - "alertRuleId": { - "description": "filter alerts by alert rule id", - "$ref": "#/definitions/Condition" - }, - "description": { - "description": "filter alerts by alert rule description", - "$ref": "#/definitions/Condition" - }, - "alertContext": { - "description": "filter alerts by alert context (payload)", - "$ref": "#/definitions/Condition" - } - } - }, - "SuppressionConfig": { - "type": "object", - "description": "Suppression logic for a given action rule", - "required": [ - "recurrenceType" - ], - "properties": { - "recurrenceType": { + "oldValue": { "type": "string", - "description": "Specifies when the suppression should be applied", - "enum": [ - "Always", - "Once", - "Daily", - "Weekly", - "Monthly" - ], - "x-ms-enum": { - "name": "SuppressionType", - "modelAsString": true - } + "description": "Old value" }, - "schedule": { - "description": "suppression schedule configuration", - "$ref": "#/definitions/SuppressionSchedule" - } - } - }, - "SuppressionSchedule": { - "type": "object", - "description": "Schedule for a given suppression configuration.", - "properties": { - "startDate": { + "newValue": { "type": "string", - "description": "Start date for suppression" + "description": "New value" }, - "endDate": { + "modifiedAt": { "type": "string", - "description": "End date for suppression" + "description": "Modified date and time" }, - "startTime": { + "modifiedBy": { "type": "string", - "description": "Start time for suppression" + "description": "Modified user details (Principal client name)" }, - "endTime": { + "comments": { "type": "string", - "description": "End date for suppression" + "description": "Modification comments" }, - "recurrenceValues": { - "type": "array", - "description": "Specifies the values for recurrence pattern", - "items": { - "type": "integer" - } + "description": { + "type": "string", + "description": "Description of the modification" } } }, - "ActionRule": { - "description": "Action rule object containing target scope, conditions and suppression logic", + "alertsSummary": { + "description": "Summary of alerts based on the input filters and 'groupby' parameters.", "allOf": [ { - "$ref": "#/definitions/ManagedResource" + "$ref": "#/definitions/Resource" } ], "properties": { "properties": { - "description": "action rule properties", - "$ref": "#/definitions/ActionRuleProperties" + "$ref": "#/definitions/alertsSummaryGroup" } } }, - "ActionRuleProperties": { - "description": "Action rule properties defining scope, conditions, suppression logic for action rule", - "discriminator": "type", - "required": [ - "type" - ], + "alertsSummaryGroup": { + "type": "object", + "description": "Group the result set.", "properties": { - "scope": { - "description": "scope on which action rule will apply", - "$ref": "#/definitions/Scope" - }, - "conditions": { - "description": "conditions on which alerts will be filtered", - "$ref": "#/definitions/Conditions" - }, - "description": { - "type": "string", - "description": "Description of action rule" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "Creation time of action rule. Date-Time in ISO-8601 format.", - "readOnly": true - }, - "lastModifiedAt": { - "type": "string", - "format": "date-time", - "description": "Last updated time of action rule. Date-Time in ISO-8601 format.", - "readOnly": true - }, - "createdBy": { - "type": "string", - "description": "Created by user name.", - "readOnly": true + "total": { + "type": "integer", + "description": "Total count of the result set." }, - "lastModifiedBy": { - "type": "string", - "description": "Last modified by user name.", - "readOnly": true + "smartGroupsCount": { + "type": "integer", + "description": "Total count of the smart groups." }, - "status": { + "groupedby": { "type": "string", - "description": "Indicates if the given action rule is enabled or disabled", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ActionRuleStatus", - "modelAsString": true - } + "description": "Name of the field aggregated" }, - "type": { - "type": "string", - "description": "Indicates type of action rule", - "enum": [ - "Suppression", - "ActionGroup", - "Diagnostics" - ], - "x-ms-enum": { - "name": "ActionRuleType", - "modelAsString": true + "values": { + "type": "array", + "description": "List of the items", + "items": { + "$ref": "#/definitions/alertsSummaryGroupItem" } } } }, - "Suppression": { - "title": "Suppression based Action Rule", - "description": "Action rule with suppression configuration", - "required": [ - "suppressionConfig" - ], - "allOf": [ - { - "$ref": "#/definitions/ActionRuleProperties" - }, - { - "type": "object", - "properties": { - "suppressionConfig": { - "description": "suppression configuration for the action rule", - "$ref": "#/definitions/SuppressionConfig" - } - } - } - ] - }, - "ActionGroup": { - "title": "Action Group based Action Rule", - "description": "Action rule with action group configuration", - "required": [ - "actionGroupId" - ], - "allOf": [ - { - "$ref": "#/definitions/ActionRuleProperties" + "alertsSummaryGroupItem": { + "type": "object", + "description": "Alerts summary group item", + "properties": { + "name": { + "type": "string", + "description": "Value of the aggregated field" }, - { - "type": "object", - "properties": { - "actionGroupId": { - "type": "string", - "description": "Action group to trigger if action rule matches" - } - } - } - ] - }, - "Diagnostics": { - "title": "Diagnostics based Action Rule", - "description": "Action rule with diagnostics configuration", - "allOf": [ - { - "$ref": "#/definitions/ActionRuleProperties" + "count": { + "type": "integer", + "description": "Count of the aggregated field" }, - { - "type": "object" - } - ] - }, - "ActionRulesList": { - "description": "List of action rules", - "properties": { - "nextLink": { + "groupedby": { "type": "string", - "description": "URL to fetch the next set of action rules" + "description": "Name of the field aggregated" }, - "value": { + "values": { "type": "array", - "description": "List of action rules", + "description": "List of the items", "items": { - "$ref": "#/definitions/ActionRule" - } - } - } - }, - "PatchProperties": { - "description": "Action rule properties supported by patch", - "properties": { - "status": { - "type": "string", - "description": "Indicates if the given action rule is enabled or disabled", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ActionRuleStatus", - "modelAsString": true + "$ref": "#/definitions/alertsSummaryGroupItem" } } } }, - "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", - "description": "tags to be updated" - } - } - }, "alertsMetaData": { "description": "alert meta data information.", "properties": { 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 new file mode 100644 index 000000000000..c30ce89e0d8a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json @@ -0,0 +1,727 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-05-05-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "APIs for Azure Smart Groups 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/smartGroups": { + "get": { + "operationId": "SmartGroups_GetAll", + "summary": "Get all Smart Groups within a specified subscription", + "description": "List all the Smart Groups within a specified subscription. ", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/monitorCondition" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/smartGroupState" + }, + { + "$ref": "#/parameters/timeRange" + }, + { + "$ref": "#/parameters/pageCount" + }, + { + "$ref": "#/parameters/smartGroupsSortBy" + }, + { + "$ref": "#/parameters/sortOrder" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of all smartGroups.", + "schema": { + "$ref": "#/definitions/smartGroupsList", + "description": "List of smart groups in value property." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List": { + "$ref": "./examples/SmartGroups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": { + "get": { + "operationId": "SmartGroups_GetById", + "summary": "Get information related to a specific Smart Group.", + "description": "Get information related to a specific Smart Group.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the group with the specified smart group Id.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/smartGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "Get": { + "$ref": "./examples/SmartGroups_GetById.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": { + "post": { + "operationId": "SmartGroups_ChangeState", + "description": "Change the state of a Smart Group.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/newState" + } + ], + "responses": { + "200": { + "description": "OK. Smart Group state updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/smartGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "changestate": { + "$ref": "./examples/SmartGroups_ChangeState.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": { + "get": { + "operationId": "SmartGroups_GetHistory", + "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of changes of smart group.", + "schema": { + "$ref": "#/definitions/smartGroupModification" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "Resolve": { + "$ref": "./examples/SmartGroups_History.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "api-version": { + "name": "api-version", + "description": "client API version", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2019-05-05-preview" + ], + "x-ms-enum": { + "name": "api-version", + "modelAsString": true + } + }, + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" + ], + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true + } + }, + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "smartGroupId": { + "description": "Smart group unique id. ", + "name": "smartGroupId", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "newState": { + "description": "New state of the alert.", + "name": "newState", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } + }, + "smartGroupState": { + "description": "Filter by state of the smart group. Default value is to select all.", + "name": "smartGroupState", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } + }, + "monitorCondition": { + "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", + "name": "monitorCondition", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Fired", + "Resolved" + ], + "x-ms-enum": { + "name": "MonitorCondition", + "modelAsString": true + } + }, + "timeRange": { + "description": "Filter by time range by below listed values. Default value is 1 day.", + "name": "timeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "1h", + "1d", + "7d", + "30d" + ], + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true + } + }, + "pageCount": { + "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", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "smartGroupsSortBy": { + "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.", + "name": "sortBy", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "alertsCount", + "state", + "severity", + "startDateTime", + "lastModifiedDateTime" + ], + "x-ms-enum": { + "name": "SmartGroupsSortByFields", + "modelAsString": true + } + }, + "sortOrder": { + "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", + "name": "sortOrder", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "asc", + "desc" + ] + } + }, + "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" + } + } + }, + "smartGroupModification": { + "description": "Alert Modification details", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/smartGroupModificationProperties" + } + } + }, + "smartGroupModificationProperties": { + "description": "Properties of the smartGroup modification item.", + "properties": { + "smartGroupId": { + "type": "string", + "description": "Unique Id of the smartGroup for which the history is being retrieved", + "readOnly": true + }, + "modifications": { + "type": "array", + "description": "Modification details", + "items": { + "$ref": "#/definitions/smartGroupModificationItem" + } + }, + "nextLink": { + "description": "URL to fetch the next set of results.", + "type": "string" + } + } + }, + "smartGroupModificationItem": { + "description": "smartGroup modification item.", + "properties": { + "modificationEvent": { + "type": "string", + "description": "Reason for the modification", + "enum": [ + "SmartGroupCreated", + "StateChange", + "AlertAdded", + "AlertRemoved" + ], + "x-ms-enum": { + "name": "SmartGroupModificationEvent" + } + }, + "oldValue": { + "type": "string", + "description": "Old value" + }, + "newValue": { + "type": "string", + "description": "New value" + }, + "modifiedAt": { + "type": "string", + "description": "Modified date and time" + }, + "modifiedBy": { + "type": "string", + "description": "Modified user details (Principal client name)" + }, + "comments": { + "type": "string", + "description": "Modification comments" + }, + "description": { + "type": "string", + "description": "Description of the modification" + } + } + }, + "smartGroupsList": { + "description": "List the alerts.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alerts.", + "type": "string" + }, + "value": { + "description": "List of alerts", + "type": "array", + "items": { + "$ref": "#/definitions/smartGroup" + } + } + } + }, + "smartGroup": { + "description": "Set of related alerts grouped together smartly by AMS.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/smartGroupProperties" + } + } + }, + "smartGroupProperties": { + "type": "object", + "description": "Properties of smart group.", + "properties": { + "alertsCount": { + "type": "integer", + "description": "Total number of alerts in smart group" + }, + "smartGroupState": { + "type": "string", + "description": "Smart group state", + "readOnly": true, + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "severity": { + "type": "string", + "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.", + "readOnly": true, + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Creation time of smart group. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "Last updated time of smart group. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedUserName": { + "type": "string", + "description": "Last modified by user name.", + "readOnly": true + }, + "resources": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resources in the smart group" + }, + "resourceTypes": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resource types in the smart group" + }, + "resourceGroups": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resource groups in the smart group" + }, + "monitorServices": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of monitorServices in the smart group" + }, + "monitorConditions": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of monitorConditions in the smart group" + }, + "alertStates": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of alertStates in the smart group" + }, + "alertSeverities": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of alertSeverities in the smart group" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts." + } + } + }, + "smartGroupAggregatedProperty": { + "type": "object", + "description": "Aggregated property of each type", + "properties": { + "name": { + "type": "string", + "description": "Name of the type." + }, + "count": { + "type": "integer", + "description": "Total number of items of type." + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json new file mode 100644 index 000000000000..6a49a3228a39 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json @@ -0,0 +1,649 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-04-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" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve health alert rule definitions in a subscription.", + "operationId": "HealthAlerts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourceHealthAlertRules": { + "$ref": "./examples/listResourceHealthAlerts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve alert rule definitions in a resource group.", + "operationId": "HealthAlerts_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourceHealthAlertRules": { + "$ref": "./examples/listResourceHealthAlerts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts/{ruleName}": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve an alert rule definition.", + "operationId": "HealthAlerts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "GetResourceHealthAlertRule": { + "$ref": "./examples/getResourceHealthAlert.json" + } + } + }, + "put": { + "tags": [ + "HealthAlerts" + ], + "description": "Create or update an health alert definition.", + "operationId": "HealthAlerts_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthAlertResource" + }, + "description": "The parameters of the rule to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "CreateResourceHealthAlertRule": { + "$ref": "./examples/createOrUpdateResourceHealthAlert.json" + } + } + }, + "patch": { + "tags": [ + "HealthAlerts" + ], + "description": "Update an health alert definition.", + "operationId": "HealthAlerts_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthAlertResourcePatch" + }, + "description": "The parameters of the rule to update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchResourceHealthAlertRule": { + "$ref": "./examples/patchResourceHealthAlert.json" + } + } + }, + "delete": { + "tags": [ + "HealthAlerts" + ], + "description": "Delete an alert rule definition.", + "operationId": "HealthAlerts_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to delete an health alert rule" + }, + "204": { + "description": "No content: the request was successful, but the response is empty" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteResourceHealthAlertRule": { + "$ref": "./examples/deleteResourceHealthAlert.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "HealthAlertAction": { + "description": "An alert action.", + "properties": { + "actionGroupId": { + "type": "string", + "description": "the id of the action group to use." + }, + "webHookProperties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + }, + "description": "The properties of a webhook object." + } + } + }, + "HealthAlertProperties": { + "required": [ + "enabled", + "description", + "criteria" + ], + "properties": { + "description": { + "type": "string", + "description": "the description of the health alert that will be included in the alert email." + }, + "enabled": { + "type": "boolean", + "description": "the flag that indicates whether the health alert is enabled." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the list of resource id's that this health alert is scoped to." + }, + "criteria": { + "$ref": "#/definitions/HealthAlertCriteria", + "description": "defines the specific alert criteria information." + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertAction" + }, + "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." + }, + "lastUpdatedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last time the rule was updated in ISO8601 format." + } + }, + "description": "An alert rule." + }, + "HealthAlertResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthAlertProperties", + "description": "The alert rule properties of the resource." + } + }, + "description": "The health alert resource." + }, + "HealthAlertResourcePatch": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthAlertProperties", + "description": "The alert rule properties of the resource." + } + }, + "description": "The health alert resource for patch operations." + }, + "HealthAlertResourceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertResource" + }, + "description": "the values for the alert rule resources." + } + }, + "description": "Represents a collection of alert rule resources." + }, + "HealthAlertCriteria": { + "type": "object", + "properties": { + "allOf": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertCriterion" + }, + "description": "The list of metric criteria for this 'all of' operation. " + } + }, + "description": "Specifies the resource health alert criteria for a single resource that has multiple metric criteria." + }, + "HealthAlertCriterion": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "discriminator": "namespace", + "properties": { + "namespace": { + "type": "string", + "enum": [ + "VmGuestHealth" + ], + "x-ms-enum": { + "name": "HealthAlertsNamespace", + "modelAsString": true + }, + "description": "specifies the type of the alert criterion." + } + }, + "required": [ + "namespace" + ], + "description": "The rule criterion that defines the conditions of the alert rule." + }, + "VmGuestHealthAlertCriterion": { + "x-ms-discriminator-value": "VmGuestHealth", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HealthAlertCriterion" + } + ], + "properties": { + "healthMonitorName": { + "type": "string", + "description": "Name of health monitor on which to define alert" + }, + "healthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthState" + }, + "description": "Health states to alert on" + } + }, + "required": [ + "healthMonitorName" + ], + "description": "Specifies the health alert criteria to alert on." + }, + "HealthState": { + "type": "object", + "properties": { + "healthStateName": { + "type": "string", + "description": "Health state" + }, + "severity": { + "type": "string", + "description": "Severity of alert fired" + } + }, + "required": [ + "healthStateName", + "severity" + ], + "description": "Specifies the health state to alert on and the corresponding severity" + }, + "HealthAlertsErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/HealthAlertsErrorResponseBody" + } + } + }, + "HealthAlertsErrorResponseBody": { + "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" + } + } + }, + "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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription Id." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json new file mode 100644 index 000000000000..0a46e4630d1f --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview", + "parameters": { + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the first rule", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json new file mode 100644 index 000000000000..0d5dfed02952 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2018-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json new file mode 100644 index 000000000000..18432a7ab89a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json new file mode 100644 index 000000000000..42bc3c7156c4 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "api-version": "2020-08-04-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the first rule", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json new file mode 100644 index 000000000000..c67cb10e162e --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview", + "parameters": { + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json index dc6ce3d65350..b5be751defbb 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json @@ -52,6 +52,42 @@ } } }, + "/providers/Microsoft.AlertsManagement/alertsMetaData": { + "get": { + "operationId": "Alerts_MetaData", + "description": "List alerts meta data information based on value of identifier parameter.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/identifier" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully listed alert meta data.", + "schema": { + "$ref": "#/definitions/alertsMetaData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AlertsManagementErrorResponse" + } + } + }, + "x-ms-examples": { + "MonService": { + "$ref": "./examples/AlertsMetaData_MonitorService.json" + } + } + } + }, "/{scope}/providers/Microsoft.AlertsManagement/alerts": { "get": { "operationId": "Alerts_GetAll", @@ -325,204 +361,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": { - "get": { - "operationId": "SmartGroups_GetAll", - "summary": "Get all Smart Groups within a specified subscription", - "description": "List all the Smart Groups within a specified subscription. ", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/monitorCondition" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/smartGroupState" - }, - { - "$ref": "#/parameters/timeRange" - }, - { - "$ref": "#/parameters/pageCount" - }, - { - "$ref": "#/parameters/smartGroupsSortBy" - }, - { - "$ref": "#/parameters/sortOrder" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK. Returns list of all smartGroups.", - "schema": { - "$ref": "#/definitions/smartGroupsList", - "description": "List of smart groups in value property." - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "List": { - "$ref": "./examples/SmartGroups_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": { - "get": { - "operationId": "SmartGroups_GetById", - "summary": "Get information related to a specific Smart Group.", - "description": "Get information related to a specific Smart Group.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the group with the specified smart group Id.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "Get": { - "$ref": "./examples/SmartGroups_GetById.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": { - "post": { - "operationId": "SmartGroups_ChangeState", - "description": "Change the state of a Smart Group.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/newState" - } - ], - "responses": { - "200": { - "description": "OK. Smart Group state updated.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "changestate": { - "$ref": "./examples/SmartGroups_ChangeState.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": { - "get": { - "operationId": "SmartGroups_GetHistory", - "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the list of changes of smart group.", - "schema": { - "$ref": "#/definitions/smartGroupModification" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/AlertsManagementErrorResponse" - } - } - }, - "x-ms-examples": { - "Resolve": { - "$ref": "./examples/SmartGroups_History.json" - } - } - } } }, "parameters": { @@ -867,6 +705,21 @@ "in": "query", "required": false, "x-ms-parameter-location": "method" + }, + "identifier": { + "name": "identifier", + "description": "Identification of the information to be retrieved by API call.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "MonitorServiceList" + ], + "x-ms-enum": { + "name": "identifier", + "modelAsString": true + }, + "x-ms-parameter-location": "method" } }, "definitions": { @@ -1388,6 +1241,34 @@ } } }, + "alertsMetaData": { + "description": "alert meta data information.", + "properties": { + "properties": { + "$ref": "#/definitions/alertsMetaDataProperties" + } + } + }, + "alertsMetaDataProperties": { + "description": "alert meta data property bag", + "discriminator": "metadataIdentifier", + "required": [ + "metadataIdentifier" + ], + "properties": { + "metadataIdentifier": { + "type": "string", + "description": "Identification of the information to be retrieved by API call", + "enum": [ + "MonitorServiceList" + ], + "x-ms-enum": { + "name": "metadataIdentifier", + "modelAsString": true + } + } + } + }, "smartGroupsList": { "description": "List the alerts.", "properties": { @@ -1541,6 +1422,43 @@ "description": "Total number of items of type." } } + }, + "MonitorServiceList": { + "title": "Monitor service details", + "description": "Monitor service details", + "required": [ + "data" + ], + "allOf": [ + { + "$ref": "#/definitions/alertsMetaDataProperties" + }, + { + "type": "object" + } + ], + "properties": { + "data": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/MonitorServiceDetails" + } + } + } + }, + "MonitorServiceDetails": { + "description": "Details of a monitor service", + "properties": { + "name": { + "type": "string", + "description": "Monitor service name" + }, + "displayName": { + "type": "string", + "description": "Monitor service display name" + } + } } } } diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json new file mode 100644 index 000000000000..41ef963509e3 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/AlertsMetaData_MonitorService.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "identifier": "MonitorServiceList" + }, + "responses": { + "200": { + "body": { + "properties": { + "metadataIdentifier": "MonitorServiceList", + "data": [ + { + "name": "ActivityLog Administrative", + "displayName": "Activity Log - Administrative" + }, + { + "name": "ActivityLog Autoscale", + "displayName": "Activity Log - Autoscale" + }, + { + "name": "ActivityLog Policy", + "displayName": "Activity Log - Policy" + }, + { + "name": "ActivityLog Recommendation", + "displayName": "Activity Log - Recommendation" + }, + { + "name": "ActivityLog Security", + "displayName": "Activity Log - Security" + }, + { + "name": "Application Insights", + "displayName": "Application Insights" + }, + { + "name": "Azure Backup", + "displayName": "Azure Backup" + }, + { + "name": "Custom", + "displayName": "Custom" + }, + { + "name": "Data Box Edge", + "displayName": "Data Box Edge" + }, + { + "name": "VM Insights", + "displayName": "VM Insights" + }, + { + "name": "Log Analytics", + "displayName": "Log Analytics" + }, + { + "name": "Nagios", + "displayName": "NAGIOS" + }, + { + "name": "Platform", + "displayName": "Platform" + }, + { + "name": "Resource Health", + "displayName": "Resource Health" + }, + { + "name": "SCOM", + "displayName": "SCOM" + }, + { + "name": "ServiceHealth", + "displayName": "Service Health" + }, + { + "name": "Smart Detector", + "displayName": "SmartDetector" + }, + { + "name": "Zabbix", + "displayName": "ZABBIX" + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json deleted file mode 100644 index 9b07e12589e0..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_ChangeState.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parameters": { - "api-version": "2018-05-05", - "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72", - "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059", - "newState": "Acknowledged", - "body": { - "comments": "Acknowledging smart group" - } - }, - "responses": { - "200": { - "body": { - "properties": { - "alertsCount": 1942, - "smartGroupState": "Acknowledged", - "severity": "Sev3", - "startDateTime": "2018-06-06T12:35:09Z", - "lastModifiedDateTime": "2018-06-13T06:30:09Z", - "lastModifiedUserName": "System", - "resources": [ - { - "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int", - "count": 1942 - } - ], - "resourceTypes": [ - { - "name": "components", - "count": 1942 - } - ], - "resourceGroups": [ - { - "name": "alertscorrelationrg", - "count": 1942 - } - ], - "monitorServices": [ - { - "name": "Application Insights", - "count": 1942 - } - ], - "monitorConditions": [ - { - "name": "Fired", - "count": 1942 - } - ], - "alertStates": [ - { - "name": "New", - "count": 1941 - }, - { - "name": "Acknowledged", - "count": 1 - } - ], - "alertSeverities": [ - { - "name": "Sev3", - "count": 1942 - } - ] - }, - "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059", - "type": "Microsoft.AlertsManagement/smartGroups", - "name": "cpu alert" - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json deleted file mode 100644 index fb66b322f894..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_GetById.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "parameters": { - "api-version": "2018-05-05", - "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a", - "smartGroupId": "603675da-9851-4b26-854a-49fc53d32715" - }, - "responses": { - "200": { - "body": { - "properties": { - "alertsCount": 1942, - "smartGroupState": "New", - "severity": "Sev3", - "startDateTime": "2018-06-06T12:35:09Z", - "lastModifiedDateTime": "2018-06-13T06:30:09Z", - "lastModifiedUserName": "System", - "resources": [ - { - "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int", - "count": 1942 - } - ], - "resourceTypes": [ - { - "name": "components", - "count": 1942 - } - ], - "resourceGroups": [ - { - "name": "alertscorrelationrg", - "count": 1942 - } - ], - "monitorServices": [ - { - "name": "Application Insights", - "count": 1942 - } - ], - "monitorConditions": [ - { - "name": "Fired", - "count": 1942 - } - ], - "alertStates": [ - { - "name": "New", - "count": 1941 - }, - { - "name": "Acknowledged", - "count": 1 - } - ], - "alertSeverities": [ - { - "name": "Sev3", - "count": 1942 - } - ] - }, - "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059", - "type": "Microsoft.AlertsManagement/smartGroups", - "name": "cpu alert" - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json deleted file mode 100644 index a3d749f1d6ff..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_History.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "api-version": "2018-05-05", - "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a", - "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059" - }, - "responses": { - "200": { - "body": { - "properties": { - "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059", - "modifications": [ - { - "modificationEvent": "SmartGroupCreated", - "oldValue": "", - "newValue": "", - "modifiedAt": "2018-06-06T12:35:09Z", - "modifiedBy": "System", - "comments": "", - "description": "New Smart Group is created" - } - ] - }, - "id": "/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059/history/default", - "type": "Microsoft.AlertsManagement/alerts", - "name": "cpu alert" - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json deleted file mode 100644 index bf4722bcdb59..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/examples/SmartGroups_List.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "parameters": { - "api-version": "2018-05-05", - "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72" - }, - "responses": { - "200": { - "body": { - "nextLink": null, - "value": [ - { - "properties": { - "alertsCount": 1942, - "smartGroupState": "New", - "severity": "Sev3", - "startDateTime": "2018-06-06T12:35:09Z", - "lastModifiedDateTime": "2018-06-13T06:30:09Z", - "lastModifiedUserName": "System", - "resources": [ - { - "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int", - "count": 1942 - } - ], - "resourceTypes": [ - { - "name": "components", - "count": 1942 - } - ], - "resourceGroups": [ - { - "name": "alertscorrelationrg", - "count": 1942 - } - ], - "monitorServices": [ - { - "name": "Application Insights", - "count": 1942 - } - ], - "monitorConditions": [ - { - "name": "Fired", - "count": 1942 - } - ], - "alertStates": [ - { - "name": "New", - "count": 1941 - }, - { - "name": "Acknowledged", - "count": 1 - } - ], - "alertSeverities": [ - { - "name": "Sev3", - "count": 1942 - } - ] - }, - "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059", - "type": "Microsoft.AlertsManagement/smartGroups", - "name": "cpu alert" - }, - { - "properties": { - "alertsCount": 15374, - "smartGroupState": "Acknowledged", - "severity": "Sev0", - "startDateTime": "2018-05-17T10:18:44.2020997Z", - "lastModifiedDateTime": "2018-06-13T06:29:01Z", - "lastModifiedUserName": "System", - "resources": [ - { - "name": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/alertsint", - "count": 15374 - } - ], - "resourceTypes": [ - { - "name": "microsoft.operationalinsights/workspaces", - "count": 6912 - }, - { - "name": "workspaces", - "count": 8462 - } - ], - "resourceGroups": [ - { - "name": "mms-eus", - "count": 15374 - } - ], - "monitorServices": [ - { - "name": "Log Analytics", - "count": 13911 - } - ], - "monitorConditions": [ - { - "name": "Fired", - "count": 15374 - } - ], - "alertStates": [ - { - "name": "New", - "count": 15358 - }, - { - "name": "Acknowledged", - "count": 12 - }, - { - "name": "Closed", - "count": 4 - } - ], - "alertSeverities": [ - { - "name": "Sev0", - "count": 6984 - }, - { - "name": "Sev1", - "count": 6927 - } - ] - }, - "id": "/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/01114c7c-769f-4fd4-b6fa-ab77693b83cd", - "type": "Microsoft.AlertsManagement/smartGroups", - "name": "CPU Alert" - } - ] - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json index 77242cc6bfbf..2599e615fcb3 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json @@ -43,7 +43,7 @@ "description": "List all the existing Smart Detector alert rules within the subscription.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -85,7 +85,7 @@ "description": "List all the existing Smart Detector alert rules within the subscription and resource group.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -130,7 +130,7 @@ "description": "Get a specific Smart Detector alert rule.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -173,7 +173,7 @@ "description": "Create or update a Smart Detector alert rule.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -228,7 +228,7 @@ "description": "Patch a specific Smart Detector alert rule.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -277,7 +277,7 @@ "description": "Delete an existing Smart Detector alert rule.", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -611,7 +611,7 @@ } }, "parameters": { - "SubscriptionIdParameter": { + "subscriptionId": { "name": "subscriptionId", "in": "path", "required": true, diff --git a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7e310183b24c --- /dev/null +++ b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,87 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-alertsmanagement-2020-08-04-preview + - tag: schema-alertsmanagement-2019-06-01 + - tag: schema-alertsmanagement-2019-05-05-preview + - tag: schema-alertsmanagement-2019-03-01 + - tag: schema-alertsmanagement-2018-05-05-preview + - tag: schema-alertsmanagement-2018-05-05 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-alertsmanagement-2020-08-04-preview and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2020-08-04-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json + +``` + +### Tag: schema-alertsmanagement-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json + +``` + +### Tag: schema-alertsmanagement-2019-05-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-05-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json + +``` + +### Tag: schema-alertsmanagement-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json + - Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json + +``` + +### Tag: schema-alertsmanagement-2018-05-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json + +``` + +### Tag: schema-alertsmanagement-2018-05-05 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json + +``` diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md index 13f35726b3ee..5fa1c3add76b 100644 --- a/specification/alertsmanagement/resource-manager/readme.go.md +++ b/specification/alertsmanagement/resource-manager/readme.go.md @@ -12,19 +12,29 @@ go: ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2019-06-preview - tag: package-preview-2019-05 - tag: package-2019-03 - tag: package-2018-05 - tag: package-2018-05-preview ``` +### Tag: package-2019-06-preview and go + +These settings apply only when `--tag=package-2019-06-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-06-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-06-01-preview/$(namespace) +``` + ### Tag: package-preview-2019-05 and go These settings apply only when `--tag=package-preview-2019-05 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-preview-2019-05' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-05/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-05-05-preview/$(namespace) ``` ### Tag: package-2019-03 and go diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md index f3499619c52f..4c1754e7b365 100644 --- a/specification/alertsmanagement/resource-manager/readme.md +++ b/specification/alertsmanagement/resource-manager/readme.md @@ -50,7 +50,9 @@ These settings apply only when `--tag=package-2019-06-preview` is specified on t ```yaml $(tag) == 'package-2019-06-preview' input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json ``` @@ -80,7 +82,9 @@ These settings apply only when `--tag=package-preview-2019-05` is specified on t ``` yaml $(tag) == 'package-preview-2019-05' input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json ``` ### Tag: package-2018-05 @@ -101,6 +105,15 @@ input-file: - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json ``` +### Tag: package-2020-08-04-preview + +These settings apply only when `--tag=package-2020-08-04` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-04-preview' +input-file: +- Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json +``` + --- # Code Generation @@ -116,6 +129,10 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-libraries-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js alertsmanagement/resource-manager ``` ## C# @@ -169,32 +186,7 @@ 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! +## AzureResourceSchema -``` 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.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json - - $(this-folder)/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json - - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json - - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json - - $(this-folder)/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json - - $(this-folder)/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md index 4a374c2f42fd..caac806574a8 100644 --- a/specification/alertsmanagement/resource-manager/readme.trenton.md +++ b/specification/alertsmanagement/resource-manager/readme.trenton.md @@ -7,6 +7,7 @@ overrides: resource: "*" set: - NeedSeparated: true + - CombineCreateUpdate: true - where: resource: "ActionRules" property: "properties" diff --git a/specification/analysisservices/resource-manager/readme.azureresourceschema.md b/specification/analysisservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d89301b2b8b3 --- /dev/null +++ b/specification/analysisservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-analysisservices-2017-08-01 + - tag: schema-analysisservices-2017-07-14 + - tag: schema-analysisservices-2016-05-16 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-analysisservices-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json + +``` + +### Tag: schema-analysisservices-2017-07-14 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2017-07-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json + +``` + +### Tag: schema-analysisservices-2016-05-16 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2016-05-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json + +``` diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md index 47c8ceba9a14..1e60c46b1f69 100644 --- a/specification/analysisservices/resource-manager/readme.md +++ b/specification/analysisservices/resource-manager/readme.md @@ -84,6 +84,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_analysis_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js analysisservices/resource-manager ``` @@ -183,30 +186,7 @@ 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.AnalysisServices/stable/2017-08-01/analysisservices.json - - $(this-folder)/Microsoft.AnalysisServices/preview/2017-08-01-beta/analysisservices.json - - $(this-folder)/Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json - - $(this-folder)/Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json new file mode 100644 index 000000000000..dbe76ee7c35b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json @@ -0,0 +1,765 @@ +{ + "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": "2020-06-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": {}, + "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." + }, + "Resource": { + "description": "The Resource definition.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Resource name.", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type for API Management resource." + } + } + } + }, + "parameters": { + "AccessParameter": { + "name": "accessName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "access" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AccessIdName" + }, + "description": "The identifier of the Access configuration.", + "x-ms-parameter-location": "method" + }, + "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" + }, + "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/preview/2020-06-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json new file mode 100644 index 000000000000..4db90a55a476 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json @@ -0,0 +1,4515 @@ +{ + "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": "2020-06-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}/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", + "application/vnd.sun.wadl+xml", + "application/vnd.swagger.doc+json", + "application/wsdl+xml", + "application/vnd.oai.openapi", + "application/vnd.oai.openapi+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" + }, + "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" + } + }, + "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" + } + } + }, + "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 Specification 2.0 format to the Storage Blob.", + "name": "Swagger" + }, + { + "value": "wsdl-link", + "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`", + "name": "Wsdl" + }, + { + "value": "wadl-link", + "description": "Export the Api Definition in WADL Schema to Storage Blob.", + "name": "Wadl" + }, + { + "value": "openapi-link", + "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.", + "name": "Openapi" + }, + { + "value": "openapi+json-link", + "description": "Export the Api Definition in OpenApi Specification 3.0 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/preview/2020-06-01-preview/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json new file mode 100644 index 000000000000..218a30574d1b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json new file mode 100644 index 000000000000..83bd0afd7008 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json new file mode 100644 index 000000000000..32e766c4c6c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json new file mode 100644 index 000000000000..dbcf80837dc1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json new file mode 100644 index 000000000000..af87ef928dd6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json new file mode 100644 index 000000000000..44928451f319 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json @@ -0,0 +1,325 @@ +{ + "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": "2020-06-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}/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" + }, + { + "$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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json new file mode 100644 index 000000000000..f7807d846737 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/contentTypes": { + "get": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_ListByService", + "description": "Returns list of content types", + "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": "Lists a collection of 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 API Management content type details.", + "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": "Get the details of the 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 an Content Type.", + "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": "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 specified content type.", + "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": "ContentTypeContentItem_ListByService", + "description": "Returns list of content items", + "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": "Lists 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": "ContentTypeContentItem_GetEntityTag", + "description": "Returns content item metadata", + "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": "ContentTypeContentItem_Get", + "description": "Returns content item details", + "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": "Get the details of 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": "ContentTypeContentItem_CreateOrUpdate", + "description": "Creates new content item", + "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": "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": "ContentTypeContentItem_Delete", + "description": "Removes specified 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/preview/2020-06-01-preview/apimdeletedservices.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json new file mode 100644 index 000000000000..4a9f7b9f3a3f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json @@ -0,0 +1,175 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2020-06-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.ApiManagement/deletedservices": { + "get": { + "tags": [ + "DeletedService" + ], + "operationId": "DeletedServices_ListBySubscription", + "description": "Lists all soft-deleted services available for undelete for the given subscription.", + "x-ms-examples": { + "ApiManagementListRegions": { + "$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": { + "ApiManagementListRegions": { + "$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": { + "ApiManagementListRegions": { + "$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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json new file mode 100644 index 000000000000..48547abde3df --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json @@ -0,0 +1,1593 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to manage Azure API Management deployment.", + "version": "2020-06-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.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" + } + } + }, + "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/ApiManagementRestoreService.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": { + "ApiManagementCreateBackup": { + "$ref": "./examples/ApiManagementCreateBackup.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" + }, + "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" + } + }, + "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" + } + } + }, + "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}/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 network settings.", + "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 MSI. 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." + } + }, + "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." + }, + "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 + } + }, + "required": [ + "location", + "sku" + ], + "description": "Description of an additional API Management resource location." + }, + "ApiManagementServiceBackupRestoreParameters": { + "properties": { + "storageAccount": { + "type": "string", + "description": "Azure Cloud Storage account (used to place/retrieve the backup) name." + }, + "accessKey": { + "type": "string", + "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key." + }, + "containerName": { + "type": "string", + "description": "Azure Cloud Storage blob container name used to place/retrieve the backup." + }, + "backupName": { + "type": "string", + "description": "The name of the backup file to create." + } + }, + "required": [ + "storageAccount", + "accessKey", + "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." + }, + "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 + } + }, + "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." + }, + "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 + } + }, + "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." + }, + "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/preview/2020-06-01-preview/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json new file mode 100644 index 000000000000..a6bfde56707c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimemailtemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json new file mode 100644 index 000000000000..c643ef434679 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimgateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json new file mode 100644 index 000000000000..fcb04a5de2ef --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json @@ -0,0 +1,1036 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Gateway entity in Azure API Management deployment.", + "version": "2020-06-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}/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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json new file mode 100644 index 000000000000..91cd3c56c573 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json new file mode 100644 index 000000000000..3f4e1575f017 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json new file mode 100644 index 000000000000..fd1c939cc300 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json new file mode 100644 index 000000000000..a12f9b4e8a01 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimnamedvalues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json new file mode 100644 index 000000000000..f2963834eab4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json @@ -0,0 +1,450 @@ +{ + "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": "2020-06-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}/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" + }, + { + "$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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json new file mode 100644 index 000000000000..564fe2ae3006 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json new file mode 100644 index 000000000000..fc5b13c4987a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json new file mode 100644 index 000000000000..aabb08d6082c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json new file mode 100644 index 000000000000..003e1d0c1dfc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimpolicydescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json new file mode 100644 index 000000000000..f785606df60c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json new file mode 100644 index 000000000000..39535195bb23 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json @@ -0,0 +1,657 @@ +{ + "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": "2020-06-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}/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/preview/2020-06-01-preview/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json new file mode 100644 index 000000000000..52d37b190db9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json new file mode 100644 index 000000000000..1a78d2509c88 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json new file mode 100644 index 000000000000..8844236eb58f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json new file mode 100644 index 000000000000..bb56f128de08 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json new file mode 100644 index 000000000000..b354bcfddf3c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json @@ -0,0 +1,514 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.", + "version": "2020-06-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}/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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-odata": "./definitions.json#/definitions/RequestReportRecordContract" + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json new file mode 100644 index 000000000000..977d3c9f4b3a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json new file mode 100644 index 000000000000..af73144bc8fc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json new file mode 100644 index 000000000000..d40b87031061 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/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": "2020-06-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}/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/preview/2020-06-01-preview/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json new file mode 100644 index 000000000000..9450224bdf04 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json @@ -0,0 +1,749 @@ +{ + "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": "2020-06-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}/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" + } + }, + "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" + } + } + } + }, + "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/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}/git": { + "get": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_Get", + "description": "Gets the Git access configuration for the tenant. Without secrets.", + "x-ms-examples": { + "ApiManagementGetTenantAccess": { + "$ref": "./examples/ApiManagementGetTenantAccess.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": "Git Access Information for the Service.", + "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}/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/{accessName}/git/listSecrets": { + "post": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_ListSecrets", + "description": "Gets the Git access configuration for the tenant.", + "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": "Git Access Information for the Service.", + "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/{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" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json new file mode 100644 index 000000000000..e3898d921ce7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json @@ -0,0 +1,724 @@ +{ + "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": "2020-06-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}/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}/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/preview/2020-06-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json new file mode 100644 index 000000000000..5e8dd300c1d9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json @@ -0,0 +1,5907 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01-preview", + "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": { + "AccessInformationContract": { + "properties": { + "id": { + "type": "string", + "description": "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." + }, + "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" + }, + "ApiCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiContract" + }, + "description": "Page values.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Api list representation." + }, + "ApiContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiContractProperties", + "description": "Api entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Api details." + }, + "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" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": false + } + }, + "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" + ], + "x-ms-enum": { + "name": "ContentFormat", + "modelAsString": true, + "values": [ + { + "value": "wadl-xml", + "description": "The contents are inline and Content type is a WADL document." + }, + { + "value": "wadl-link-json", + "description": "The WADL document is hosted on a publicly accessible internet address." + }, + { + "value": "swagger-json", + "description": "The contents are inline and Content Type is a OpenApi 2.0 Document." + }, + { + "value": "swagger-link-json", + "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address." + }, + { + "value": "wsdl", + "description": "The contents are inline and the document is a WSDL/Soap document." + }, + { + "value": "wsdl-link", + "description": "The WSDL document is hosted on a publicly accessible internet address." + }, + { + "value": "openapi", + "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in YAML format." + }, + { + "value": "openapi+json", + "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in JSON format." + }, + { + "value": "openapi-link", + "description": "The Open Api 3.0 document is hosted on a publicly accessible internet address." + }, + { + "value": "openapi+json-link", + "description": "The Open Api 3.0 Json document is 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 SOAP to REST API \n * `soap` creates a SOAP pass-through API .", + "enum": [ + "http", + "soap" + ], + "x-ms-client-name": "SoapApiType", + "x-ms-enum": { + "name": "SoapApiType", + "modelAsString": true, + "values": [ + { + "value": "http", + "description": "Imports a SOAP API having a RESTful front end.", + "name": "SoapToRest" + }, + { + "value": "soap", + "description": "Imports the Soap API having a SOAP front end.", + "name": "SoapPassThrough" + } + ] + } + } + }, + "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" + ], + "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." + } + }, + "description": "API base contract details." + }, + "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 + }, + "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": "./apimanagement.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 + }, + "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" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": false + } + }, + "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" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": false + } + }, + "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." + }, + "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": "./apimanagement.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 identifer will be located in a HTTP request.", + "enum": [ + "Segment", + "Query", + "Header" + ] + }, + "versionQueryName": { + "type": "string", + "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`." + }, + "versionHeaderName": { + "type": "string", + "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`." + } + } + }, + "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 identifer 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 identifer 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": "./apimanagement.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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "External OAuth authorization server settings." + }, + "AuthorizationServerUpdateContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "User-friendly authorization server name.", + "minLength": 1, + "maxLength": 50 + }, + "clientRegistrationEndpoint": { + "type": "string", + "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." + }, + "authorizationEndpoint": { + "type": "string", + "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." + }, + "grantTypes": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationCode", + "implicit", + "resourceOwnerPassword", + "clientCredentials" + ], + "x-ms-enum": { + "name": "GrantType", + "modelAsString": true, + "values": [ + { + "value": "authorizationCode", + "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1." + }, + { + "value": "implicit", + "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2." + }, + { + "value": "resourceOwnerPassword", + "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3." + }, + { + "value": "clientCredentials", + "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4." + } + ] + } + }, + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Backend list representation." + }, + "BackendContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendContractProperties", + "description": "Backend entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Backend details." + }, + "BackendContractProperties": { + "properties": { + "url": { + "type": "string", + "description": "Runtime Url of the Backend.", + "minLength": 1, + "maxLength": 2000 + }, + "protocol": { + "type": "string", + "enum": [ + "http", + "soap" + ], + "x-ms-enum": { + "name": "BackendProtocol", + "modelAsString": true, + "values": [ + { + "value": "http", + "description": "The Backend is a RESTful service." + }, + { + "value": "soap", + "description": "The Backend is a SOAP service." + } + ] + }, + "description": "Backend communication protocol." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendBaseParameters" + } + ], + "required": [ + "url", + "protocol" + ], + "description": "Parameters supplied to the Create Backend operation." + }, + "BackendCredentialsContract": { + "properties": { + "certificate": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Client Certificate Thumbprint." + }, + "query": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Query Parameter description." + }, + "header": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Header Parameter description." + }, + "authorization": { + "description": "Authorization header authentication", + "$ref": "#/definitions/BackendAuthorizationHeaderCredentials" + } + }, + "description": "Details of the Credentials used to connect to Backend." + }, + "BackendProperties": { + "properties": { + "serviceFabricCluster": { + "$ref": "#/definitions/BackendServiceFabricClusterProperties", + "description": "Backend Service Fabric Cluster Properties" + } + }, + "description": "Properties specific to the Backend Type." + }, + "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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Reconnect request parameters." + }, + "BackendReconnectProperties": { + "properties": { + "after": { + "type": "string", + "format": "duration", + "description": "Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M." + } + }, + "description": "Properties to control reconnect requests." + }, + "BackendServiceFabricClusterProperties": { + "properties": { + "clientCertificatethumbprint": { + "description": "The client certificate thumbprint for the management endpoint.", + "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", + "clientCertificatethumbprint" + ], + "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." + }, + "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": "./apimanagement.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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Certificates list representation." + }, + "CertificateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateContractProperties", + "description": "Certificate properties details." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Certificate details." + }, + "CertificateContractProperties": { + "properties": { + "subject": { + "type": "string", + "description": "Subject attribute of the certificate." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint of the certificate." + }, + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Diagnostic list representation." + }, + "DiagnosticContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiagnosticContractProperties", + "description": "Diagnostic entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Diagnostic details." + }, + "DiagnosticContractProperties": { + "properties": { + "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." + }, + "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": "./apimanagement.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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Group list representation." + }, + "GroupContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupContractProperties", + "description": "Group entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Contract details." + }, + "GroupContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description. Can contain HTML formatting tags.", + "maxLength": 1000 + }, + "builtIn": { + "readOnly": true, + "type": "boolean", + "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false." + }, + "type": { + "type": "string", + "description": "Group type.", + "enum": [ + "custom", + "system", + "external" + ], + "x-ms-enum": { + "name": "GroupType", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null." + } + }, + "required": [ + "displayName" + ], + "description": "Group contract Properties." + }, + "GroupCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupCreateParametersProperties", + "description": "Properties supplied to Create Group operation." + } + }, + "description": "Parameters supplied to the Create Group operation." + }, + "GroupCreateParametersProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description." + }, + "type": { + "type": "string", + "description": "Group type.", + "enum": [ + "custom", + "system", + "external" + ], + "x-ms-enum": { + "name": "GroupType", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null." + } + }, + "required": [ + "displayName" + ], + "description": "Parameters supplied to the Create Group operation." + }, + "GroupUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupUpdateParametersProperties", + "description": "Group entity update contract properties." + } + }, + "description": "Parameters supplied to the Update Group operation." + }, + "GroupUpdateParametersProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description." + }, + "type": { + "type": "string", + "description": "Group type.", + "enum": [ + "custom", + "system", + "external" + ], + "x-ms-enum": { + "name": "GroupType", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null." + } + }, + "description": "Parameters supplied to the Update Group operation." + }, + "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": "./apimanagement.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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Identity Provider details." + }, + "IdentityProviderContractProperties": { + "properties": { + "clientId": { + "type": "string", + "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.", + "minLength": 1 + }, + "clientSecret": { + "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." + }, + "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 + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Issue Attachment list representation." + }, + "IssueAttachmentContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IssueAttachmentContractProperties", + "description": "Properties of the Issue Attachment." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "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 + }, + "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 + }, + "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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Issue Comment Contract details." + }, + "IssueCommentContractProperties": { + "properties": { + "text": { + "type": "string", + "description": "Comment text." + }, + "createdDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the comment was created." + }, + "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": "./apimanagement.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." + }, + "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": "./apimanagement.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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Notification list representation." + }, + "NotificationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NotificationContractProperties", + "description": "Notification entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Notification details." + }, + "NotificationContractProperties": { + "properties": { + "title": { + "type": "string", + "description": "Title of the Notification.", + "minLength": 1, + "maxLength": 1000 + }, + "description": { + "type": "string", + "description": "Description of the Notification." + }, + "recipients": { + "$ref": "#/definitions/RecipientsContractProperties", + "description": "Recipient Parameter values." + } + }, + "required": [ + "title" + ], + "description": "Notification Contract properties." + }, + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged OpenIdProviders list representation." + }, + "OpenidConnectProviderContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OpenidConnectProviderContractProperties", + "description": "OpenId Connect Provider contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "OpenId Connect Provider details." + }, + "OpenidConnectProviderContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "User-friendly OpenID Connect Provider name.", + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "User-friendly description of OpenID Connect Provider." + }, + "metadataEndpoint": { + "type": "string", + "description": "Metadata endpoint URI." + }, + "clientId": { + "type": "string", + "description": "Client ID of developer console which is the client application." + }, + "clientSecret": { + "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 + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "Paged Operation list representation." + }, + "OperationContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationContractProperties", + "description": "Properties of the Operation Contract." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Api Operation details." + }, + "OperationContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Operation Name.", + "minLength": 1, + "maxLength": 300 + }, + "method": { + "type": "string", + "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", + "externalDocs": { + "description": "As defined by RFC.", + "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" + } + }, + "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": { + "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." + } + }, + "required": [ + "name", + "type" + ], + "description": "Operation parameters details." + }, + "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." + }, + "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": "./apimanagement.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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Policy description details." + }, + "PolicyDescriptionContractProperties": { + "properties": { + "description": { + "type": "string", + "description": "Policy description.", + "readOnly": true + }, + "scope": { + "type": "integer", + "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": "./apimanagement.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." + }, + "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": "./apimanagement.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": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Sign-Up settings for a developer portal." + }, + "PortalSignupSettingsProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Allow users to sign up on a developer portal." + }, + "termsOfService": { + "type": "object", + "$ref": "#/definitions/TermsOfServiceProperties", + "description": "Terms of service contract properties." + } + }, + "description": "Sign-up settings contract properties." + }, + "ProductCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductContract" + }, + "description": "Page values." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Products list representation." + }, + "ProductContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductContractProperties", + "description": "Product entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Product details." + }, + "ProductContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Product name.", + "minLength": 1, + "maxLength": 300 + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProductEntityBaseParameters" + } + ], + "required": [ + "displayName" + ], + "description": "Product profile." + }, + "ProductEntityBaseParameters": { + "properties": { + "description": { + "type": "string", + "description": "Product description. May include HTML formatting tags.", + "minLength": 1, + "maxLength": 1000 + }, + "terms": { + "type": "string", + "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process." + }, + "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." + }, + "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": "./apimanagement.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": "./apimanagement.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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Recipient User list representation." + }, + "RecipientEmailContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RecipientEmailContractProperties", + "description": "Recipient Email contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Recipient Email details." + }, + "RecipientEmailContractProperties": { + "properties": { + "email": { + "type": "string", + "description": "User Email subscribed to notification." + } + }, + "description": "Recipient Email Contract Properties." + }, + "RecipientsContractProperties": { + "properties": { + "emails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Emails subscribed for the notification." + }, + "users": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Users subscribed for the notification." + } + }, + "description": "Notification Parameter contract." + }, + "RecipientUserCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RecipientUserContract" + }, + "description": "Page values." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Recipient User list representation." + }, + "RecipientUserContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RecipientUsersContractProperties", + "description": "Recipient User entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Recipient User details." + }, + "RecipientUsersContractProperties": { + "properties": { + "userId": { + "type": "string", + "description": "API Management UserId subscribed to notification." + } + }, + "description": "Recipient User Contract Properties." + }, + "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." + }, + "sample": { + "type": "string", + "description": "An example of the representation." + }, + "schemaId": { + "type": "string", + "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." + }, + "typeName": { + "type": "string", + "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." + }, + "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'.." + } + }, + "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 + }, + "nextLink": { + "type": "string", + "description": "Next page link if any.", + "readOnly": true + } + }, + "description": "The response of the list schema operation." + }, + "SchemaContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SchemaContractProperties", + "description": "Properties of the Schema." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Schema Contract details." + }, + "SchemaContractProperties": { + "properties": { + "contentType": { + "type": "string", + "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml).
    - `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 Swagger/OpenAPI schemas only, null otherwise." + } + }, + "description": "Schema Document Properties." + }, + "SubscriptionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionContract" + }, + "description": "Page values." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Subscriptions list representation." + }, + "SubscriptionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionContractProperties", + "description": "Subscription contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Subscription details." + }, + "SubscriptionContractProperties": { + "properties": { + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Tag list representation." + }, + "TagContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagContractProperties", + "description": "Tag entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Tag Contract details." + }, + "TagContractProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "Tag name.", + "maxLength": 160, + "minLength": 1 + } + }, + "required": [ + "displayName" + ], + "description": "Tag contract Properties." + }, + "TagCreateUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagContractProperties", + "description": "Properties supplied to Create Tag operation." + } + }, + "description": "Parameters supplied to Create/Update Tag operations." + }, + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged TagDescription list representation." + }, + "TagDescriptionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagDescriptionContractProperties", + "description": "TagDescription entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Contract details." + }, + "TagDescriptionContractProperties": { + "properties": { + "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." + }, + "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": { + "branch": { + "type": "string", + "description": "The name of Git branch." + }, + "commitId": { + "type": "string", + "description": "The latest commit Id." + }, + "isExport": { + "type": "boolean", + "description": "value indicating if last sync was save (true) or deploy (false) operation." + }, + "isSynced": { + "type": "boolean", + "description": "value indicating if last synchronization was later than the configuration change." + }, + "isGitEnabled": { + "type": "boolean", + "description": "value indicating whether Git configuration access is enabled." + }, + "syncDate": { + "type": "string", + "format": "date-time", + "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "configurationChangeDate": { + "type": "string", + "format": "date-time", + "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "description": "Tenant Configuration Synchronization State." + }, + "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." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Users list representation." + }, + "UserContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserContractProperties", + "description": "User entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "User details." + }, + "UserContractProperties": { + "properties": { + "firstName": { + "type": "string", + "description": "First name." + }, + "lastName": { + "type": "string", + "description": "Last name." + }, + "email": { + "type": "string", + "description": "Email address." + }, + "registrationDate": { + "type": "string", + "format": "date-time", + "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "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 + }, + "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": "./apimanagement.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": "./apimanagement.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." + }, + "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": "./apimanagement.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": "./apimanagement.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": "./apimanagement.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": "./apimanagement.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." + } + } + } + }, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json new file mode 100644 index 000000000000..bcb094562c01 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + } + }, + "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/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json new file mode 100644 index 000000000000..41d62225bcbb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementAuthorizationServerListSecrets.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "authsid": "newauthServer2" + }, + "responses": { + "200": { + "body": { + "clientSecret": "2", + "resourceOwnerUsername": "un", + "resourceOwnerPassword": "pwd" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json new file mode 100644 index 000000000000..d731afb7bdea --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementBackendReconnect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "backendId": "proxybackend", + "parameters": { + "properties": { + "after": "PT3S" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json new file mode 100644 index 000000000000..8cf894468d7b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAILogger.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json new file mode 100644 index 000000000000..619b795d5b9c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApi.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json new file mode 100644 index 000000000000..0d8e6c534d20 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiClone.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json new file mode 100644 index 000000000000..ae3bdad89557 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiDiagnostic.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json new file mode 100644 index 000000000000..63725f8591b4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssue.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json new file mode 100644 index 000000000000..0a18648f2fe7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json new file mode 100644 index 000000000000..69548de02f8c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiIssueComment.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json new file mode 100644 index 000000000000..033315e00ef2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json new file mode 100644 index 000000000000..76573a3df7c0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperation.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json new file mode 100644 index 000000000000..54b38e94686e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationPolicy.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json new file mode 100644 index 000000000000..ae4f356cad94 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiOperationTag.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json new file mode 100644 index 000000000000..b9e309d08fe8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicy.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json new file mode 100644 index 000000000000..34d68490eeb9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json new file mode 100644 index 000000000000..8a43aa5e8f81 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRelease.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json new file mode 100644 index 000000000000..5eb9fc470247 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json new file mode 100644 index 000000000000..1039cf587a0e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiSchema.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json new file mode 100644 index 000000000000..d99c49cd302e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTag.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json new file mode 100644 index 000000000000..50bce3a5eea9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiTagDescription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json new file mode 100644 index 000000000000..a26417815f8a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json new file mode 100644 index 000000000000..0af2e9e68fc1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json new file mode 100644 index 000000000000..d6849bba079d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json new file mode 100644 index 000000000000..ef9260d07344 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json new file mode 100644 index 000000000000..d4f40bf72928 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiVersionSet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json new file mode 100644 index 000000000000..fad87e295026 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json new file mode 100644 index 000000000000..3333eb5e0051 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateAuthorizationServer.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json new file mode 100644 index 000000000000..9c110306f328 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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": "opensesame" + }, + "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": "opensesame" + }, + "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": "opensesame" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json new file mode 100644 index 000000000000..d15296dc92df --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "backendId": "sfbackend", + "parameters": { + "properties": { + "description": "Service Fabric Test App 1", + "protocol": "http", + "url": "fabric:/mytestapp/mytestservice", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6", + "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" + ], + "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6", + "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" + ], + "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json new file mode 100644 index 000000000000..c2ba80f1eb19 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateBackup.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "teststorageaccount", + "accessKey": "**************************************************", + "containerName": "backupContainer", + "backupName": "apimService1backup_2017_03_19" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview" + } + }, + "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/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json new file mode 100644 index 000000000000..ec7994160ed9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCache.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json new file mode 100644 index 000000000000..1640c103bea6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json new file mode 100644 index 000000000000..c2945ea48098 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateCertificateWithKeyVault.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json new file mode 100644 index 000000000000..8834d81790cb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentType.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json new file mode 100644 index 000000000000..e5068f70e9c0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateContentTypeContentItem.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json new file mode 100644 index 000000000000..5d6be89af0ba --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateDiagnostic.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json new file mode 100644 index 000000000000..54029d45fd00 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateEHLogger.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json new file mode 100644 index 000000000000..803c1cb3d0d7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGateway.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json new file mode 100644 index 000000000000..5df088b7b8f0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayApi.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..ead2d68bca64 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGatewayHostnameConfiguration.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json new file mode 100644 index 000000000000..64865c2913f3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json new file mode 100644 index 000000000000..7f8787a1d353 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupExternal.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json new file mode 100644 index 000000000000..f53b3cac13ca --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateGroupUser.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json new file mode 100644 index 000000000000..6347ea5556b2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateIdentityProvider.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json new file mode 100644 index 000000000000..b73a7cb5ad10 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json new file mode 100644 index 000000000000..760528dc73e7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValue.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json new file mode 100644 index 000000000000..c02c34c81364 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNamedValueWithKeyVault.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "namedValueId": "testprop6", + "parameters": { + "properties": { + "displayName": "prop6namekv", + "keyVault": { + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert" + }, + "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=2020-06-01-preview&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://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "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://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json new file mode 100644 index 000000000000..6b7d0297a34a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotification.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json new file mode 100644 index 000000000000..f86dfd5e4b3f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json new file mode 100644 index 000000000000..43c07a0097cf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json new file mode 100644 index 000000000000..7a4906b4933c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateOpenIdConnectProvider.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json new file mode 100644 index 000000000000..76e8e5189275 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePolicy.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json new file mode 100644 index 000000000000..9b564cd2f705 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProduct.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json new file mode 100644 index 000000000000..4c95efb90c2e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductApi.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json new file mode 100644 index 000000000000..0db31fe5d33d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json new file mode 100644 index 000000000000..e963a2ae3f3a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductPolicy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json new file mode 100644 index 000000000000..401e565450dc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateProductTag.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateService.json new file mode 100644 index 000000000000..e30c9685040f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateService.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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 + } + } + }, + "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 + } + ], + "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=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json new file mode 100644 index 000000000000..5b587d61a0e0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceHavingMsi.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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" + } + } + }, + "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 + } + ], + "virtualNetworkType": "None", + "enableClientCertificate": false + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "SystemAssigned", + "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4", + "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json new file mode 100644 index 000000000000..f3b8d7dc0323 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceInZones.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "publisherEmail": "apim@autorestsdk.com", + "publisherName": "autorestsdk" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "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=2020-06-01-preview" + }, + "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 + } + ], + "virtualNetworkType": "None", + "disableGateway": false + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "zones": [ + "1", + "2" + ] + } + }, + "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 + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "zones": [ + "1", + "2" + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json new file mode 100644 index 000000000000..e137b08d207c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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 + }, + { + "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" + }, + { + "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" + }, + { + "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" + } + ], + "virtualNetworkType": "None", + "disableGateway": false, + "apiVersionConstraint": { + "minApiVersion": "2019-01-01" + } + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + } + } + }, + "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 + }, + { + "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" + }, + { + "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" + }, + { + "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" + } + ], + "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, + "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" + } + } + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json new file mode 100644 index 000000000000..04947bd314e9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithSystemCertificates.json @@ -0,0 +1,154 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Basic", + "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": "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 + } + ], + "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, + "apiVersionConstraint": {} + }, + "sku": { + "name": "Basic", + "capacity": 1 + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json new file mode 100644 index 000000000000..17411e554208 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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 + } + ], + "virtualNetworkType": "None" + }, + "sku": { + "name": "Consumption", + "capacity": 0 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {} + } + } + } + }, + "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 + } + ], + "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 + }, + "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" + } + } + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json new file mode 100644 index 000000000000..2f35ab4cac6b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json new file mode 100644 index 000000000000..7d3551631296 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json new file mode 100644 index 000000000000..b89203c4f074 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateSubscription.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json new file mode 100644 index 000000000000..d2fac0799daf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTag.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json new file mode 100644 index 000000000000..a891904a89e5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateTemplate.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json new file mode 100644 index 000000000000..9e65f5e1cc66 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreateUser.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json new file mode 100644 index 000000000000..2456ef0d3f14 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApi.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json new file mode 100644 index 000000000000..ed91eddca0a5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiDiagnostic.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json new file mode 100644 index 000000000000..e5ac041d2e01 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssue.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json new file mode 100644 index 000000000000..6260dcee32b6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "attachmentId": "57d2ef278aa04f0888cba3f3", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json new file mode 100644 index 000000000000..971bb981ed06 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "apiId": "57d1f7558aa04f15146d9d8a", + "commentId": "599e29ab193c3c0bd0b3e2fb", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json new file mode 100644 index 000000000000..a27085304ec3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json new file mode 100644 index 000000000000..6f8084f32a3b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "testapi", + "operationId": "testoperation", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json new file mode 100644 index 000000000000..db7f26f86550 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "operationId": "59d5b28d1f7fab116c282651", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json new file mode 100644 index 000000000000..77fb0e8801d9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiPolicy.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "loggerId", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json new file mode 100644 index 000000000000..d122be6ed2b0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiRelease.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "5a5fcc09124a7fa9b89f2f1d", + "releaseId": "testrev", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json new file mode 100644 index 000000000000..cb80dae93a18 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiSchema.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "schemaId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json new file mode 100644 index 000000000000..d63703e6e10b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTag.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json new file mode 100644 index 000000000000..268d87f4419a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiTagDescription.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d5b28d1f7fab116c282650", + "tagDescriptionId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json new file mode 100644 index 000000000000..61e2061e0723 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteApiVersionSet.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "versionSetId": "a1", + "If-Match": "*" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json new file mode 100644 index 000000000000..7f0fcda1b0cd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteAuthorizationServer.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "authsid": "newauthServer2", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json new file mode 100644 index 000000000000..a821e9eaae13 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteBackend.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "backendId": "sfbackend", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json new file mode 100644 index 000000000000..d6ced53735f2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCache.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "cacheId": "southindia", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json new file mode 100644 index 000000000000..9a1043a366ca --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "certificateId": "tempcert", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json new file mode 100644 index 000000000000..43402d3c8e31 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentType.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "contentTypeId": "page", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json new file mode 100644 index 000000000000..1bfdb49f901d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteContentTypeContentItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json new file mode 100644 index 000000000000..f2d7803ad4c3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteDiagnostic.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json new file mode 100644 index 000000000000..f35a52f5db12 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGateway.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json new file mode 100644 index 000000000000..ff9efa996b37 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayApi.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..ada98bb25604 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGatewayHostnameConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json new file mode 100644 index 000000000000..f1dd14a19465 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "groupId": "aadGroup", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json new file mode 100644 index 000000000000..c510b3d8e152 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteGroupUser.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "groupId": "templategroup", + "userId": "59307d350af58404d8a26300", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json new file mode 100644 index 000000000000..f94a8e439dbd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteIdentityProvider.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "identityProviderName": "aad", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json new file mode 100644 index 000000000000..c21bc0467cc9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteLogger.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "loggerId": "loggerId", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json new file mode 100644 index 000000000000..a7d49f4b2dca --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNamedValue.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "namedValueId": "testprop2", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json new file mode 100644 index 000000000000..39a8adf115e3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientEmail.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "email": "contoso@live.com" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json new file mode 100644 index 000000000000..48d5d5a1a559 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "userId": "576823d0a40f7e74ec07d642" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json new file mode 100644 index 000000000000..7fef910da865 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteOpenIdConnectProvider.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect3", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json new file mode 100644 index 000000000000..1ab1440b69d6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletePolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json new file mode 100644 index 000000000000..8eddb2b6708c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProduct.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "testproduct", + "deleteSubscriptions": true, + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json new file mode 100644 index 000000000000..1ccaa6e85a42 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductApi.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "testproduct", + "apiId": "echo-api", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json new file mode 100644 index 000000000000..f936f38fdf10 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "testproduct", + "groupId": "templateGroup", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json new file mode 100644 index 000000000000..2bc395f622ba --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductPolicy.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "testproduct", + "policyId": "policy", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json new file mode 100644 index 000000000000..f2071cdfa8d1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteProductTag.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "59d5b28d1f7fab116c282650", + "tagId": "59d5b28e1f7fab116402044e", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json new file mode 100644 index 000000000000..681081be8601 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteSubscription.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sid": "testsub", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json new file mode 100644 index 000000000000..4372de639b9d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTag.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tagId": "tagId1", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json new file mode 100644 index 000000000000..f120cb3ef528 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteTemplate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json new file mode 100644 index 000000000000..68ccd33e4f53 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeleteUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json new file mode 100644 index 000000000000..30c68daf5e51 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json new file mode 100644 index 000000000000..1f165c604d8a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementDeletedServicesPurge.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService3", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json new file mode 100644 index 000000000000..f0d339686d28 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayGenerateToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json new file mode 100644 index 000000000000..b819136e3414 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayListKeys.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1" + }, + "responses": { + "200": { + "body": { + "primary": "primary_key_value", + "secondary": "secondary_key_value" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json new file mode 100644 index 000000000000..b0ef6fc56e46 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGatewayRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gwId", + "parameters": { + "keyType": "primary" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json new file mode 100644 index 000000000000..fef873810558 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiContract.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json new file mode 100644 index 000000000000..3f93b055ffee --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiDiagnostic.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json new file mode 100644 index 000000000000..f512843cdd74 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi2dot0.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json new file mode 100644 index 000000000000..f14fb80ee5c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiExportInOpenApi3dot0.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json new file mode 100644 index 000000000000..7c4985a8e7c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssue.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json new file mode 100644 index 000000000000..c3ce2e32b603 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json new file mode 100644 index 000000000000..fcfb4193289c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiIssueComment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json new file mode 100644 index 000000000000..248732ab7ebc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperation.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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", + "sample": "\r\n\r\n \r\n \r\n 1\r\n \r\n \r\n", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrder" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "IFazioService_CancelOrder_OutputMessage", + "representations": [ + { + "contentType": "text/xml", + "sample": "\r\n\r\n \r\n \r\n 1\r\n \r\n \r\n", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrderResponse" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json new file mode 100644 index 000000000000..19332e3f6817 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json new file mode 100644 index 000000000000..e059fe77279f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json new file mode 100644 index 000000000000..5cb9098006fd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiOperationTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json new file mode 100644 index 000000000000..202b43c3069d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiPolicy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json new file mode 100644 index 000000000000..a43f08677b5b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRelease.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json new file mode 100644 index 000000000000..0fc7f51db655 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiRevision.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json new file mode 100644 index 000000000000..ec36f1b34797 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiSchema.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json new file mode 100644 index 000000000000..720ba5cb103c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTag.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json new file mode 100644 index 000000000000..9c89f046ddcc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiTagDescription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json new file mode 100644 index 000000000000..5cd3a2fc3daf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetApiVersionSet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json new file mode 100644 index 000000000000..68360d49e9c0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetAuthorizationServer.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json new file mode 100644 index 000000000000..1c91275b8805 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetBackend.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + ], + "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json new file mode 100644 index 000000000000..4726f660414b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCache.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json new file mode 100644 index 000000000000..33526b16bf63 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json new file mode 100644 index 000000000000..9ec311ff43e4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json new file mode 100644 index 000000000000..3cbf82f676cb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentType.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json new file mode 100644 index 000000000000..3992d40ee51e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetContentTypeContentItem.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json new file mode 100644 index 000000000000..6d85bea5a4b7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDeletedServiceByName.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService3", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json new file mode 100644 index 000000000000..81fa6686e651 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetDiagnostic.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json new file mode 100644 index 000000000000..81b39c802832 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGateway.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..338c448706f0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json new file mode 100644 index 000000000000..833feaa62b7b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json new file mode 100644 index 000000000000..97b9e1488c7f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIdentityProvider.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json new file mode 100644 index 000000000000..2239666930c1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetIssue.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json new file mode 100644 index 000000000000..e841df62dd1c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetLogger.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json new file mode 100644 index 000000000000..0f985ed9146a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValue.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json new file mode 100644 index 000000000000..57d4b52e8cb8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json new file mode 100644 index 000000000000..6b7d0297a34a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetNotification.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json new file mode 100644 index 000000000000..0530deb1d21a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json new file mode 100644 index 000000000000..6077b92eafd6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicy.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json new file mode 100644 index 000000000000..48e37da34fe4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPolicyFormat.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json new file mode 100644 index 000000000000..ca26615588fb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProduct.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json new file mode 100644 index 000000000000..ff2e08733ea8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductPolicy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json new file mode 100644 index 000000000000..61abf1257c81 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetProductTag.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json new file mode 100644 index 000000000000..c620808ea72a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json new file mode 100644 index 000000000000..9f2657010d1d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json new file mode 100644 index 000000000000..7fb71bd87239 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByApi.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json new file mode 100644 index 000000000000..61123d73fbf6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByGeo.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json new file mode 100644 index 000000000000..044b3fac4edb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByOperation.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json new file mode 100644 index 000000000000..21670a33a873 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByProduct.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json new file mode 100644 index 000000000000..229a04f6fb86 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByRequest.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json new file mode 100644 index 000000000000..d5fe01338505 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsBySubscription.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json new file mode 100644 index 000000000000..92b4b0b48e3d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByTime.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json new file mode 100644 index 000000000000..a75bc98c2a2f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetReportsByUser.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json new file mode 100644 index 000000000000..b676ce95f821 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTag.json new file mode 100644 index 000000000000..6731fe050098 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json new file mode 100644 index 000000000000..8cf2b0190cf2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTemplate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json new file mode 100644 index 000000000000..93932543df7f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetTenantAccess.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": { + "body": { + "id": "5600b59375ff190048030003", + "enabled": true + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json new file mode 100644 index 000000000000..6bbdf2e206d4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetUser.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json new file mode 100644 index 000000000000..50b325e1b598 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApi.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json new file mode 100644 index 000000000000..2ce252ee87b4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiDiagnostic.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json new file mode 100644 index 000000000000..fe58ac88b529 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssue.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json new file mode 100644 index 000000000000..a4ea190a4bb9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "attachmentId": "57d2ef278aa04f0888cba3f3" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json new file mode 100644 index 000000000000..e6d4a6e777d6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiIssueComment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "issueId": "57d2ef278aa04f0ad01d6cdc", + "commentId": "599e29ab193c3c0bd0b3e2fb" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json new file mode 100644 index 000000000000..eded86f7d3f9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperation.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d2ef278aa04f0888cba3f3", + "operationId": "57d2ef278aa04f0ad01d6cdc" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json new file mode 100644 index 000000000000..4e5592c7ed4a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationPolicy.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "5600b539c53f5b0062040001", + "operationId": "5600b53ac53f5b0062080006", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json new file mode 100644 index 000000000000..be8c80e887c4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiOperationTag.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "operationId": "59d6bb8f1f7fab13dc67ec9a", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json new file mode 100644 index 000000000000..06fe21531066 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiPolicy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json new file mode 100644 index 000000000000..1daa119850fb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiRelease.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "a1", + "releaseId": "5a7cb545298324c53224a799" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json new file mode 100644 index 000000000000..53ada6295bbc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiSchema.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "57d1f7558aa04f15146d9d8a", + "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json new file mode 100644 index 000000000000..3af1593849f4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTag.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json new file mode 100644 index 000000000000..10013cf30dd9 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiTagDescription.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "apiId": "59d6bb8f1f7fab13dc67ec9b", + "tagDescriptionId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json new file mode 100644 index 000000000000..19d74745c2a2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadApiVersionSet.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "versionSetId": "vs1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json new file mode 100644 index 000000000000..b0cc21645f2d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadAuthorizationServer.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "authsid": "newauthServer2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json new file mode 100644 index 000000000000..42880d255b50 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadBackend.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "backendId": "sfbackend" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json new file mode 100644 index 000000000000..b8c234443954 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCache.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "cacheId": "default" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json new file mode 100644 index 000000000000..23cefcb4ef40 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadCertificate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "certificateId": "templateCert1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json new file mode 100644 index 000000000000..06ed7f8ace4a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadContentTypeContentItem.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json new file mode 100644 index 000000000000..c47b61600d79 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDelegationSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json new file mode 100644 index 000000000000..ec83014b9f40 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadDiagnostic.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "diagnosticId": "applicationinsights" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json new file mode 100644 index 000000000000..1f8c05912c21 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadEmailTemplate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "templateName": "newIssueNotificationMessage" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json new file mode 100644 index 000000000000..79f8cc1a83f4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGateway.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "mygateway" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json new file mode 100644 index 000000000000..9fa9626c4ad5 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayApi.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1", + "apiId": "api1" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json new file mode 100644 index 000000000000..e980097253ec --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "gatewayId": "gw1", + "hcId": "default" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json new file mode 100644 index 000000000000..63649c50827d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroup.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "groupId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json new file mode 100644 index 000000000000..10171b29af03 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadGroupUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "groupId": "59306a29e4bbd510dc24e5f9", + "userId": "5931a75ae4bbd512a88c680b" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json new file mode 100644 index 000000000000..339a8b120b51 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadIdentityProvider.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "identityProviderName": "aadB2C" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json new file mode 100644 index 000000000000..18a864d57e83 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadLogger.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "loggerId": "templateLogger" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json new file mode 100644 index 000000000000..f783fa01c78b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNamedValue.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "namedValueId": "testarmTemplateproperties2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json new file mode 100644 index 000000000000..893611c4148a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "email": "contoso@live.com" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json new file mode 100644 index 000000000000..bcd278b46da6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "notificationName": "RequestPublisherNotificationMessage", + "userId": "576823d0a40f7e74ec07d642" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json new file mode 100644 index 000000000000..e48999ceb3b4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json new file mode 100644 index 000000000000..d2b2be6dba18 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPolicy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json new file mode 100644 index 000000000000..bd71bdc6cd4f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProduct.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "unlimited" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json new file mode 100644 index 000000000000..1b974f3b83f4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductApi.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "5931a75ae4bbd512a88c680b", + "apiId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json new file mode 100644 index 000000000000..39852b18ff8f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "5931a75ae4bbd512a88c680b", + "groupId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json new file mode 100644 index 000000000000..be455d591168 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductPolicy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "unlimited", + "policyId": "policy" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json new file mode 100644 index 000000000000..9833d5de0a83 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadProductTag.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "productId": "59306a29e4bbd510dc24e5f8", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json new file mode 100644 index 000000000000..c47b61600d79 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignInSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json new file mode 100644 index 000000000000..c47b61600d79 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSignUpSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json new file mode 100644 index 000000000000..51def46e143d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadSubscription.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sid": "5931a769d8d14f0ad8ce13b8" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json new file mode 100644 index 000000000000..8391eeef7436 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTag.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tagId": "59306a29e4bbd510dc24e5f9" + }, + "responses": { + "200": { + "headers": { + "Etag": "AAAAAAAACCI=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json new file mode 100644 index 000000000000..7e52ca73be60 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadTenantAccess.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json new file mode 100644 index 000000000000..4a74e419b4f8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadUser.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512a88c680b" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json new file mode 100644 index 000000000000..6273dc91c38b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementIdentityProviderListSecrets.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "identityProviderName": "aadB2C" + }, + "responses": { + "200": { + "body": { + "clientSecret": "XXXXXXX" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json new file mode 100644 index 000000000000..2c32c74665a7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiDiagnostics.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json new file mode 100644 index 000000000000..efda0253ddde --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueAttachments.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json new file mode 100644 index 000000000000..996a15abe6cb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssueComments.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json new file mode 100644 index 000000000000..64b2cc085949 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiIssues.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json new file mode 100644 index 000000000000..eac6a7c3ded4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationPolicies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json new file mode 100644 index 000000000000..54b576745bd3 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationTags.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json new file mode 100644 index 000000000000..b6c0a2b7676e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperations.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json new file mode 100644 index 000000000000..a4ace8f70931 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiOperationsByTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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." + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json new file mode 100644 index 000000000000..ce589c840a9c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiPolicies.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json new file mode 100644 index 000000000000..e626dfce85e0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiProducts.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json new file mode 100644 index 000000000000..dfe7fd84b39e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiReleases.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json new file mode 100644 index 000000000000..8b6b42328b0e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiRevisions.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json new file mode 100644 index 000000000000..538964ee2e23 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiSchemas.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json new file mode 100644 index 000000000000..4d84c70df645 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTagDescriptions.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json new file mode 100644 index 000000000000..147c621553a0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiTags.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json new file mode 100644 index 000000000000..f329e40a10ec --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApiVersionSets.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json new file mode 100644 index 000000000000..db0d0849f41a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApis.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json new file mode 100644 index 000000000000..b396de8237e6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListApisByTags.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json new file mode 100644 index 000000000000..e0df828f7b16 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListAuthorizationServers.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListBackends.json new file mode 100644 index 000000000000..524eca3e55cc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListBackends.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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": "opensesame" + }, + "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" + ], + "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json new file mode 100644 index 000000000000..8e1e5ca24b5e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCaches.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json new file mode 100644 index 000000000000..4dd72b49e187 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListCertificates.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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" + } + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json new file mode 100644 index 000000000000..ff2a4e716b5f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypeContentItems.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json new file mode 100644 index 000000000000..077412fcfbd1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListContentTypes.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json new file mode 100644 index 000000000000..b0a623a0bc7f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListDiagnostics.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json new file mode 100644 index 000000000000..e94db2a0ea4d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayApis.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json new file mode 100644 index 000000000000..0ffb5cc2a202 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListGateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGateways.json new file mode 100644 index 000000000000..94ab4066e519 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGateways.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json new file mode 100644 index 000000000000..16d826ee40ff --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroupUsers.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json new file mode 100644 index 000000000000..72a61f4553b1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListGroups.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json new file mode 100644 index 000000000000..c29bb8a0081e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIdentityProviders.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json new file mode 100644 index 000000000000..77f71015014f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListIssues.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json new file mode 100644 index 000000000000..a729ca673b72 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListLoggers.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json new file mode 100644 index 000000000000..eb5c84ef99f0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNamedValues.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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://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 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json new file mode 100644 index 000000000000..25bb6a21d20f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json new file mode 100644 index 000000000000..77906dafa840 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json new file mode 100644 index 000000000000..45f47aa91f26 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListNotifications.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + ] + } + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json new file mode 100644 index 000000000000..dd49e8285555 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOpenIdConnectProviders.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json new file mode 100644 index 000000000000..626e102fde6f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListOperations.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview" + }, + "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/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json new file mode 100644 index 000000000000..57512a308209 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicies.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json new file mode 100644 index 000000000000..d4023ee28171 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPolicyDescriptions.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json new file mode 100644 index 000000000000..b08a8253d794 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductApis.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json new file mode 100644 index 000000000000..2cd39b327237 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductGroups.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json new file mode 100644 index 000000000000..91d5451d3f77 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductPolicies.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json new file mode 100644 index 000000000000..75609168a95c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductSubscriptions.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json new file mode 100644 index 000000000000..6858019dfc09 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductTags.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json new file mode 100644 index 000000000000..5e4609befdc1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProducts.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json new file mode 100644 index 000000000000..37d1513c8655 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListProductsByTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json new file mode 100644 index 000000000000..5b853c1ded22 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListRegions.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json new file mode 100644 index 000000000000..c69f25a2e01c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Consumption.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json new file mode 100644 index 000000000000..87b62d9a1beb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSKUs-Dedicated.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json new file mode 100644 index 000000000000..b7a67c34de9b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json new file mode 100644 index 000000000000..0d36f2e5bf5d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSecretsTenantAccess.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "200": { + "body": { + "id": "5600b59375ff190048030003", + "primaryKey": "qr5nbjNoZkgtLojXgU+OA/ntYMgko3XPSVyt+ObwR1sqp2ZkM9tGhwxkeEz7bfAuPS5ss61b2S3ZrZmqa9v3Mw==", + "secondaryKey": "2dCJv1CasJl286SZiKxyBFDiIYCUdbwM1YrFNDcFMXCjCKbFzomrGkv+exAbnV5E3DEk91VP4jbeJ2eV/qtejA==", + "enabled": true + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json new file mode 100644 index 000000000000..4cdfc7cc390b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscription.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3", + "name": "apimService3", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAAXXAQ=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-05-27T15:33:55.5426123Z", + "gatewayUrl": "https://apimService3.azure-api.net", + "portalUrl": "https://apimService3.portal.azure-api.net", + "managementApiUrl": "https://apimService3.management.azure-api.net", + "scmUrl": "https://apimService3.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "13.88.16.64" + ], + "additionalLocations": [ + { + "location": "West Europe", + "sku": { + "name": "Premium", + "capacity": 1 + }, + "publicIPAddresses": [ + "52.233.184.197" + ] + } + ], + "virtualNetworkType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.ApiManagement/service/apimService2", + "name": "apimService2", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAAXW4U=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "MS", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-05-26T23:55:31.1405115Z", + "gatewayUrl": "https://apimService2.azure-api.net", + "portalUrl": "https://apimService2.portal.azure-api.net", + "managementApiUrl": "https://apimService2.management.azure-api.net", + "scmUrl": "https://apimService2.scm.azure-api.net", + "hostnameConfigurations": [], + "publicIPAddresses": [ + "13.64.237.151" + ], + "virtualNetworkType": "None" + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService5", + "name": "apimService5", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAAXW5c=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-05-26T18:13:02.0196315Z", + "gatewayUrl": "https://apimService5.azure-api.net", + "portalUrl": "https://apimService5.portal.azure-api.net", + "managementApiUrl": "https://apimService5.management.azure-api.net", + "scmUrl": "https://apimService5.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "proxytemplatehostname1.contoso.com", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19", + "subject": "CN=proxytemplatehostname1.contoso.com" + } + }, + { + "type": "Proxy", + "hostName": "proxytemplatehostname2.contoso.com", + "negotiateClientCertificate": true, + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19", + "subject": "CN=proxytemplatehostname2.contoso.com" + } + }, + { + "type": "Proxy", + "hostName": "proxytemplatehostname3.azure-api.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3", + "subject": "CN=proxytemplatehostname3.contoso.com" + } + }, + { + "type": "Proxy", + "hostName": "proxytemplatehostname4.azure-api.net", + "negotiateClientCertificate": true, + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3", + "subject": "CN=proxytemplatehostname4.contoso.com" + } + }, + { + "type": "Portal", + "hostName": "portaltemplatehostname1.contoso.com", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "DE57B67BA63D21E925DA8BEFA436E6B7553A4C19", + "subject": "CN=portaltemplatehostname1.contoso.com" + } + } + ], + "publicIPAddresses": [ + "13.93.167.166" + ], + "virtualNetworkType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json new file mode 100644 index 000000000000..c23bcd843757 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Pool": "Perf", + "UID": "98f4a706-98c7-4aec-8e39-51ab2e4aaf22" + }, + "location": "West US", + "etag": "AAAAAAAhNiA=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-10-13T01:36:27.1706097Z", + "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": true + } + ], + "publicIPAddresses": [ + "104.42.221.195" + ], + "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": "Standard", + "capacity": 1 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService2", + "name": "apimService2", + "type": "Microsoft.ApiManagement/service", + "tags": { + "Pool": "Endurance", + "UID": "07d6dd0e-111f-4b5c-81f3-87e5501d0408" + }, + "location": "West US", + "etag": "AAAAAAAhNh4=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "contoso", + "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2019-10-13T01:36:27.4003514Z", + "gatewayUrl": "https://apimService2.azure-api.net", + "gatewayRegionalUrl": "https://apimService2-westus-01.regional.azure-api.net", + "portalUrl": "https://apimService2.portal.azure-api.net", + "developerPortalUrl": "https://apimService2.developer.azure-api.net", + "managementApiUrl": "https://apimService2.management.azure-api.net", + "scmUrl": "https://apimService2.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Proxy", + "hostName": "apimService2.azure-api.net", + "negotiateClientCertificate": false, + "defaultSslBinding": true + } + ], + "publicIPAddresses": [ + "104.42.220.196" + ], + "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": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json new file mode 100644 index 000000000000..a56f8b34e014 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListSubscriptions.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json new file mode 100644 index 000000000000..d690c5a922c2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTagResources.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTags.json new file mode 100644 index 000000000000..19333c4aea58 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json new file mode 100644 index 000000000000..138810fa541d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListTemplates.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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" + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json new file mode 100644 index 000000000000..26014aa0203d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserGroups.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json new file mode 100644 index 000000000000..7f3ee6429a8d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserIdentities.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "57f2af53bb17172280f44057" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "provider": "Microsoft", + "id": "086cf9********55ab" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json new file mode 100644 index 000000000000..d8f0f7486dd2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUserSubscriptions.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementListUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUsers.json new file mode 100644 index 000000000000..f888f4e0996d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListUsers.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2020-06-01-preview", + "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": "*************" + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json new file mode 100644 index 000000000000..b215e1cdbaca --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementNamedValueListValue.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "namedValueId": "testarmTemplateproperties2" + }, + "responses": { + "200": { + "body": { + "value": "propValue" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json new file mode 100644 index 000000000000..1ad7560c42bf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "opid": "templateOpenIdConnect2" + }, + "responses": { + "200": { + "body": { + "clientSecret": "oidsecretproviderTemplate2" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json new file mode 100644 index 000000000000..8dadd7eb8b4e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json new file mode 100644 index 000000000000..9ec33b58b927 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json new file mode 100644 index 000000000000..38ef5dff521f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json new file mode 100644 index 000000000000..8bb69e9d27db --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "url": "http://contoso.com/delegation", + "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json new file mode 100644 index 000000000000..c01a06d9baf8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json new file mode 100644 index 000000000000..32e37f3b7559 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json new file mode 100644 index 000000000000..0d101b20a8f2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "url": "http://contoso.com/delegation", + "validationKey": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==", + "subscriptions": { + "enabled": true + }, + "userRegistration": { + "enabled": true + } + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json new file mode 100644 index 000000000000..a93c220bcf7f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "5931a75ae4bbd512288c680b", + "If-Match": "*", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json new file mode 100644 index 000000000000..c7a607e1c8cd --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json new file mode 100644 index 000000000000..c2ba80f1eb19 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementRestoreService.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "storageAccount": "teststorageaccount", + "accessKey": "**************************************************", + "containerName": "backupContainer", + "backupName": "apimService1backup_2017_03_19" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2020-06-01-preview" + } + }, + "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/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json new file mode 100644 index 000000000000..c65b77e59dc8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "name": "apimService1" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Valid", + "message": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json new file mode 100644 index 000000000000..e295d6734724 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceDeleteService.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2020-06-01-preview" + }, + "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/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json new file mode 100644 index 000000000000..ad944244f2de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + }, + { + "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 + } + ], + "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/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json new file mode 100644 index 000000000000..af76a259d10e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatus.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "location": "West Europe", + "networkStatus": { + "dnsServers": [ + "100.78.90.70" + ], + "connectivityStatus": [ + { + "name": "apimgmtsttgzqxxxxxcrsc.blob.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:43.6997938Z", + "lastStatusChange": "2019-01-24T21:47:53.851895Z", + "resourceType": "BlobStorage", + "isOptional": false + }, + { + "name": "apimgmtsttgzqxxxxxcrsc.file.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:44.0439771Z", + "lastStatusChange": "2019-05-02T21:22:50.6835366Z", + "resourceType": "FileStorage", + "isOptional": true + }, + { + "name": "apimgmtsttgzqxxxxxcrsc.queue.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:44.8564232Z", + "lastStatusChange": "2019-05-02T20:53:26.6260794Z", + "resourceType": "Queue", + "isOptional": true + }, + { + "name": "apimgmtsttgzqxxxxxcrsc.table.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:44.0439771Z", + "lastStatusChange": "2019-05-02T20:53:21.6729263Z", + "resourceType": "TableStorage", + "isOptional": true + }, + { + "name": "ftmrcxxx.database.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:44.1845483Z", + "lastStatusChange": "2019-05-02T21:02:00.9466899Z", + "resourceType": "SQLDatabase", + "isOptional": false + }, + { + "name": "https://prod3.metrics.nsatc.net:1886/RecoveryService", + "status": "failure", + "error": "Failed to connect to https://prod3.metrics.nsatc.net:1886/RecoveryService with error Unable to connect to the remote server", + "lastUpdated": "2019-12-18T12:04:30.1214083Z", + "lastStatusChange": "2019-01-24T22:00:04.2450462Z", + "resourceType": "Metrics", + "isOptional": false + }, + { + "name": "https://westeurope.prod.warm.ingestion.msftcloudes.com", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:43.8251399Z", + "lastStatusChange": "2019-12-18T11:14:43.3860126Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "LocalGatewayRedis", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:50.6376685Z", + "lastStatusChange": "2019-12-18T11:14:44.4966742Z", + "resourceType": "InternalCache", + "isOptional": false + }, + { + "name": "prod.warmpath.msftcloudes.com", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:44.4345454Z", + "lastStatusChange": "2019-05-08T00:09:58.031766Z", + "resourceType": "Monitoring", + "isOptional": true + }, + { + "name": "Scm", + "status": "success", + "error": "", + "lastUpdated": "2019-12-18T12:04:58.4815899Z", + "lastStatusChange": "2019-12-18T11:24:48.4795085Z", + "resourceType": "SourceControl", + "isOptional": true + }, + { + "name": "smtpi-db3.msn.com:25028", + "status": "failure", + "error": "Connection smtpi-db3.msn.com:25028 failed with Error Unable to connect to the remote server", + "lastUpdated": "2019-12-18T12:04:30.1526431Z", + "lastStatusChange": "2019-12-18T11:23:05.7709057Z", + "resourceType": "Email", + "isOptional": true + } + ] + } + } + ] + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json new file mode 100644 index 000000000000..ef8f5ba53087 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "locationName": "North Central US" + }, + "responses": { + "200": { + "body": { + "dnsServers": [ + "100.78.90.70" + ], + "connectivityStatus": [ + { + "name": "apimgmtst6mtxxxxxxxx.blob.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:07.3844516Z", + "lastStatusChange": "2018-06-13T20:31:06.6590782Z", + "resourceType": "BlobStorage", + "isOptional": false + }, + { + "name": "apimgmtst6mtxxxxxxxx.file.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:08.6657305Z", + "lastStatusChange": "2018-06-13T20:31:06.8934611Z", + "resourceType": "FileStorage", + "isOptional": true + }, + { + "name": "apimgmtst6mtxxxxxxxx.table.core.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:08.7594708Z", + "lastStatusChange": "2018-06-13T20:31:06.7529128Z", + "resourceType": "TableStorage", + "isOptional": true + }, + { + "name": "https://prod3.metrics.nsatc.net:1886/RecoveryService", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:08.6969746Z", + "lastStatusChange": "2018-06-13T20:31:07.1125257Z", + "resourceType": "Metrics", + "isOptional": false + }, + { + "name": "n20fxxx.database.windows.net", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:09.5094848Z", + "lastStatusChange": "2018-06-13T20:31:07.0968711Z", + "resourceType": "SQLDatabase", + "isOptional": false + }, + { + "name": "Scm", + "status": "success", + "error": "", + "lastUpdated": "2018-06-13T22:41:29.4358865Z", + "lastStatusChange": "2018-06-13T20:41:09.8627827Z", + "resourceType": "SourceControl", + "isOptional": true + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json new file mode 100644 index 000000000000..e1aa7fe649ed --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetService.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "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": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": true + }, + { + "type": "Management", + "hostName": "mgmt.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2", + "subject": "CN=*.msitesting.net" + }, + "defaultSslBinding": false + }, + { + "type": "Portal", + "hostName": "portal1.msitesting.net", + "negotiateClientCertificate": false, + "certificate": { + "expiry": "2036-01-01T07:00:00+00:00", + "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2", + "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/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json new file mode 100644 index 000000000000..9438ae63ef41 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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 + }, + { + "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 + } + ], + "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/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json new file mode 100644 index 000000000000..1e05df222ce8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetSsoToken.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json new file mode 100644 index 000000000000..7dbc11ad3cce --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionListSecrets.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sid": "5931a769d8d14f0ad8ce13b8" + }, + "responses": { + "200": { + "body": { + "primaryKey": "6de0a3b2da204e459148d2f6785873f0", + "secondaryKey": "c6de00b451f64ea780db1eb8dcf30b62" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json new file mode 100644 index 000000000000..617d9ea77148 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sid": "testsub" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json new file mode 100644 index 000000000000..617d9ea77148 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sid": "testsub" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json new file mode 100644 index 000000000000..f57fc39bd0de --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "accessName": "access" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json new file mode 100644 index 000000000000..665c90ef358f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantAccessSyncState.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "configurationName": "configuration" + }, + "responses": { + "200": { + "body": { + "branch": "master", + "commitId": "44c29c27a876372e2ea18d9c381cc493a6a89fc5", + "isExport": true, + "isSynced": false, + "isGitEnabled": true, + "syncDate": "2016-10-24T19:17:14.3641403Z", + "configurationChangeDate": "2017-06-03T00:41:30.9670873Z" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json new file mode 100644 index 000000000000..00f2537b8768 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationDeploy.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + } + }, + "200": { + "body": { + "id": "5a1af4ae2a6d2e0b688d7517", + "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/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json new file mode 100644 index 000000000000..38b2292e3272 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationSave.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + } + }, + "200": { + "body": { + "id": "5cae98acb597440f487b0d78", + "status": "Succeeded", + "started": "2019-04-11T01:30:20.883Z", + "updated": "2019-04-11T01:30:41.623Z", + "resultInfo": "The configuration was successfully saved to master as commit 709678560f72e689e469cf98ba9ba6d1b7736893.", + "error": null, + "actionLog": [] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json new file mode 100644 index 000000000000..bfd57da0c36c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementTenantConfigurationValidate.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + } + }, + "200": { + "body": { + "id": "5a1af64e2a6d2e0b688d751e", + "status": "Succeeded", + "started": "2019-04-11T01:30:51.767Z", + "updated": "2019-04-11T01:30:57.653Z", + "resultInfo": "Validation is successfull", + "actionLog": [ + { + "objectType": "ApiSpecificationContract", + "action": "Updated", + "objectKey": "57914cb351f68a16889be190;rev=1" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "5768181ea40f7eb6c49f6ac7" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "576819c9a40f7e86289fb3e3" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "576819f1a40f7e86289fb6de" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681a67a40f7e72b4132522" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681a73a40f7e72b413281d" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681a7ea40f7e72b4132b18" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681b88a40f7ea0f017f099" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681b9fa40f7ea0f017f682" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681bb5a40f7ea0f017fc6b" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681bcaa40f7ea0f0180254" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681bdfa40f7ea0f018083d" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681bf5a40f7ea0f0180e26" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681c0ea40f7ea0f018140f" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681c26a40f7ea0f01819f8" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681c83a40f7e85f44db237" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681cb2a40f7e85f44dbcd0" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681ce3a40f7e85f44dc769" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681d1fa40f7e85f44dd202" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681d60a40f7e85f44ddc9b" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681db4a40f7e85f44de735" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681e11a40f7e85f44df1ce" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681e73a40f7e85f44dfc67" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "57681f06a40f7e74ec07785c" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "5768211fa40f7e74ec07a74a" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "576823cfa40f7e74ec07d63a" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "5600b57e7e8880006a060001" + }, + { + "objectType": "ProductSpecificationContract", + "action": "Updated", + "objectKey": "5600b57e7e8880006a060002" + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json new file mode 100644 index 000000000000..be7ec949239a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUndelete.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview" + }, + "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=2020-06-01-preview" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json new file mode 100644 index 000000000000..bab1e87ab463 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApi.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json new file mode 100644 index 000000000000..03a72af628b2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiDiagnostic.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json new file mode 100644 index 000000000000..d912b69765b4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiIssue.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json new file mode 100644 index 000000000000..a1fa1d1d6621 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiOperation.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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", + "sample": "\r\n\r\n \r\n \r\n 1\r\n \r\n \r\n", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrder" + } + ] + }, + "responses": [ + { + "statusCode": 200, + "description": "IFazioService_CancelOrder_OutputMessage", + "representations": [ + { + "contentType": "text/xml", + "sample": "\r\n\r\n \r\n \r\n 1\r\n \r\n \r\n", + "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8", + "typeName": "CancelOrderResponse" + } + ], + "headers": [] + } + ] + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json new file mode 100644 index 000000000000..0e335402cf6d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiRelease.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json new file mode 100644 index 000000000000..06fce04d05c4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateApiVersionSet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json new file mode 100644 index 000000000000..6903baf6406a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateAuthorizationServer.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json new file mode 100644 index 000000000000..ecb94af38949 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateBackend.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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": "opensesame" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json new file mode 100644 index 000000000000..40d8440bb57c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateCache.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json new file mode 100644 index 000000000000..f4a4569cf51f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateDiagnostic.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json new file mode 100644 index 000000000000..82e231c8e2bc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGateway.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json new file mode 100644 index 000000000000..5e4fe1fd7249 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateGroup.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json new file mode 100644 index 000000000000..fca16f78b7fe --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateIdentityProvider.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json new file mode 100644 index 000000000000..80194d98a0f4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateLogger.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json new file mode 100644 index 000000000000..9fc3b7df72a4 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateNamedValue.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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=2020-06-01-preview&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/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json new file mode 100644 index 000000000000..a6318c8c4c89 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json new file mode 100644 index 000000000000..a46b1b0f03ce --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateProduct.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json new file mode 100644 index 000000000000..ac84c9b3432a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json new file mode 100644 index 000000000000..a21c5e5bbe6b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json new file mode 100644 index 000000000000..19ff7d253b17 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json new file mode 100644 index 000000000000..c499a5d2e168 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json new file mode 100644 index 000000000000..b8d6e6d2cc35 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateSubscription.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json new file mode 100644 index 000000000000..052a7d86f32d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTag.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json new file mode 100644 index 000000000000..73720dea26d6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTemplate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json new file mode 100644 index 000000000000..9649d5b2d0bb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateTenantAccess.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "If-Match": "*", + "accessName": "access", + "parameters": { + "properties": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "5600b59375ff190048030003", + "enabled": true + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json new file mode 100644 index 000000000000..509719245cb0 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdateUser.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json new file mode 100644 index 000000000000..f8a24bd75354 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "userId": "57127d485157a511ace86ae7" + }, + "responses": { + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json new file mode 100644 index 000000000000..3b97a599accb --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/preview/2020-06-01-preview/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserToken.json new file mode 100644 index 000000000000..6213f36318c1 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUserToken.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "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/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json index 1ef1cbc9f30f..8ff951e395bc 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json @@ -12,12 +12,6 @@ "schema": { "properties": { "en_us": { - "$ref": "#/definitions/metadata" - } - }, - "additionalProperties": false, - "definitions": { - "metadata": { "type": "object", "properties": { "title": { @@ -57,7 +51,8 @@ "documentId" ] } - } + }, + "additionalProperties": false }, "version": "1.0.0" } @@ -75,12 +70,6 @@ "schema": { "properties": { "en_us": { - "$ref": "#/definitions/metadata" - } - }, - "additionalProperties": false, - "definitions": { - "metadata": { "type": "object", "properties": { "title": { @@ -120,7 +109,8 @@ "documentId" ] } - } + }, + "additionalProperties": false }, "version": "1.0.0" } @@ -137,12 +127,6 @@ "schema": { "properties": { "en_us": { - "$ref": "#/definitions/metadata" - } - }, - "additionalProperties": false, - "definitions": { - "metadata": { "type": "object", "properties": { "title": { @@ -182,7 +166,8 @@ "documentId" ] } - } + }, + "additionalProperties": false }, "version": "1.0.0" } diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json index 236c09de813f..fe3b604cd40c 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json @@ -18,12 +18,6 @@ "schema": { "properties": { "en_us": { - "$ref": "#/definitions/metadata" - } - }, - "additionalProperties": false, - "definitions": { - "metadata": { "type": "object", "properties": { "title": { @@ -63,7 +57,8 @@ "documentId" ] } - } + }, + "additionalProperties": false }, "version": "1.0.0" } diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json index 4a008fed1b45..fe7ccc552877 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json @@ -19,12 +19,6 @@ "schema": { "properties": { "en_us": { - "$ref": "#/definitions/metadata" - } - }, - "additionalProperties": false, - "definitions": { - "metadata": { "type": "object", "properties": { "title": { @@ -64,7 +58,8 @@ "documentId" ] } - } + }, + "additionalProperties": false }, "version": "1.0.0" } diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..99e3ce1ce490 --- /dev/null +++ b/specification/apimanagement/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,352 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-apimanagement-2020-06-01-preview + - tag: schema-apimanagement-2019-12-01-preview + - tag: schema-apimanagement-2019-12-01 + - tag: schema-apimanagement-2019-01-01 + - tag: schema-apimanagement-2018-06-01-preview + - tag: schema-apimanagement-2018-01-01 + - tag: schema-apimanagement-2017-03-01 + - tag: schema-apimanagement-2016-10-10 + - tag: schema-apimanagement-2016-07-07 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-apimanagement-2020-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2020-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json + +``` + +### Tag: schema-apimanagement-2019-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json + +``` + +### Tag: schema-apimanagement-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapis.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json + - Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json + - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json + - Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json + - Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json + - Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2019-12-01/apimissues.json + - Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json + - Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json + - Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json + - Microsoft.ApiManagement/stable/2019-12-01/apimregions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimreports.json + - Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json + - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json + - Microsoft.ApiManagement/stable/2019-12-01/definitions.json + +``` + +### Tag: schema-apimanagement-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapis.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json + - Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json + - Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json + - Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json + - Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json + - Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2019-01-01/apimissues.json + - Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json + - Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json + - Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json + - Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json + - Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json + - Microsoft.ApiManagement/stable/2019-01-01/apimregions.json + - Microsoft.ApiManagement/stable/2019-01-01/apimreports.json + - Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json + - Microsoft.ApiManagement/stable/2019-01-01/apimusers.json + - Microsoft.ApiManagement/stable/2019-01-01/definitions.json + +``` + +### Tag: schema-apimanagement-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json + +``` + +### Tag: schema-apimanagement-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json + - Microsoft.ApiManagement/stable/2018-01-01/apimapis.json + - Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json + - Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json + - Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json + - Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json + - Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json + - Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json + - Microsoft.ApiManagement/stable/2018-01-01/apimreports.json + - Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtags.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json + - Microsoft.ApiManagement/stable/2018-01-01/apimusers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json + +``` + +### Tag: schema-apimanagement-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json + - Microsoft.ApiManagement/stable/2017-03-01/apimapis.json + - Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json + - Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json + - Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json + - Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json + - Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json + - Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json + - Microsoft.ApiManagement/stable/2017-03-01/apimreports.json + - Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtags.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json + - Microsoft.ApiManagement/stable/2017-03-01/apimusers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json + +``` + +### Tag: schema-apimanagement-2016-10-10 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2016-10-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json + - Microsoft.ApiManagement/stable/2016-10-10/apimapis.json + - Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json + - Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json + - Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json + - Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json + - Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json + - Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json + - Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json + - Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json + - Microsoft.ApiManagement/stable/2016-10-10/apimreports.json + - Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json + - Microsoft.ApiManagement/stable/2016-10-10/apimusers.json + +``` + +### Tag: schema-apimanagement-2016-07-07 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2016-07-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json + - Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.json + +``` diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index c9c4710e178d..38edc5918a9e 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -28,10 +28,53 @@ These are the global settings for the ApiManagement API. title: ApiManagementClient description: ApiManagement Client openapi-type: arm -tag: package-2019-12 +tag: package-preview-2020-06 ``` +### Tag: package-preview-2020-06 + +These settings apply only when `--tag=package-preview-2020-06` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-06' +input-file: + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json +``` ### Tag: package-2019-12 These settings apply only when `--tag=package-2019-12` is specified on the command line. @@ -74,6 +117,7 @@ input-file: - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json - Microsoft.ApiManagement/stable/2019-12-01/definitions.json ``` + ### Tag: package-preview-2019-12 These settings apply only when `--tag=package-preview-2019-12` is specified on the command line. @@ -345,6 +389,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js apimanagement/resource-manager ``` ## C# @@ -373,230 +420,7 @@ 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. +## AzureResourceSchema -This block is updated by an automatic script. Edits may be lost! +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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.ApiManagement/stable/2019-12-01/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimissues.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimregions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/definitions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimissues.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimregions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/definitions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json - - $(this-folder)/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtags.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimapis.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimreports.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-10-10/apimusers.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json - - $(this-folder)/Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.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/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json new file mode 100644 index 000000000000..e8822e146841 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json @@ -0,0 +1,1960 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01-preview", + "title": "AppConfigurationManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the configuration stores for a given subscription.", + "operationId": "ConfigurationStores_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStoreListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_List": { + "$ref": "./examples/ConfigurationStoresList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the configuration stores for a given resource group.", + "operationId": "ConfigurationStores_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStoreListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_ListByResourceGroup": { + "$ref": "./examples/ConfigurationStoresListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Gets the properties of the specified configuration store.", + "operationId": "ConfigurationStores_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Get": { + "$ref": "./examples/ConfigurationStoresGet.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationStores" + ], + "description": "Creates a configuration store with the specified parameters.", + "operationId": "ConfigurationStores_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "configStoreCreationParameters", + "in": "body", + "description": "The parameters for creating a configuration store.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "201": { + "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Create": { + "$ref": "./examples/ConfigurationStoresCreate.json" + }, + "ConfigurationStores_Create_WithIdentity": { + "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ConfigurationStores" + ], + "description": "Deletes a configuration store.", + "operationId": "ConfigurationStores_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "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": "No Content - the specified resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Delete": { + "$ref": "./examples/ConfigurationStoresDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ConfigurationStores" + ], + "description": "Updates a configuration store with the specified parameters.", + "operationId": "ConfigurationStores_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "configStoreUpdateParameters", + "in": "body", + "description": "The parameters for updating a configuration store.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationStoreUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "201": { + "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Update": { + "$ref": "./examples/ConfigurationStoresUpdate.json" + }, + "ConfigurationStores_Update_WithIdentity": { + "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": { + "post": { + "tags": [ + "Operations" + ], + "description": "Checks whether the configuration store name is available for use.", + "operationId": "Operations_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "description": "The object containing information for the availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/NameAvailabilityStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_CheckNameAvailable": { + "$ref": "./examples/CheckNameAvailable.json" + }, + "ConfigurationStores_CheckNameNotAvailable": { + "$ref": "./examples/CheckNameNotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeys": { + "post": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the access key for the specified configuration store.", + "operationId": "ConfigurationStores_ListKeys", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ApiKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_ListKeys": { + "$ref": "./examples/ConfigurationStoresListKeys.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/regenerateKey": { + "post": { + "tags": [ + "ConfigurationStores" + ], + "description": "Regenerates an access key for the specified configuration store.", + "operationId": "ConfigurationStores_RegenerateKey", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "regenerateKeyParameters", + "in": "body", + "description": "The parameters for regenerating an access key.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ApiKey" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_RegenerateKey": { + "$ref": "./examples/ConfigurationStoresRegenerateKey.json" + } + } + } + }, + "/providers/Microsoft.AppConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists the operations available from this provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": {}, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_ListByConfigurationStore", + "description": "Lists all private endpoint connections for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_List": { + "$ref": "./examples/ConfigurationStoresListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_GetConnection": { + "$ref": "./examples/ConfigurationStoresGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of the specified private endpoint connection associated with the configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection properties.", + "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 successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/ConfigurationStoresCreatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + } + ], + "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": "No Content - the specified resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/ConfigurationStoresDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByConfigurationStore", + "description": "Gets the private link resources that need to be created for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListGroupIds": { + "$ref": "./examples/PrivateLinkResourcesListByConfigurationStore.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "description": "Gets a private link resource that need to be created for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/keyValues": { + "get": { + "tags": [ + "KeyValues" + ], + "description": "Lists the key-values for a given configuration store.", + "operationId": "KeyValues_ListByConfigurationStore", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/KeyValueListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "KeyValues_ListByConfigurationStore": { + "$ref": "./examples/ConfigurationStoresListKeyValues.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/keyValues/{keyValueName}": { + "get": { + "tags": [ + "KeyValues" + ], + "description": "Gets the properties of the specified key-value.", + "operationId": "KeyValues_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "keyValueName", + "in": "path", + "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/KeyValue" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "KeyValues_Get": { + "$ref": "./examples/ConfigurationStoresGetKeyValue.json" + } + } + }, + "put": { + "tags": [ + "KeyValues" + ], + "description": "Creates a key-value.", + "operationId": "KeyValues_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "keyValueName", + "in": "path", + "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.", + "required": true, + "type": "string" + }, + { + "name": "keyValueParameters", + "in": "body", + "description": "The parameters for creating a key-value.", + "required": false, + "schema": { + "$ref": "#/definitions/KeyValue" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/KeyValue" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "KeyValues_CreateOrUpdate": { + "$ref": "./examples/ConfigurationStoresCreateKeyValue.json" + } + } + }, + "delete": { + "tags": [ + "KeyValues" + ], + "description": "Deletes a key-value.", + "operationId": "KeyValues_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "keyValueName", + "in": "path", + "description": "Identifier of key and label combination. Key and label are joined by $ character. Label is optional.", + "required": true, + "type": "string" + } + ], + "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": "No Content - the specified resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "KeyValues_Delete": { + "$ref": "./examples/ConfigurationStoresDeleteKeyValue.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ConfigurationStoreListResult": { + "description": "The result of a request to list configuration stores.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "ConfigurationStore": { + "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.", + "required": [ + "location", + "sku" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The managed identity information, if configured." + }, + "properties": { + "$ref": "#/definitions/ConfigurationStoreProperties", + "description": "The properties of a configuration store.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the configuration store." + } + } + }, + "ConfigurationStoreProperties": { + "description": "The properties of a configuration store.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the configuration store.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of configuration store.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The DNS endpoint where the configuration store API will be available.", + "type": "string", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "The encryption settings of the configuration store." + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionReference" + } + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "EncryptionProperties": { + "type": "object", + "description": "The encryption settings for a configuration store.", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "PrivateEndpointConnectionReference": { + "type": "object", + "description": "A reference to a related private endpoint connection.", + "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 + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "KeyVaultProperties": { + "type": "object", + "description": "Settings concerning key vault encryption for a configuration store.", + "properties": { + "keyIdentifier": { + "description": "The URI of the key vault key used to encrypt data.", + "type": "string" + }, + "identityClientId": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + } + } + }, + "ConfigurationStoreUpdateParameters": { + "description": "The parameters for updating a configuration store.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters", + "description": "The properties for updating a configuration store.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The managed identity information for the configuration store." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the configuration store." + }, + "tags": { + "description": "The ARM resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConfigurationStorePropertiesUpdateParameters": { + "description": "The properties for updating a configuration store.", + "type": "object", + "properties": { + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "The encryption settings of the configuration store." + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Parameters used for checking whether a resource name is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name to check for availability.", + "type": "string" + }, + "type": { + "description": "The resource type to check for name availability.", + "enum": [ + "Microsoft.AppConfiguration/configurationStores" + ], + "type": "string", + "x-ms-enum": { + "name": "ConfigurationResourceType", + "modelAsString": true + } + } + } + }, + "NameAvailabilityStatus": { + "description": "The result of a request to check the availability of a resource name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value indicating whether the resource name is available.", + "type": "boolean", + "readOnly": true + }, + "message": { + "description": "If any, the error message that provides more detail for the reason that the name is not available.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "If any, the reason that the name is not available.", + "type": "string", + "readOnly": true + } + } + }, + "ApiKeyListResult": { + "description": "The result of a request to list API keys.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/ApiKey" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "ApiKey": { + "description": "An API key used for authenticating with a configuration store endpoint.", + "type": "object", + "properties": { + "id": { + "description": "The key ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "A name for the key describing its usage.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the key that is used for authentication purposes.", + "type": "string", + "readOnly": true + }, + "connectionString": { + "description": "A connection string that can be used by supporting clients for authentication.", + "type": "string", + "readOnly": true + }, + "lastModified": { + "format": "date-time", + "description": "The last time any of the key's properties were modified.", + "type": "string", + "readOnly": true + }, + "readOnly": { + "description": "Whether this key can only be used for read operations.", + "type": "boolean", + "readOnly": true + } + } + }, + "RegenerateKeyParameters": { + "description": "The parameters used to regenerate an API key.", + "type": "object", + "properties": { + "id": { + "description": "The id of the key to regenerate.", + "type": "string" + } + } + }, + "KeyValueListResult": { + "description": "The result of a request to list key-values.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyValue" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "KeyValue": { + "description": "The key-value resource along with all resource properties.", + "type": "object", + "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 + }, + "properties": { + "$ref": "#/definitions/KeyValueProperties", + "description": "All key-value properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "KeyValueProperties": { + "description": "All key-value properties.", + "type": "object", + "properties": { + "key": { + "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the key-value.", + "type": "string" + }, + "contentType": { + "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.", + "type": "string" + }, + "eTag": { + "description": "An ETag indicating the state of a key-value within a configuration store.", + "type": "string", + "readOnly": true + }, + "lastModified": { + "format": "date-time", + "description": "The last time a modifying operation was performed on the given key-value.", + "type": "string", + "readOnly": true + }, + "locked": { + "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.", + "type": "boolean", + "readOnly": true + }, + "tags": { + "description": "A dictionary of tags that can help identify what a key-value may be applicable for.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "OperationDefinitionListResult": { + "description": "The result of a request to list configuration store operations.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationDefinition" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "OperationDefinition": { + "description": "The definition of a configuration store 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": { + "$ref": "#/definitions/OperationDefinitionDisplay", + "description": "The display information for the configuration store operation." + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDefinitionDisplay": { + "description": "The display information for a configuration store operation.", + "type": "object", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft App Configuration.\"", + "type": "string", + "readOnly": true + }, + "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" + } + } + }, + "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" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "internalMetricName": { + "description": "Internal metric name.", + "type": "string" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + } + } + }, + "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": "Internal name of the dimension.", + "type": "string" + } + } + }, + "ResourceIdentity": { + "type": "object", + "description": "An identity that can be associated with a resource.", + "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 identities.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + }, + "principalId": { + "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "Sku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The SKU name of the configuration store.", + "type": "string" + } + }, + "description": "Describes a configuration store SKU." + }, + "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 + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "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" + } + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "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 + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "description": "The provisioning status of the private endpoint connection.", + "x-ms-enum": { + "name": "ProvisioningState", + "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 for 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." + }, + "actionsRequired": { + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "readOnly": true, + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, + "PrivateLinkResourceListResult": { + "type": "object", + "description": "A list of private link resources.", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "type": "object", + "description": "A resource that supports private link capabilities.", + "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 + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Private link resource properties.", + "x-ms-client-flatten": true + } + } + }, + "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" + }, + "readOnly": true, + "description": "The list of required DNS zone names of the private link resource." + } + }, + "description": "Properties of a private link resource." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Microsoft Azure subscription ID.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the container registry belongs.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ConfigStoreNameParameter": { + "name": "configStoreName", + "in": "path", + "description": "The name of the configuration store.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9_-]*$", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "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" + ] + } + ] +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json new file mode 100644 index 000000000000..60426fdaac53 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-07-01-preview", + "checkNameAvailabilityParameters": { + "name": "contoso", + "type": "Microsoft.AppConfiguration/configurationStores" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "The specified name is available.", + "reason": null + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json new file mode 100644 index 000000000000..10e2a074401d --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/CheckNameNotAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-07-01-preview", + "checkNameAvailabilityParameters": { + "name": "contoso", + "type": "Microsoft.AppConfiguration/configurationStores" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The specified name is already in use." + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json new file mode 100644 index 000000000000..0e5185e46219 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "configStoreCreationParameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "tags": { + "myTag": "myTagValue" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Creating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json new file mode 100644 index 000000000000..3fa26edbd9ed --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateKeyValue.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "keyValueName": "myKey$myLabel", + "keyValueParameters": { + "properties": { + "value": "myValue", + "tags": { + "tag1": "tagValue1", + "tag2": "tagValue2" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores/keyValues", + "properties": { + "key": "myKey", + "label": "myLabel", + "value": "myValue", + "contentType": "", + "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp", + "lastModified": "2020-06-23T06:42:24+00:00", + "locked": false, + "tags": { + "tag1": "tagValue1", + "tag2": "tagValue2" + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel", + "name": "myKey$myLabel" + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json new file mode 100644 index 000000000000..a026b6f66db1 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-07-01-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json new file mode 100644 index 000000000000..79d2c7e12504 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresCreateWithIdentity.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "configStoreCreationParameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "tags": { + "myTag": "myTagValue" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Creating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json new file mode 100644 index 000000000000..34d501fb71f3 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json new file mode 100644 index 000000000000..6ca474efd8aa --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeleteKeyValue.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "keyValueName": "myKey$myLabel" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..ecbb9f0539e4 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json new file mode 100644 index 000000000000..d41981042b67 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json new file mode 100644 index 000000000000..356021bb1e5e --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetKeyValue.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "keyValueName": "myKey$myLabel" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores/keyValues", + "properties": { + "key": "myKey", + "label": "myLabel", + "value": "myValue", + "contentType": "", + "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp", + "lastModified": "2020-06-23T06:42:24+00:00", + "locked": false, + "tags": { + "tag1": "tagValue1", + "tag2": "tagValue2" + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel", + "name": "myKey$myLabel" + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..9ce8bf38b42b --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json new file mode 100644 index 000000000000..c1ba19057f81 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresList.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + }, + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T23:06:59+00:00", + "endpoint": "https://contoso2.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2", + "name": "contoso2", + "location": "westus", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json new file mode 100644 index 000000000000..551d59e280a4 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + }, + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T23:06:59+00:00", + "endpoint": "https://contoso2.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2", + "name": "contoso2", + "location": "westus", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json new file mode 100644 index 000000000000..43c85eb330f1 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeyValues.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AppConfiguration/configurationStores/keyValues", + "properties": { + "key": "myKey", + "label": "myLabel", + "value": "myValue", + "contentType": "", + "eTag": "IhDxoa8VkXxPsYsemBlxvV0d5fp", + "lastModified": "2020-06-23T06:42:24+00:00", + "locked": false, + "tags": { + "tag1": "tagValue1", + "tag2": "tagValue2" + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey$myLabel", + "name": "myKey$myLabel" + }, + { + "type": "Microsoft.AppConfiguration/configurationStores/keyValues", + "properties": { + "key": "myKey2", + "label": "myLabel2", + "value": "myValue", + "contentType": "", + "eTag": "IfDxoa8VkXxPsYsemBlxvV0d5fp", + "lastModified": "2020-06-23T06:42:24+00:00", + "locked": false, + "tags": { + "tag1": "tagValue1", + "tag2": "tagValue2" + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/keyValues/myKey2$myLabel2", + "name": "myKey2$myLabel2" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json new file mode 100644 index 000000000000..f064d35f0ed6 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListKeys.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "439AD01B4BE67DB1", + "name": "Primary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": false + }, + { + "id": "CB45E100456857B9", + "name": "Secondary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": false + }, + { + "id": "B3AC55B7E71431A9", + "name": "Primary Read Only", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": true + }, + { + "id": "E2AF6A9A89DCC177", + "name": "Secondary Read Only", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": true + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json new file mode 100644 index 000000000000..36721dcecc33 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json new file mode 100644 index 000000000000..8176bceba950 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresRegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "regenerateKeyParameters": { + "id": "439AD01B4BE67DB1" + } + }, + "responses": { + "200": { + "body": { + "id": "439AD01B4BE67DB1", + "name": "Primary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-26T22:59:24.2370906+00:00", + "readOnly": false + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json new file mode 100644 index 000000000000..72378ed10084 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "configStoreUpdateParameters": { + "tags": { + "Category": "Marketing" + }, + "sku": { + "name": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Updating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json new file mode 100644 index 000000000000..986fcb164e24 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "configStoreUpdateParameters": { + "tags": { + "Category": "Marketing" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Updating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..73499f7a781c --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview", + "groupName": "configurationStores" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores", + "name": "configurationStores", + "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources", + "properties": { + "groupId": "configurationStores", + "requiredMembers": [ + "configurationStores" + ], + "requiredZoneNames": [ + "privatelink.azconfig.io" + ] + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json new file mode 100644 index 000000000000..c1e4767ffe02 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2020-07-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores", + "name": "configurationStores", + "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources", + "properties": { + "groupId": "configurationStores", + "requiredMembers": [ + "configurationStores" + ], + "requiredZoneNames": [ + "privatelink.azconfig.io" + ] + } + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json index aae591980eaa..f82beb0b8e13 100644 --- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json @@ -1045,6 +1045,18 @@ "encryption": { "$ref": "#/definitions/EncryptionProperties", "description": "The encryption settings of the configuration store." + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } } } }, diff --git a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8c628ac435fb --- /dev/null +++ b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-appconfiguration-2020-06-01 + - tag: schema-appconfiguration-2019-11-01-preview + - tag: schema-appconfiguration-2019-10-01 + - tag: schema-appconfiguration-2019-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-appconfiguration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json + +``` diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md index 169e554cc7cc..cdcf3496c0b5 100644 --- a/specification/appconfiguration/resource-manager/readme.go.md +++ b/specification/appconfiguration/resource-manager/readme.go.md @@ -13,19 +13,29 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-07-01-preview - tag: package-2020-06-01 - tag: package-2019-11-01-preview - tag: package-2019-10-01 - tag: package-2019-02-01-preview ``` +### 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-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) +``` + ### Tag: package-2020-06-01 and go These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-06-01' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-01/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) ``` ### Tag: package-2019-11-01-preview and go diff --git a/specification/appconfiguration/resource-manager/readme.java.md b/specification/appconfiguration/resource-manager/readme.java.md index f20aca80ff98..deefcca752c4 100644 --- a/specification/appconfiguration/resource-manager/readme.java.md +++ b/specification/appconfiguration/resource-manager/readme.java.md @@ -16,11 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appconfiguration ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-07-01-preview - tag: package-2020-06-01 - tag: package-2019-10-01 - tag: package-2019-02-01-preview ``` +### 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. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag)=='package-2020-07-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appconfiguration.v2020_07_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/appconfiguration/mgmt-v2020_07_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-06-01 and java These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line. diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md index 1368cb987b57..920bdb01695d 100644 --- a/specification/appconfiguration/resource-manager/readme.md +++ b/specification/appconfiguration/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the AppConfiguration API. ``` yaml openapi-type: arm -tag: package-2020-06-01 +tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview + +These settings apply only when `--tag=2020-07-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-preview' +input-file: +- Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json ``` ### Tag: package-2020-06-01 @@ -85,6 +94,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_app_configuration'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js appconfiguration/resource-manager ``` ## C# @@ -125,34 +137,11 @@ directive: reason: We did consider using an enum instead but found it to not be helpful. - suppress: EnumInsteadOfBoolean from: appconfiguration.json - where: $.definitions.KeyValue.properties.locked + where: $.definitions.KeyValueProperties.properties.locked reason: This is data plane level information proxied through the RP and cannot be changed. ``` -## 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! +## AzureResourceSchema -``` 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.AppConfiguration/stable/2020-06-01/appconfiguration.json - - $(this-folder)/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json - - $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json - - $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/examples/track.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/examples/track.json new file mode 100644 index 000000000000..dad4cd1bc839 --- /dev/null +++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/examples/track.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "Host": "{Host}", + "body": [ + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + }, + { + "ver": 1, + "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event", + "time": "2020-09-22T10:12:53.208-0700", + "sampleRate": 100.0, + "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc", + "tags": { + "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5", + "ai.internal.nodeName": "MININT-PLOJ2RD", + "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f", + "ai.cloud.roleInstance": "MININT-PLOJ2RD", + "ai.operation.childid": "75706a2ac9456288" + } + } + ] + }, + "responses": { + "200": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 1, + "errors": [] + } + }, + "206": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 1, + "errors": [] + } + }, + "400": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 0, + "errors": [ + { + "index": 1, + "statusCode": 400, + "message": "103: Field 'time' on type 'Envelope' is older than the allowed min date. Expected: now - 172800000ms, Actual: now - 2694990759ms" + } + ] + } + }, + "402": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 0, + "errors": [ + { + "index": 1, + "statusCode": 402, + "message": "" + } + ] + } + }, + "429": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 0, + "errors": [ + { + "index": 1, + "statusCode": 429, + "message": "" + } + ] + } + }, + "500": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 0, + "errors": [ + { + "index": 1, + "statusCode": 500, + "message": "" + } + ] + } + }, + "503": { + "headers": {}, + "body": { + "itemsReceived": 1, + "itemsAccepted": 0, + "errors": [ + { + "index": 1, + "statusCode": 503, + "message": "" + } + ] + } + } + } +} diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json new file mode 100644 index 000000000000..3c790353ec37 --- /dev/null +++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json @@ -0,0 +1,1022 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-15_Preview", + "title": "ApplicationInsightsClient", + "description": "This document describes the protocol for client requests and responses to the data collection endpoint." + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Host}/v2/", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Host" + } + ] + }, + "paths": { + "/track": { + "post": { + "summary": "Track telemetry events", + "description": "This operation sends a sequence of telemetry events that will be monitored by Azure Monitor.", + "operationId": "track", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "The list of telemetry events to track.", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TelemetryEnvelope" + } + } + } + ], + "consumes": [ + "application/json", + "x-json-stream" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "All of the telemetry items were accepted and processed.", + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "206": { + "description": "Partial success. Some of the telemetry items were accepted and processed.", + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "400": { + "description": "Bad Request", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "402": { + "description": "Payment Required", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "429": { + "description": "Too Many Requests", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "500": { + "description": "Internal Server Error", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/TrackResponse" + } + }, + "503": { + "description": "Service Unavailable", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/TrackResponse" + } + } + }, + "x-ms-examples": { + "Track examples": { + "$ref": "examples/track.json" + } + } + } + } + }, + "definitions": { + "AvailabilityData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "Instances of AvailabilityData represent the result of executing an availability test.", + "required": [ + "id", + "name", + "duration", + "success" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of a test run. Use it to correlate steps of test run and telemetry generated by the service.", + "maxLength": 512 + }, + "name": { + "type": "string", + "description": "Name of the test that these availability results represent.", + "maxLength": 1024 + }, + "duration": { + "type": "string", + "description": "Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days." + }, + "success": { + "type": "boolean", + "x-nullable": false, + "description": "Success flag." + }, + "runLocation": { + "type": "string", + "description": "Name of the location where the test was run from.", + "maxLength": 1024 + }, + "message": { + "type": "string", + "description": "Diagnostic message for the result.", + "maxLength": 8192 + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "Base": { + "x-ms-client-name": "MonitorBase", + "type": "object", + "description": "Data struct to contain only C section with custom fields.", + "properties": { + "baseType": { + "type": "string", + "description": "Name of item (B section) if any. If telemetry data is derived straight from this, this should be null." + }, + "baseData": { + "$ref": "#/definitions/Domain", + "description": "The data payload for the telemetry request" + } + } + }, + "DataPoint": { + "x-ms-client-name": "MetricDataPoint", + "type": "object", + "description": "Metric data single measurement.", + "required": [ + "name", + "value" + ], + "properties": { + "ns": { + "x-ms-client-name": "namespace", + "type": "string", + "description": "Namespace of the metric.", + "maxLength": 256 + }, + "name": { + "type": "string", + "description": "Name of the metric.", + "maxLength": 1024 + }, + "kind": { + "x-ms-client-name": "dataPointType", + "$ref": "#/definitions/DataPointType", + "description": "Metric type. Single measurement or the aggregated value." + }, + "value": { + "type": "number", + "description": "Single value for measurement. Sum of individual measurements for the aggregation.", + "format": "double" + }, + "count": { + "type": "number", + "format": "int32", + "description": "Metric weight of the aggregated metric. Should not be set for a measurement.", + "x-nullable": true + }, + "min": { + "type": "number", + "format": "double", + "description": "Minimum value of the aggregated metric. Should not be set for a measurement.", + "x-nullable": true + }, + "max": { + "type": "number", + "format": "double", + "description": "Maximum value of the aggregated metric. Should not be set for a measurement.", + "x-nullable": true + }, + "stdDev": { + "type": "number", + "format": "double", + "description": "Standard deviation of the aggregated metric. Should not be set for a measurement.", + "x-nullable": true + } + } + }, + "DataPointType": { + "type": "string", + "description": "Type of the metric data measurement.", + "enum": [ + "Measurement", + "Aggregation" + ] + }, + "Domain": { + "x-ms-client-name": "MonitorDomain", + "type": "object", + "description": "The abstract common base of all domains.", + "required": [ + "ver" + ], + "additionalProperties": true, + "properties": { + "ver": { + "x-ms-client-name": "version", + "type": "integer", + "format": "int32", + "description": "Schema version", + "default": 2 + } + } + }, + "EventData": { + "x-ms-client-name": "TelemetryEventData", + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.", + "maxLength": 512 + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "ExceptionData": { + "x-ms-client-name": "TelemetryExceptionData", + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.", + "required": [ + "exceptions" + ], + "properties": { + "exceptions": { + "type": "array", + "description": "Exception chain - list of inner exceptions.", + "items": { + "$ref": "#/definitions/ExceptionDetails" + } + }, + "severityLevel": { + "x-nullable": true, + "description": "Severity level. Mostly used to indicate exception severity level when it is reported by logging library.", + "$ref": "#/definitions/SeverityLevel" + }, + "problemId": { + "type": "string", + "description": "Identifier of where the exception was thrown in code. Used for exceptions grouping. Typically a combination of exception type and a function from the call stack.", + "maxLength": 1024 + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "ExceptionDetails": { + "x-ms-client-name": "TelemetryExceptionDetails", + "type": "object", + "description": "Exception details of the exception in a chain.", + "required": [ + "message" + ], + "properties": { + "id": { + "type": "number", + "format": "int32", + "description": "In case exception is nested (outer exception contains inner one), the id and outerId properties are used to represent the nesting." + }, + "outerId": { + "type": "number", + "format": "int32", + "description": "The value of outerId is a reference to an element in ExceptionDetails that represents the outer exception" + }, + "typeName": { + "type": "string", + "description": "Exception type name.", + "maxLength": 1024 + }, + "message": { + "type": "string", + "description": "Exception message.", + "maxLength": 32768 + }, + "hasFullStack": { + "type": "boolean", + "default": true, + "description": "Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception." + }, + "stack": { + "type": "string", + "description": "Text describing the stack. Either stack or parsedStack should have a value.", + "maxLength": 32768 + }, + "parsedStack": { + "type": "array", + "description": "List of stack frames. Either stack or parsedStack should have a value.", + "items": { + "$ref": "#/definitions/StackFrame" + } + } + } + }, + "MessageData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements.", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string", + "description": "Trace message", + "maxLength": 32768 + }, + "severityLevel": { + "$ref": "#/definitions/SeverityLevel", + "description": "Trace severity level." + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "MetricsData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of the Metric item is a list of measurements (single data points) and/or aggregations.", + "required": [ + "metrics" + ], + "properties": { + "metrics": { + "type": "array", + "description": "List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used.", + "items": { + "$ref": "#/definitions/DataPoint" + } + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + } + } + } + ] + }, + "PageViewData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of a page view instance. Used for correlation between page view and other telemetry items.", + "maxLength": 512 + }, + "name": { + "type": "string", + "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.", + "maxLength": 1024 + }, + "url": { + "type": "string", + "description": "Request URL with all query string parameters", + "maxLength": 2048 + }, + "duration": { + "type": "string", + "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days." + }, + "referredUri": { + "type": "string", + "description": "Fully qualified page URI or URL of the referring page; if unknown, leave blank", + "maxLength": 2048 + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "PageViewPerfData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of a page view instance. Used for correlation between page view and other telemetry items.", + "maxLength": 512 + }, + "name": { + "type": "string", + "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.", + "maxLength": 1024 + }, + "url": { + "type": "string", + "description": "Request URL with all query string parameters", + "maxLength": 2048 + }, + "duration": { + "type": "string", + "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days." + }, + "perfTotal": { + "type": "string", + "description": "Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff" + }, + "networkConnect": { + "type": "string", + "description": "Network connection time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff" + }, + "sentRequest": { + "type": "string", + "description": "Sent request time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff" + }, + "receivedResponse": { + "type": "string", + "description": "Received response time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff" + }, + "domProcessing": { + "type": "string", + "description": "DOM processing time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff" + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "RemoteDependencyData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint.", + "required": [ + "name", + "duration" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of a dependency call instance. Used for correlation with the request telemetry item corresponding to this dependency call.", + "maxLength": 512 + }, + "name": { + "type": "string", + "description": "Name of the command initiated with this dependency call. Low cardinality value. Examples are stored procedure name and URL path template.", + "maxLength": 1024 + }, + "resultCode": { + "type": "string", + "description": "Result code of a dependency call. Examples are SQL error code and HTTP status code.", + "maxLength": 1024 + }, + "data": { + "type": "string", + "description": "Command initiated by this dependency call. Examples are SQL statement and HTTP URL with all query parameters.", + "maxLength": 8192 + }, + "type": { + "type": "string", + "description": "Dependency type name. Very low cardinality value for logical grouping of dependencies and interpretation of other fields like commandName and resultCode. Examples are SQL, Azure table, and HTTP.", + "maxLength": 1024 + }, + "target": { + "type": "string", + "description": "Target site of a dependency call. Examples are server name, host address.", + "maxLength": 1024 + }, + "duration": { + "type": "string", + "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days." + }, + "success": { + "type": "boolean", + "description": "Indication of successful or unsuccessful call.", + "default": true + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "RequestData": { + "allOf": [ + { + "$ref": "#/definitions/Domain" + }, + { + "type": "object", + "description": "An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results.", + "required": [ + "id", + "duration", + "responseCode", + "success" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of a request call instance. Used for correlation between request and other telemetry items.", + "maxLength": 512 + }, + "name": { + "type": "string", + "description": "Name of the request. Represents code path taken to process request. Low cardinality value to allow better grouping of requests. For HTTP requests it represents the HTTP method and URL path template like 'GET /values/{id}'.", + "maxLength": 1024 + }, + "duration": { + "type": "string", + "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days." + }, + "success": { + "type": "boolean", + "description": "Indication of successful or unsuccessful call.", + "default": true + }, + "responseCode": { + "type": "string", + "description": "Result of a request execution. HTTP status code for HTTP requests.", + "maxLength": 1024 + }, + "source": { + "type": "string", + "description": "Source of the request. Examples are the instrumentation key of the caller or the ip address of the caller.", + "maxLength": 1024 + }, + "url": { + "type": "string", + "description": "Request URL with all query string parameters.", + "maxLength": 2048 + }, + "properties": { + "type": "object", + "description": "Collection of custom properties.", + "additionalProperties": { + "type": "string", + "maxLength": 8192 + } + }, + "measurements": { + "type": "object", + "description": "Collection of custom measurements.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + } + ] + }, + "SeverityLevel": { + "type": "string", + "description": "Defines the level of severity for the event.", + "enum": [ + "Verbose", + "Information", + "Warning", + "Error", + "Critical" + ] + }, + "StackFrame": { + "type": "object", + "description": "Stack frame information.", + "required": [ + "level", + "method" + ], + "properties": { + "level": { + "type": "number", + "format": "int32", + "description": "" + }, + "method": { + "type": "string", + "description": "Method name.", + "maxLength": 1024 + }, + "assembly": { + "type": "string", + "description": "Name of the assembly (dll, jar, etc.) containing this function.", + "maxLength": 1024 + }, + "fileName": { + "type": "string", + "description": "File name or URL of the method implementation.", + "maxLength": 1024 + }, + "line": { + "type": "number", + "format": "int32", + "description": "Line number of the code implementation." + } + } + }, + "TrackResponse": { + "description": "Response containing the status of each telemetry item.", + "type": "object", + "properties": { + "itemsReceived": { + "type": "number", + "format": "int32", + "description": "The number of items received." + }, + "itemsAccepted": { + "type": "number", + "format": "int32", + "description": "The number of items accepted." + }, + "errors": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "ErrorDetails": { + "x-ms-client-name": "TelemetryErrorDetails", + "description": "The error details", + "type": "object", + "properties": { + "index": { + "type": "number", + "format": "int32", + "description": "The index in the original payload of the item." + }, + "statusCode": { + "type": "number", + "format": "int32", + "description": "The item specific [HTTP Response status code](#Response Status Codes)." + }, + "message": { + "type": "string", + "description": "The error message." + } + } + }, + "TelemetryEnvelope": { + "x-ms-client-name": "TelemetryItem", + "description": "System variables for a telemetry item.", + "type": "object", + "required": [ + "name", + "time" + ], + "properties": { + "ver": { + "type": "number", + "x-ms-client-name": "version", + "format": "int32", + "default": 1, + "description": "Envelope version. For internal use only. By assigning this the default, it will not be serialized within the payload unless changed to a value other than #1." + }, + "name": { + "type": "string", + "description": "Type name of telemetry data item." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Event date time when telemetry item was created. This is the wall clock time on the client when the event was generated. There is no guarantee that the client's time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the number of decimal seconds digits provided are variable (and unspecified). Consumers should handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies a fixed length. Example: 2009-06-15T13:45:30.0000000Z." + }, + "sampleRate": { + "type": "number", + "format": "float", + "default": 100.0, + "description": "Sampling rate used in application. This telemetry item represents 1 / sampleRate actual telemetry items." + }, + "seq": { + "type": "string", + "x-ms-client-name": "sequence", + "maxLength": 64, + "description": "Sequence field used to track absolute order of uploaded events." + }, + "iKey": { + "type": "string", + "x-ms-client-name": "instrumentationKey", + "description": "The instrumentation key of the Application Insights resource." + }, + "tags": { + "type": "object", + "description": "Key/value collection of context properties. See ContextTagKeys for information on available properties.", + "additionalProperties": { + "type": "string" + } + }, + "data": { + "$ref": "#/definitions/Base", + "description": "Telemetry data item." + } + } + }, + "ContextTagKeys": { + "type": "string", + "description": "The context tag keys.", + "enum": [ + "ApplicationVersion", + "DeviceId", + "DeviceLocale", + "DeviceModel", + "DeviceOEMName", + "DeviceOSVersion", + "DeviceType", + "LocationIp", + "LocationCountry", + "LocationProvince", + "LocationCity", + "OperationId", + "OperationName", + "OperationParentId", + "OperationSyntheticSource", + "OperationCorrelationVector", + "SessionId", + "SessionIsFirst", + "UserAccountId", + "UserId", + "UserAuthUserId", + "CloudRole", + "CloudRoleVer", + "CloudRoleInstance", + "CloudLocation", + "InternalSdkVersion", + "InternalAgentVersion", + "InternalNodeName " + ], + "x-ms-enum": { + "name": "ContextTagKeys", + "modelAsString": true, + "values": [ + { + "value": "ai.application.ver" + }, + { + "value": "ai.device.id" + }, + { + "value": "ai.device.locale" + }, + { + "value": "ai.device.model" + }, + { + "value": "ai.device.oemName" + }, + { + "value": "ai.device.osVersion" + }, + { + "value": "ai.device.type" + }, + { + "value": "ai.location.ip" + }, + { + "value": "ai.location.country" + }, + { + "value": "ai.location.province" + }, + { + "value": "ai.location.city" + }, + { + "value": "ai.operation.id" + }, + { + "value": "ai.operation.name" + }, + { + "value": "ai.operation.parentId" + }, + { + "value": "ai.operation.syntheticSource" + }, + { + "value": "ai.operation.correlationVector" + }, + { + "value": "ai.session.id" + }, + { + "value": "ai.session.isFirst" + }, + { + "value": "ai.user.accountId" + }, + { + "value": "ai.user.id" + }, + { + "value": "ai.user.authUserId" + }, + { + "value": "ai.cloud.role" + }, + { + "value": "ai.cloud.roleVer" + }, + { + "value": "ai.cloud.roleInstance" + }, + { + "value": "ai.cloud.location" + }, + { + "value": "ai.internal.sdkVersion" + }, + { + "value": "ai.internal.agentVersion" + }, + { + "value": "ai.internal.nodeName" + } + ] + } + } + }, + "parameters": { + "Host": { + "name": "Host", + "description": "Breeze endpoint: https://dc.services.visualstudio.com", + "x-ms-parameter-location": "client", + "default": "https://dc.services.visualstudio.com", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md b/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md new file mode 100644 index 000000000000..b1ae6ed86f47 --- /dev/null +++ b/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md @@ -0,0 +1,44 @@ +# Exporter for Azure Monitor +> see https://aka.ms/autorest + +## 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 + +The following are the settings for this using this API with AutoRest. + +``` yaml +# specify the version of Autorest to use +version: 1.0.1-20170402 + +# (more settings here...) +``` + +### Basic Information + +These are the global settings for the schemaregistry. + +```yaml +openapi-type: data-plane +tag: 2020-09-15-preview +``` + +### Tag: 2020-09-15-preview + +These settings apply only when `--tag=2020-09-15-preview` is specified on the command line. + +```yaml $(tag) == '2020-09-15-preview' +input-file: + - preview/2020-09-15_Preview/swagger.json +``` + diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json index d54c5d28f134..c82aee93ec99 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookAdd.json @@ -12,7 +12,7 @@ "kind": "shared", "properties": { "displayName": "Blah Blah Blah", - "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}", "category": "workbook", "version": "ME", @@ -31,7 +31,7 @@ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", "properties": { "displayName": "Blah Blah Blah", - "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}", "category": "workbook", "version": "ME", @@ -49,7 +49,7 @@ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", "properties": { "displayName": "Blah Blah Blah", - "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}", "category": "workbook", "version": "ME", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json index e6bd72b08cb7..1a66ad2bece5 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbookGet.json @@ -15,7 +15,7 @@ "location": "westus", "properties": { "displayName": "My New Workbook", - "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}", "category": "workbook", "version": "ME", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json index 37e97dbfe3a8..dd601dac096e 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/examples/WorkbooksList.json @@ -18,7 +18,7 @@ "tags": [], "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}", "category": "workbook", "version": "ME", @@ -37,7 +37,7 @@ ], "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}", "category": "workbook", "version": "ME", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json index 85fd1577f11b..cdf1e0cec2c2 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json @@ -350,8 +350,7 @@ "required": [ "displayName", "category", - "serializedData", - "userId" + "serializedData" ], "properties": { "displayName": { @@ -384,7 +383,12 @@ }, "userId": { "type": "string", - "description": "Unique user id of the specific user that owns this workbook." + "description": "Unique user id of the specific user that owns this workbook.", + "readOnly": true + }, + "sourceId": { + "type": "string", + "description": "ResourceId for a source resource." } } }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json index b4e94629052f..6c1383c0621b 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries": { "get": { "description": "Gets a list of Queries defined within a Log Analytics QueryPack.", "operationId": "Queries_List", @@ -65,17 +65,17 @@ "nextLinkName": "nextLink" }, "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -85,7 +85,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/search": { "post": { "description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.", "operationId": "Queries_Search", @@ -125,17 +125,17 @@ "nextLinkName": "nextLink" }, "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -145,7 +145,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/{id}": { "get": { "description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.", "operationId": "Queries_Get", @@ -167,17 +167,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A single query contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQuery" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -216,22 +216,71 @@ } ], "responses": { + "200": { + "description": "The new or updated query contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } + } + }, + "x-ms-examples": { + "QueryPut": { + "$ref": "./examples/QueryPackQueriesPut.json" + } + } + }, + "patch": { + "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.", + "operationId": "Queries_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "QueryPayload", + "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + } + ], + "responses": { "200": { "description": "The new or updated query contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQuery" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { - "QueryPut": { - "$ref": "./examples/QueryPackQueriesPut.json" + "QueryPatch": { + "$ref": "./examples/QueryPackQueriesUpdate.json" } } }, @@ -256,17 +305,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "The query has been successfully removed from the Log Analytics QueryPack" }, "204": { "description": "The specified query or associated QueryPack does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -281,16 +330,82 @@ "ErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", "properties": { "code": { - "description": "Error code", + "description": "The error's code.", "type": "string" }, "message": { - "description": "Error message indicating why the operation failed.", + "description": "A human readable error message.", "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "value": { + "description": "Indicates which value in 'target' is responsible for the error.", + "type": "string" + }, + "resources": { + "description": "Indicates resources which were responsible for the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error details object", + "type": "object" } - } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "$ref": "#/definitions/ErrorInfo" + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error info object", + "type": "object" + } + }, + "required": [ + "code", + "message" + ] }, "AzureResourceProperties": { "properties": { @@ -308,6 +423,11 @@ "type": "string", "readOnly": true, "description": "Azure resource type" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Read only system data" } }, "description": "An Azure resource QueryPack-Query object" @@ -330,7 +450,7 @@ "LogAnalyticsQueryPackQueryProperties": { "description": "Properties that define an Log Analytics QueryPack-Query resource.", "properties": { - "queryId": { + "id": { "type": "string", "description": "The unique ID of your application. This field cannot be changed.", "readOnly": true @@ -367,31 +487,46 @@ "readOnly": false, "description": "Body of the query." }, - "linkedResourceId": { - "type": "string", - "readOnly": false, - "description": "Resource id associated with the query." - }, - "categories": { - "description": "Categories associated with the query.", - "type": "array", - "items": { - "type": "string" + "related": { + "description": "The related metadata items for the function.", + "type": "object", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } } }, - "resourceTypes": { - "description": "Resource Types associated with the query.", - "type": "array", - "items": { - "type": "string" + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } } }, - "labels": { - "description": "Labels associated with the query.", - "type": "array", - "items": { - "type": "string" - } + "properties": { + "type": "object", + "description": "Additional properties that can be set for the query." } }, "required": [ @@ -402,25 +537,41 @@ "LogAnalyticsQueryPackQuerySearchProperties": { "description": "Properties that define an Log Analytics QueryPack-Query search properties.", "properties": { - "categories": { - "description": "Categories associated with the query.", - "type": "array", - "items": { - "type": "string" - } - }, - "resourceTypes": { - "description": "Resource Types associated with the query.", - "type": "array", - "items": { - "type": "string" + "related": { + "type": "object", + "description": "The related metadata items for the function.", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } } }, - "labels": { - "description": "Labels associated with the query.", - "type": "array", - "items": { - "type": "string" + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -443,6 +594,52 @@ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPack-Queries where returned in the result set." } } + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "An identifier for 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": "An identifier for 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 + } } }, "parameters": { @@ -455,7 +652,7 @@ "x-ms-parameter-location": "method" }, "QueryIdParameter": { - "name": "queryId", + "name": "id", "in": "path", "required": true, "type": "string", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json index de48278f9aa3..58d3e127d4db 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json @@ -34,7 +34,44 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/providers/microsoft.insights/queryPacks": { + "/providers/Microsoft.Insights/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available insights REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Insights error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/queryPacks": { "get": { "description": "Gets a list of all Log Analytics QueryPacks within a subscription.", "operationId": "QueryPacks_List", @@ -70,7 +107,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks": { "get": { "description": "Gets a list of Log Analytics QueryPacks within a resource group.", "operationId": "QueryPacks_ListByResourceGroup", @@ -109,7 +146,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}": { "delete": { "description": "Deletes a Log Analytics QueryPack.", "operationId": "QueryPacks_Delete", @@ -285,16 +322,82 @@ "ErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", "properties": { "code": { - "description": "Error code", + "description": "The error's code.", "type": "string" }, "message": { - "description": "Error message indicating why the operation failed.", + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", "type": "string" + }, + "value": { + "description": "Indicates which value in 'target' is responsible for the error.", + "type": "string" + }, + "resources": { + "description": "Indicates resources which were responsible for the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error details object", + "type": "object" } - } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "$ref": "#/definitions/ErrorInfo" + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error info object", + "type": "object" + } + }, + "required": [ + "code", + "message" + ] }, "QueryPacksResource": { "properties": { @@ -408,6 +511,68 @@ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set." } } + }, + "Operation": { + "description": "CDN 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": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of CDN operations supported by the CDN resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "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" + } + } } }, "parameters": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json index f2efa8ef8cc2..c5bbf23ef665 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json @@ -4,7 +4,7 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" }, "responses": { "200": {}, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json index 5d4d7f4415b8..c2666213a43f 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json @@ -4,7 +4,7 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" }, "responses": { "200": { @@ -12,9 +12,17 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { "displayName": "Exceptions - New in the last 24 hours", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", "timeModified": "2018-02-14T13:13:19.3381394Z", "timeCreated": "2018-02-12T11:44:39.2980634Z", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json index 316a829cfdf1..657b2d706e0f 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json @@ -14,8 +14,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", "timeCreated": "2019-08-15T10:29:56.1030254Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:29:56.1030254Z", @@ -28,8 +36,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "timeCreated": "2019-08-15T10:30:26.7943629Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:26.7943629Z", @@ -42,8 +58,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "timeCreated": "2019-08-15T10:30:29.4505584Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:29.4505584Z", @@ -56,8 +80,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819", "name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", + "id": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", "timeCreated": "2019-08-15T10:30:32.5742324Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:32.5742324Z", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json index 3680b863b5ae..7146d0101472 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json @@ -4,20 +4,25 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "QueryPayload": { "properties": { "displayName": "Exceptions - New in the last 24 hours", "description": "my description", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", - "categories": [ - "analytics" - ], - "labels": [ - "my-label", - "my-other-label" - ], - "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere" + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } }, @@ -27,22 +32,35 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "timeCreated": "2019-08-15T10:30:32.5742324Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:32.5742324Z", "displayName": "Exceptions - New in the last 24 hours", "description": "my description", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", - "categories": [ - "analytics" - ], - "labels": [ - "my-label", - "my-other-label" - ], - "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere" + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json index 186ce1ec3f41..7a5d2118c10d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json @@ -7,13 +7,17 @@ "includeBody": true, "$top": 3, "QuerySearchProperties": { - "categories": [ - "other", - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ] + } } }, "responses": { @@ -24,61 +28,106 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", "timeCreated": "2019-08-15T10:29:56.1030254Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:29:56.1030254Z", "displayName": "Heartbeat_1", "description": "Thie query takes 10 entries of heartbeat 0", "body": "Heartbeat | take 1", - "categories": [ - "other" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } }, { "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "timeCreated": "2019-08-15T10:30:26.7943629Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:26.7943629Z", "displayName": "Heartbeat_2", "description": "Thie query takes 10 entries of heartbeat 1", "body": "Heartbeat | take 1", - "categories": [ - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } }, { "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "timeCreated": "2019-08-15T10:30:29.4505584Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:29.4505584Z", "displayName": "Heartbeat_3", "description": "Thie query takes 10 entries of heartbeat 2", "body": "Heartbeat | take 1", - "categories": [ - "other", - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json new file mode 100644 index 000000000000..7146d0101472 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2019-09-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "QueryPayload": { + "properties": { + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "timeCreated": "2019-08-15T10:30:32.5742324Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:32.5742324Z", + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json new file mode 100644 index 000000000000..02bcba3635f9 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.insights/webtests", + "display": { + "provider": "Microsoft Container Instance", + "resource": "webtests", + "operation": "CRUD operations on webtest", + "description": "CRUD operations on webtest" + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json new file mode 100644 index 000000000000..d4a592e3395a --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "webTestName": "my-webtest-my-component", + "WebTestDefinition": { + "location": "South Central US", + "kind": "ping", + "properties": { + "Name": "my-webtest-my-component", + "SyntheticMonitorId": "my-webtest-my-component", + "Configuration": { + "WebTest": "" + }, + "Description": "Ping web test alert for mytestwebapp", + "Enabled": true, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "us-fl-mia-edge" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource" + }, + "kind": "ping", + "properties": { + "Name": "my-webtest-my-component", + "SyntheticMonitorId": "my-webtest-my-component", + "Description": "Ping web test alert for mytestwebapp", + "Enabled": true, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "us-fl-mia-edge" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json new file mode 100644 index 000000000000..c1438fa108c3 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "webTestName": "my-webtest-01-mywebservice" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json new file mode 100644 index 000000000000..af81591ea12f --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "webTestName": "my-webtest-01-mywebservice" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Insights/webtests/my-webtest-01-mywebservice", + "name": "my-webtest-01-mywebservice", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Insights/components/mytester": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-test-resources/providers/Microsoft.Web/sites/mytester": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-01-mywebservice", + "Name": "mytest-webtest-01", + "Description": "", + "Enabled": false, + "Frequency": 900, + "Timeout": 30, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "us-fl-mia-edge" + }, + { + "Id": "apac-hk-hkn-azr" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json new file mode 100644 index 000000000000..033c6ebec7b7 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestList.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-my-component", + "Name": "my-webtest", + "Description": "", + "Enabled": false, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-other-component", + "name": "my-webtest-my-other-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "Test": "You can delete this synthetic monitor anytime", + "hidden-link:/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-my-other-component", + "Name": "342bccf4-722f-496d-b064-123456789abc", + "Description": "", + "Enabled": false, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": false, + "Locations": [], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json new file mode 100644 index 000000000000..b8f6f6901248 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByComponent.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "componentName": "my-component" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-my-component", + "Name": "my-webtest", + "Description": "", + "Enabled": false, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "apac-hk-hkn-azr" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json new file mode 100644 index 000000000000..06a2118a79bb --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-my-component", + "Name": "my-webtest", + "Description": "", + "Enabled": false, + "Frequency": 900, + "Timeout": 120, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "apac-hk-hkn-azr" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-other-component", + "name": "my-webtest-my-other-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "Test": "You can delete this synthetic monitor anytime", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-other-component": "Resource" + }, + "kind": "ping", + "properties": { + "SyntheticMonitorId": "my-webtest-my-other-component", + "Name": "342bccf4-722f-496d-b064-123456789abc", + "Description": "", + "Enabled": false, + "Frequency": 300, + "Timeout": 90, + "Kind": "ping", + "RetryEnabled": false, + "Locations": [ + { + "Id": "us-fl-mia-edge" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json new file mode 100644 index 000000000000..4db95f82f2cd --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "webTestName": "my-webtest-my-component", + "WebTestDefinition": { + "location": "South Central US", + "kind": "ping", + "properties": { + "Configuration": { + "WebTest": "" + }, + "Frequency": 600, + "Timeout": 30, + "Locations": [ + { + "Id": "us-fl-mia-edge" + }, + { + "Id": "apac-hk-hkn-azr" + } + ], + "Kind": "ping", + "Name": "my-webtest-my-component", + "SyntheticMonitorId": "my-webtest-my-component" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource" + }, + "kind": "ping", + "properties": { + "Name": "my-webtest-my-component", + "SyntheticMonitorId": "my-webtest-my-component", + "Description": "Ping web test alert for mytestwebapp", + "Enabled": true, + "Frequency": 600, + "Timeout": 30, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "us-fl-mia-edge" + }, + { + "Id": "apac-hk-hkn-azr" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json new file mode 100644 index 000000000000..517323cb7cfe --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestUpdateTagsOnly.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-10-05-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "webTestName": "my-webtest-my-component", + "WebTestTags": { + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource", + "CustomField-01": "This is a random value", + "SystemType": "A08", + "Color": "AzureBlue" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/webtests/my-webtest-my-component", + "name": "my-webtest-my-component", + "type": "Microsoft.Insights/webtests", + "location": "southcentralus", + "tags": { + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component": "Resource", + "hidden-link:/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/mytestwebapp": "Resource", + "CustomField-01": "This is a random value", + "SystemType": "A08", + "Color": "AzureBlue" + }, + "kind": "ping", + "properties": { + "Name": "my-webtest-my-component", + "SyntheticMonitorId": "my-webtest-my-component", + "Description": "Ping web test alert for mytestwebapp", + "Enabled": true, + "Frequency": 600, + "Timeout": 30, + "Kind": "ping", + "RetryEnabled": true, + "Locations": [ + { + "Id": "us-fl-mia-edge" + }, + { + "Id": "apac-hk-hkn-azr" + } + ], + "Configuration": { + "WebTest": "" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json new file mode 100644 index 000000000000..cf128cdb0556 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json @@ -0,0 +1,678 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "description": "Azure Application Insights client for web test based alerting.", + "version": "2020-10-05-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.Insights/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": "../../../../../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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests": { + "get": { + "description": "Get all Application Insights web tests defined within a specified resource group.", + "operationId": "WebTests_ListByResourceGroup", + "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": "A list containing 0 or more web test definitions.", + "schema": { + "$ref": "#/definitions/webTestListResult" + } + } + }, + "x-ms-examples": { + "webTestListByResourceGroup": { + "$ref": "./examples/WebTestListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}": { + "get": { + "description": "Get a specific Application Insights web test definition.", + "operationId": "WebTests_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/WebTestNameParameter" + } + ], + "responses": { + "200": { + "description": "Ann Application Insights web test definition.", + "schema": { + "$ref": "#/definitions/WebTest" + } + } + }, + "x-ms-examples": { + "webTestGet": { + "$ref": "./examples/WebTestGet.json" + } + } + }, + "put": { + "description": "Creates or updates an Application Insights web test definition.", + "operationId": "WebTests_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/WebTestNameParameter" + }, + { + "name": "WebTestDefinition", + "description": "Properties that need to be specified to create or update an Application Insights web test definition.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WebTest" + } + } + ], + "responses": { + "200": { + "description": "Adding the Application Insights web test was successful. Web test properties are updated and returned.", + "schema": { + "$ref": "#/definitions/WebTest" + } + } + }, + "x-ms-examples": { + "webTestCreate": { + "$ref": "./examples/WebTestCreate.json" + }, + "webTestUpdate": { + "$ref": "./examples/WebTestUpdate.json" + } + } + }, + "patch": { + "description": "Creates or updates an Application Insights web test definition.", + "operationId": "WebTests_UpdateTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/WebTestNameParameter" + }, + { + "name": "WebTestTags", + "description": "Updated tag information to set into the web test instance.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Updating the Application Insights web test tags was successful. Web test tags are updated and returned with the rest of the WebTest object properties.", + "schema": { + "$ref": "#/definitions/WebTest" + } + } + }, + "x-ms-examples": { + "webTestUpdateTags": { + "$ref": "./examples/WebTestUpdateTagsOnly.json" + } + } + }, + "delete": { + "description": "Deletes an Application Insights web test.", + "operationId": "WebTests_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WebTestNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content: the request was successful, but the response is empty (the request to delete failed because the specified web test does not exist)." + }, + "200": { + "description": "Successful request to delete a web test definition." + } + }, + "x-ms-examples": { + "webTestDelete": { + "$ref": "./examples/WebTestDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests": { + "get": { + "description": "Get all Application Insights web test alerts definitions within a subscription.", + "operationId": "WebTests_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of 0 or more Application Insights web test definitions.", + "schema": { + "$ref": "#/definitions/webTestListResult" + } + } + }, + "x-ms-examples": { + "webTestList": { + "$ref": "./examples/WebTestList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests": { + "get": { + "description": "Get all Application Insights web tests defined for the specified component.", + "operationId": "WebTests_ListByComponent", + "parameters": [ + { + "$ref": "#/parameters/ComponentNameParameter" + }, + { + "$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": "A list containing 0 or more web test definitions.", + "schema": { + "$ref": "#/definitions/webTestListResult" + } + } + }, + "x-ms-examples": { + "webTestListByComponent": { + "$ref": "./examples/WebTestListByComponent.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "WebtestsResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "description": "Azure resource name", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "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 WebTest instance." + }, + "webTestListResult": { + "description": "A list of 0 or more Application Insights WebTest definitions.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "Set of Application Insights WebTest definitions.", + "items": { + "$ref": "#/definitions/WebTest" + } + }, + "nextLink": { + "type": "string", + "description": "The link to get the next part of the returned list of WebTest, should the return set be too large for a single request. May be null." + } + } + }, + "WebTest": { + "description": "An Application Insights WebTest definition.", + "allOf": [ + { + "$ref": "#/definitions/WebtestsResource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "The kind of WebTest that this web test watches. Choices are ping and multistep.", + "default": "ping", + "enum": [ + "ping", + "multistep" + ], + "x-ms-enum": { + "name": "WebTestKind", + "modelAsString": false + } + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a web test for an Azure resource.", + "$ref": "#/definitions/WebTestProperties" + } + } + }, + "WebTestProperties": { + "description": "Metadata describing a web test for an Azure resource.", + "required": [ + "Name", + "Kind", + "Locations", + "SyntheticMonitorId" + ], + "properties": { + "SyntheticMonitorId": { + "type": "string", + "description": "Unique ID of this WebTest. This is typically the same value as the Name field." + }, + "Name": { + "x-ms-client-name": "WebTestName", + "type": "string", + "description": "User defined name if this WebTest." + }, + "Description": { + "type": "string", + "description": "User defined description for this WebTest." + }, + "Enabled": { + "type": "boolean", + "description": "Is the test actively being monitored." + }, + "Frequency": { + "type": "integer", + "format": "int32", + "description": "Interval in seconds between test runs for this WebTest. Default value is 300.", + "default": 300 + }, + "Timeout": { + "type": "integer", + "format": "int32", + "description": "Seconds until this WebTest will timeout and fail. Default value is 30.", + "default": 30 + }, + "Kind": { + "x-ms-client-name": "WebTestKind", + "type": "string", + "description": "The kind of web test this is, valid choices are ping, multistep, basic, and standard.", + "default": "ping", + "enum": [ + "ping", + "multistep", + "basic", + "standard" + ], + "x-ms-enum": { + "name": "WebTestKindEnum", + "modelAsString": false + } + }, + "RetryEnabled": { + "type": "boolean", + "description": "Allow for retries should this WebTest fail." + }, + "Locations": { + "type": "array", + "description": "A list of where to physically run the tests from to give global coverage for accessibility of your application.", + "items": { + "$ref": "#/definitions/WebTestGeolocation" + } + }, + "Configuration": { + "type": "object", + "description": "An XML configuration specification for a WebTest.", + "properties": { + "WebTest": { + "type": "string", + "description": "The XML specification of a WebTest to run against an application." + } + } + }, + "provisioningState": { + "type": "string", + "description": "Current state of this component, whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed.", + "readOnly": true + }, + "Request": { + "type": "object", + "description": "The collection of request properties", + "properties": { + "RequestUrl": { + "type": "string", + "description": "Url location to test." + }, + "Headers": { + "type": "array", + "description": "List of headers and their values to add to the WebTest call.", + "items": { + "$ref": "#/definitions/HeaderField" + } + }, + "HttpVerb": { + "type": "string", + "description": "Http verb to use for this web test." + }, + "RequestBody": { + "type": "string", + "description": "Base64 encoded string body to send with this web test." + }, + "ParseDependentRequests": { + "type": "boolean", + "description": "Parse Dependent request for this WebTest." + }, + "FollowRedirects": { + "type": "boolean", + "description": "Follow redirects for this web test." + } + } + }, + "ContentValidation": { + "type": "object", + "description": "The collection of content validation properties", + "properties": { + "ContentMatch": { + "type": "string", + "description": "Content to look for in the return of the WebTest." + }, + "IgnoreCase": { + "type": "boolean", + "description": "When set, this value makes the ContentMatch validation case insensitive." + }, + "PassIfTextFound": { + "type": "boolean", + "description": "When true, validation will pass if there is a match for the ContentMatch string. If false, validation will fail if there is a match" + } + } + }, + "SSLCheck": { + "type": "boolean", + "description": "Checks to see if the SSL cert is still valid." + }, + "SSLCertRemainingLifetimeCheck": { + "type": "integer", + "format": "int32", + "description": "A number of days to check still remain before the the existing SSL cert expires." + }, + "ExpectedHttpStatusCode": { + "type": "integer", + "format": "int32", + "description": "Validate that the WebTest returns the http status code provided." + }, + "IgnoreHttpsStatusCode": { + "type": "boolean", + "description": "When set, validation will ignore the status code." + } + } + }, + "WebTestGeolocation": { + "description": "Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from.", + "type": "object", + "properties": { + "Id": { + "x-ms-client-name": "location", + "type": "string", + "description": "Location ID for the WebTest to run from." + } + } + }, + "HeaderField": { + "description": "A header to add to the WebTest.", + "type": "object", + "properties": { + "key": { + "x-ms-client-name": "headerFieldName", + "type": "string", + "description": "The name of the header." + }, + "value": { + "x-ms-client-name": "headerFieldValue", + "type": "string", + "description": "The value of the header." + } + } + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "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" + } + } + } + }, + "parameters": { + "ComponentNameParameter": { + "name": "componentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Application Insights component resource.", + "x-ms-parameter-location": "method" + }, + "WebTestNameParameter": { + "name": "webTestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Application Insights WebTest resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json new file mode 100644 index 000000000000..44b33f169d2d --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "subscriptionId": "00000000-0000-0000-0000-00000000", + "workbookProperties": { + "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "location": "west us", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "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}", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "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}", + "version": "ME", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "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}", + "version": "ME", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json new file mode 100644 index 000000000000..0f0066656add --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "201": {}, + "204": {} + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json new file mode 100644 index 000000000000..640ff6b08c01 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2015-05-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/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "kind": "user", + "properties": { + "displayName": "My New Workbook", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "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": "ME", + "category": "workbook", + "timeModified": null + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json new file mode 100644 index 000000000000..6df92009e06e --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "workbookProperties": { + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "location": "west us", + "tags": [ + "TagSample01", + "TagSample02" + ], + "kind": "user", + "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}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook" + } + } + }, + "responses": { + "200": { + "body": { + "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "tags": [ + "TagSample01", + "TagSample02" + ], + "kind": "user", + "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}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json new file mode 100644 index 000000000000..5aca7c5f3e07 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "category": "workbook" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "tags": [], + "kind": "user", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "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": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook", + "timeModified": null + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "tags": [ + "SampleTag01", + "SampleTag2" + ], + "properties": { + "displayName": "My Workbook 2", + "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": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook", + "timeModified": null + } + } + ] + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json new file mode 100644 index 000000000000..3f3d5067ce54 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json @@ -0,0 +1,539 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "description": "Azure Application Insights private workbook type.", + "version": "2015-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.Insights/myWorkbooks": { + "get": { + "description": "Get all private workbooks defined within a specified resource group and category.", + "operationId": "MyWorkbooks_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/CanFetchWorkbookContentParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more private workbook definitions.", + "schema": { + "$ref": "#/definitions/MyWorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "WorkbooksList": { + "$ref": "./examples/MyWorkbooksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/myWorkbooks": { + "get": { + "description": "Get all private workbooks defined within a specified subscription and category.", + "operationId": "MyWorkbooks_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 private workbook definitions.", + "schema": { + "$ref": "#/definitions/MyWorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "WorkbooksList": { + "$ref": "./examples/MyWorkbooksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks/{resourceName}": { + "get": { + "description": "Get a single private workbook by its resourceName.", + "operationId": "MyWorkbooks_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 private workbook definition.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookGet": { + "$ref": "./examples/MyWorkbookGet.json" + } + } + }, + "delete": { + "description": "Delete a private workbook.", + "operationId": "MyWorkbooks_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": { + "201": { + "description": "The private workbook has been successfully deleted." + }, + "204": { + "description": "The resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookDelete": { + "$ref": "./examples/MyWorkbookDelete.json" + } + } + }, + "put": { + "description": "Create a new private workbook.", + "operationId": "MyWorkbooks_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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "workbookProperties", + "description": "Properties that need to be specified to create a new private workbook.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + } + ], + "responses": { + "200": { + "description": "The newly created private workbook.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "201": { + "description": "The newly created private workbook.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookAdd": { + "$ref": "./examples/MyWorkbookAdd.json" + } + } + }, + "patch": { + "description": "Updates a private workbook that has already been added.", + "operationId": "MyWorkbooks_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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "workbookProperties", + "description": "Properties that need to be specified to create a new private workbook.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + } + ], + "responses": { + "200": { + "description": "The private workbook definition updated.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookUpdate": { + "$ref": "./examples/MyWorkbookUpdate.json" + } + } + } + } + }, + "definitions": { + "MyWorkbookResource": { + "properties": { + "id": { + "type": "string", + "description": "Azure resource Id", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "name": { + "type": "string", + "description": "Azure resource name", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "type": { + "type": "string", + "description": "Azure resource type", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "MyWorkbooksListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MyWorkbook" + }, + "description": "An array of private workbooks." + } + }, + "description": "Workbook list result." + }, + "MyWorkbook": { + "description": "An Application Insights private workbook definition.", + "allOf": [ + { + "$ref": "#/definitions/MyWorkbookResource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "The kind of workbook. Choices are user and shared.", + "enum": [ + "user", + "shared" + ], + "x-ms-enum": { + "name": "SharedTypeKind", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a workbook for an Azure resource.", + "$ref": "#/definitions/MyWorkbookProperties" + } + } + }, + "MyWorkbookProperties": { + "description": "Properties that contain a private workbook.", + "required": [ + "displayName", + "category", + "serializedData" + ], + "properties": { + "displayName": { + "type": "string", + "description": "The user-defined name of the private workbook." + }, + "serializedData": { + "type": "string", + "description": "Configuration of this particular private workbook. Configuration data is a string containing valid JSON" + }, + "version": { + "type": "string", + "description": "This instance's version of the data model. This can change as new features are added that can be marked private workbook." + }, + "timeModified": { + "type": "string", + "description": "Date and time in UTC of the last modification that was made to this private 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": "A list of 0 or more tags that are associated with this private workbook definition" + }, + "userId": { + "type": "string", + "description": "Unique user id of the specific user that owns this private workbook.", + "readOnly": true + }, + "sourceId": { + "type": "string", + "description": "Optional resourceId for a source resource." + } + } + }, + "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." + }, + "MyWorkbookError": { + "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 message body that will indicate why the operation failed." + } + }, + "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": true, + "type": "string", + "description": "Azure Resource Id that will fetch all linked workbooks.", + "x-ms-parameter-location": "method" + }, + "ResourceIdParameter": { + "name": "resourceId", + "in": "query", + "required": true, + "type": "string", + "description": "Azure Resource Id or any target workbook resource id.", + "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" + } + } +} diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..12a53d8275a8 --- /dev/null +++ b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,148 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - 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-2019-09-01-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-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-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json + - Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_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/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/2015-05-01/workbooks_API.json + - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json + - Microsoft.Insights/stable/2015-05-01/components_API.json + +``` diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md index d3b2a8df018a..1fb4390be7b1 100644 --- a/specification/applicationinsights/resource-manager/readme.go.md +++ b/specification/applicationinsights/resource-manager/readme.go.md @@ -41,6 +41,7 @@ input-file: - ./Microsoft.Insights/stable/2015-05-01/components_API.json - ./Microsoft.Insights/stable/2015-05-01/webTests_API.json - ./Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - ./Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json override-info: title: ApplicationInsightsManagementClient diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md index eeeb91d57b0e..bd369edd1a93 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-preview-2020-06 +tag: package-preview-2020-10 ``` ## Suppression @@ -97,8 +97,23 @@ directive: where: $.definitions.WorkbookResource.properties.name from: workbooks_API.json reason: 'This property is already a part of our API, cannot remove it' + - suppress: DefaultErrorResponseSchema + from: myworkbooks_API.json + reason: 'this error format is already part of the previous api, cannot change it' + - suppress: DeleteOperationResponses + from: myworkbooks_API.json + reason: 'delete API returns empty response and is already part of the previous api, cannot change it' ``` + +### Tag: package-preview-2020-10 + +These settings apply only when `--tag=package-preview-2020-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-10' +input-file: + - Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json +``` ### Tag: package-preview-2020-06-only These settings apply only when `--tag=package-preview-2020-06-only` is specified on the command line. @@ -126,6 +141,7 @@ input-file: - Microsoft.Insights/stable/2015-05-01/webTests_API.json - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - Microsoft.Insights/stable/2015-05-01/myworkbooks_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 @@ -159,6 +175,7 @@ input-file: - Microsoft.Insights/stable/2015-05-01/webTests_API.json - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - Microsoft.Insights/stable/2015-05-01/workbooks_API.json +- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json ``` ### Tag: package-2017-10 @@ -245,6 +262,7 @@ input-file: - Microsoft.Insights/stable/2015-05-01/webTests_API.json - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - Microsoft.Insights/stable/2015-05-01/workbooks_API.json +- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json - Microsoft.Insights/preview/2018-05-01-preview/components_API.json - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json ``` @@ -268,6 +286,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js applicationinsights/resource-manager ``` ## Go @@ -336,50 +357,6 @@ input-file: - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json ``` -## 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! +## AzureResourceSchema -``` 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.Insights/preview/2020-06-02-preview/livetoken_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/favorites_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTests_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/workbooks_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json - - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json - - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json - - $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json - - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json - - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json - - $(this-folder)/Microsoft.Insights/preview/2020-02-02-preview/components_API.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json index 72a4748132a2..8787229ed864 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json @@ -2163,6 +2163,39 @@ } } }, + "/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": [ @@ -2446,6 +2479,21 @@ "appNetworkResourceGroup": { "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", "type": "string" + }, + "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." + } + } } } }, @@ -3191,6 +3239,7 @@ "description": "Type of the source uploaded", "enum": [ "Jar", + "NetCoreZip", "Source" ], "type": "string", @@ -3233,6 +3282,10 @@ "description": "JVM parameter", "type": "string" }, + "netCoreMainEntryPath": { + "description": "The path to the .NET executable relative to zip root", + "type": "string" + }, "instanceCount": { "format": "int32", "description": "Instance count, basic tier should be in range (1, 25), standard tier should be in range (1, 500)", @@ -3250,7 +3303,8 @@ "description": "Runtime version", "enum": [ "Java_8", - "Java_11" + "Java_11", + "NetCore_31" ], "type": "string", "x-ms-enum": { @@ -3283,6 +3337,11 @@ "description": "Discovery status of the deployment instance", "type": "string", "readOnly": true + }, + "startTime": { + "description": "Start time of the deployment instance", + "type": "string", + "readOnly": true } } }, @@ -3777,6 +3836,57 @@ } }, "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": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json index 0204c12e6e2b..c29a033df194 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json @@ -56,7 +56,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, @@ -92,7 +93,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json index e574a0dea582..19cf2196418a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json @@ -35,7 +35,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json index 221113ccf649..287ffdd7381e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json @@ -36,7 +36,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json index 221113ccf649..287ffdd7381e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json @@ -36,7 +36,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json index 4a778752688a..b0e5592ad49d 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json @@ -46,7 +46,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, @@ -82,7 +83,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json new file mode 100644 index 000000000000..051d4085549f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2019-05-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/2019-05-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json index 025ca3152466..136def1b9f26 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json @@ -54,7 +54,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { @@ -90,7 +98,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json index 282f4e0d1dc3..6df578357701 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json @@ -34,7 +34,12 @@ "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" + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } }, "serviceId": "12345678abcd1234abcd12345678abcd" }, @@ -60,7 +65,12 @@ "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" + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } }, "serviceId": "12345678abcd1234abcd12345678abcd" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json index 533a76844cc0..7d8d1007219c 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json @@ -27,7 +27,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json index 15723d2c8147..aff184407138 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json @@ -28,7 +28,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json index 3d07b6937972..daeaac0d14a6 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json @@ -27,7 +27,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json index 066d495c9f61..fcf36b043ad1 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json @@ -54,7 +54,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { @@ -90,7 +98,15 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json new file mode 100644 index 000000000000..5d0e7e8f056c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json @@ -0,0 +1,4461 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01", + "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}/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}/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}/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 custom domain resource list of one application.", + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + } + }, + "/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}/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 + } + } + }, + "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" + }, + "tier": { + "description": "Tier of the Sku", + "type": "string" + }, + "capacity": { + "format": "int32", + "description": "Current capacity of the target resource", + "type": "integer" + } + } + }, + "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", + "type": "boolean" + }, + "appInsightsInstrumentationKey": { + "description": "Target application insight instrumentation key", + "type": "string" + } + } + }, + "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" + }, + "appSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", + "type": "string" + }, + "serviceCidr": { + "description": "Azure Spring Cloud service reserved CIDR", + "type": "string" + }, + "serviceRuntimeNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", + "type": "string" + }, + "appNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", + "type": "string" + }, + "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." + } + } + } + } + }, + "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" + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean" + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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": [ + "vaultUri", + "keyVaultCertName" + ], + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of certificate.", + "type": "string", + "readOnly": true + }, + "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" + }, + "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 + } + } + }, + "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" + } + } + }, + "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" + ], + "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" + } + } + }, + "DeploymentSettings": { + "description": "Deployment settings payload", + "type": "object", + "properties": { + "cpu": { + "format": "int32", + "description": "Required CPU, basic tier should be 1, standard tier should be in range (1, 4)", + "default": 1, + "type": "integer" + }, + "memoryInGB": { + "format": "int32", + "description": "Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8)", + "default": 1, + "type": "integer" + }, + "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", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "RuntimeVersion", + "modelAsString": true + } + } + } + }, + "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" + } + } + }, + "LogFileUrlResponse": { + "description": "Log file URL payload", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "URL of the log file", + "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" + } + } + } + }, + "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" + } + } + }, + "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": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "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" + } + }, + "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/stable/2020-07-01/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json new file mode 100644 index 000000000000..00f59981c650 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "mypersistentdisk" + } + }, + "identity": null, + "location": "eastus" + }, + "api-version": "2020-07-01", + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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/stable/2020-07-01/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json new file mode 100644 index 000000000000..0bfc11e59bf0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json new file mode 100644 index 000000000000..7e1677db0f60 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json new file mode 100644 index 000000000000..285d26814c78 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json new file mode 100644 index 000000000000..68aa39ece302 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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/stable/2020-07-01/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json new file mode 100644 index 000000000000..fd3aeaa6e3da --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "mypersistentdisk" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": null, + "tenantId": null + }, + "location": "eastus" + }, + "api-version": "2020-07-01", + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "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/stable/2020-07-01/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json new file mode 100644 index 000000000000..0a7ada238503 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "validatePayload": { + "name": "mydomain.io" + }, + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json new file mode 100644 index 000000000000..30bb8b7d997a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/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": "2020-07-01", + "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/stable/2020-07-01/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json new file mode 100644 index 000000000000..e0b92880ff3e --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json new file mode 100644 index 000000000000..b6e130ba0fd5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json new file mode 100644 index 000000000000..9208dc0b71ce --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json new file mode 100644 index 000000000000..c212241e6ccb --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/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": "2020-07-01", + "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/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json new file mode 100644 index 000000000000..ec952d2d82f0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "certificateResource": { + "properties": { + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "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": { + "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": { + "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/stable/2020-07-01/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json new file mode 100644 index 000000000000..e74094f64531 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json new file mode 100644 index 000000000000..ce7f31491cad --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "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/stable/2020-07-01/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json new file mode 100644 index 000000000000..35219afb6d4c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "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/stable/2020-07-01/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json new file mode 100644 index 000000000000..b88fa1b13577 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json new file mode 100644 index 000000000000..6e47a4170864 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/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": "2020-07-01", + "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/stable/2020-07-01/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json new file mode 100644 index 000000000000..6e47a4170864 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/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": "2020-07-01", + "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/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..5857185150a6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..673bdf1a9b61 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..3bb445de3742 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json new file mode 100644 index 000000000000..0bdbfc51f763 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json new file mode 100644 index 000000000000..a2b61973f8a2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json new file mode 100644 index 000000000000..786a5f55af53 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "instances": null + } + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "api-version": "2020-07-01", + "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, + "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, + "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, + "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/stable/2020-07-01/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json new file mode 100644 index 000000000000..8bec5172fcf5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json new file mode 100644 index 000000000000..9a999a403ffc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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, + "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/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json new file mode 100644 index 000000000000..13a30ad15e17 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json new file mode 100644 index 000000000000..35ff6dcf1ee7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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, + "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/stable/2020-07-01/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json new file mode 100644 index 000000000000..35ff6dcf1ee7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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, + "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/stable/2020-07-01/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json new file mode 100644 index 000000000000..18c9f75950da --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json @@ -0,0 +1,105 @@ +{ + "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": "2020-07-01", + "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, + "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, + "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/stable/2020-07-01/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json new file mode 100644 index 000000000000..12cec1860a38 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "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/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json new file mode 100644 index 000000000000..5f431e420527 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "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" + }, + "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/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json new file mode 100644 index 000000000000..5f431e420527 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "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" + }, + "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/stable/2020-07-01/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json new file mode 100644 index 000000000000..0789ea9adfe3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01" + }, + "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/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json new file mode 100644 index 000000000000..1023f932df8c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01" + }, + "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/stable/2020-07-01/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..a82bdc11a5a7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "availabilityParameters": { + "type": "Microsoft.AppPlatform/Spring", + "name": "myservice" + }, + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..6837e4ff3174 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01", + "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" + ] + } + } + }, + "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" + ] + } + } + }, + "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" + ] + } + } + }, + "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/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json new file mode 100644 index 000000000000..b5e932ff99b3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json @@ -0,0 +1,122 @@ +{ + "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": "2020-07-01", + "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" + ] + } + }, + "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" + ] + } + }, + "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" + ] + } + }, + "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/stable/2020-07-01/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json new file mode 100644 index 000000000000..e1bb8539d801 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/stable/2020-07-01/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json new file mode 100644 index 000000000000..47002475fca4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json new file mode 100644 index 000000000000..9836b1d2ae6f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json new file mode 100644 index 000000000000..0af48fc29a7b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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" + ] + } + } + }, + "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/stable/2020-07-01/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json new file mode 100644 index 000000000000..0e6a9a8d02ed --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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" + ] + } + } + }, + "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/stable/2020-07-01/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json new file mode 100644 index 000000000000..c8bfadb985b7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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" + ] + } + } + }, + "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/stable/2020-07-01/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json new file mode 100644 index 000000000000..9836b1d2ae6f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json new file mode 100644 index 000000000000..36ce27ed48c3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "regenerateTestKeyRequest": { + "keyType": "Primary" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json new file mode 100644 index 000000000000..0404e9a95e93 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01", + "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" + ] + } + } + }, + "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" + ] + } + } + }, + "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/stable/2020-07-01/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json new file mode 100644 index 000000000000..e5f7d5765289 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "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/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7c633bc07810 --- /dev/null +++ b/specification/appplatform/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-appplatform-2020-07-01 + - tag: schema-appplatform-2019-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-appplatform-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appplatform-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json + +``` + +### Tag: schema-appplatform-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appplatform-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json + +``` diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md index 2406d387ba5f..3c5820e1c257 100644 --- a/specification/appplatform/resource-manager/readme.go.md +++ b/specification/appplatform/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and go + +These settings apply only when `--tag=package-2020-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +``` + ### Tag: package-2019-05-01-preview and go These settings apply only when `--tag=package-2019-05-01-preview --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 789e47493698..1f6d7300efe1 100644 --- a/specification/appplatform/resource-manager/readme.java.md +++ b/specification/appplatform/resource-manager/readme.java.md @@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and java + +These settings apply only when `--tag=package-2020-07 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appplatform.v2020_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2020_07_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2019-05-01-preview and java These settings apply only when `--tag=package-2019-05-01-preview --java` is specified on the command line. @@ -30,4 +44,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2019_05_01_preview regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md index 2a1d933b2910..37a91547fa09 100644 --- a/specification/appplatform/resource-manager/readme.md +++ b/specification/appplatform/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for AppPlatform. - - --- + ## Getting Started + To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,18 @@ To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autor To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the AppPlatform API. ``` yaml openapi-type: arm -tag: package-2019-05-01-preview +tag: package-2020-07 ``` ### Suppression @@ -41,8 +41,23 @@ directive: from: appplatform.json where: $.definitions.Dimension.properties.toBeExportedForShoebox reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics + - suppress: R3021 + from: appplatform.json + reason: The resource type name 'Spring' is a trademark so cannot be changed to be camel-case + #where: + # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default"] + # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default"] ``` + +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +```yaml $(tag) == 'package-2020-07' +input-file: + - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json +``` ### Tag: package-2019-05-01-preview These settings apply only when `--tag=package-2019-05-01-preview` is specified on the command line. @@ -53,8 +68,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -64,6 +79,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform - repo: azure-sdk-for-java - repo: azure-sdk-for-net - repo: azure-sdk-for-node @@ -72,9 +89,11 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js appplatform/resource-manager ``` - ## Go See configuration in [readme.go.md](./readme.go.md) @@ -98,27 +117,7 @@ csharp: clear-output-folder: 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.AppPlatform/preview/2019-05-01-preview/appplatform.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md index 5e8d38718850..ddb776efd495 100644 --- a/specification/appplatform/resource-manager/readme.python.md +++ b/specification/appplatform/resource-manager/readme.python.md @@ -10,18 +10,40 @@ python: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 - namespace: azure.mgmt.appplatform package-name: azure-mgmt-appplatform - package-version: 0.2.0 clear-output-folder: true + no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2020-07 + - tag: package-2019-05-01-preview ``` -``` yaml $(python) && $(python-mode) == 'update' + +### Tag: package-2020-07 and python + +These settings apply only when `--tag=package-2020-07 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(python) python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform + namespace: azure.mgmt.appplatform.v2020_07_01 + output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01 ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Tag: package-2019-05-01-preview and python + +These settings apply only when `--tag=package-2019-05-01-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-05-01-preview' && $(python) python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform + namespace: azure.mgmt.appplatform.v2019_05_01_preview + output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2019_05_01_preview ``` + diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md index 827034b2477a..7a1b560cd736 100644 --- a/specification/appplatform/resource-manager/readme.ruby.md +++ b/specification/appplatform/resource-manager/readme.ruby.md @@ -12,9 +12,20 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and ruby + +These settings apply only when `--tag=package-2020-07 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(ruby) +namespace: "Azure::AppPlatform::Mgmt::V2020_07_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib +``` + ### Tag: package-2019-05-01-preview and ruby These settings apply only when `--tag=package-2019-05-01-preview --ruby` is specified on the command line. diff --git a/specification/attestation/data-plane/readme.go.md b/specification/attestation/data-plane/readme.go.md new file mode 100644 index 000000000000..a99623b96edf --- /dev/null +++ b/specification/attestation/data-plane/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 + namespace: attestation + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2018-09-preview +``` + +### Tag: package-2018-09-preview and go + +These settings apply only when `--tag=package-2018-09-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2018-09-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/2018-09-01-preview/$(namespace) +``` diff --git a/specification/attestation/data-plane/readme.md b/specification/attestation/data-plane/readme.md index f382f8bb7b01..c0dfa3499891 100644 --- a/specification/attestation/data-plane/readme.md +++ b/specification/attestation/data-plane/readme.md @@ -51,6 +51,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python + - repo: azure-sdk-for-go ``` ## Python @@ -72,7 +73,9 @@ csharp: clear-output-folder: true ``` +## Go +See configuration in [readme.go.md](./readme.go.md) ## Multi-API/Profile support for AutoRest v3 generators diff --git a/specification/attestation/resource-manager/readme.azureresourceschema.md b/specification/attestation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..990f22190468 --- /dev/null +++ b/specification/attestation/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-attestation-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-attestation-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-attestation-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Attestation/preview/2018-09-01-preview/attestation.json + +``` diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md index 44902dfd9d1a..68adc3fb05b6 100644 --- a/specification/attestation/resource-manager/readme.md +++ b/specification/attestation/resource-manager/readme.md @@ -51,6 +51,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js attestation/resource-manager ``` ## Python @@ -80,27 +83,7 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.trenton.md](./readme.trenton.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.Attestation/preview/2018-09-01-preview/attestation.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) 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 c6733a4380c0..478c98bc5686 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 @@ -539,7 +539,7 @@ }, "conditionVersion": { "type": "string", - "description": "Version of the condition. Currently accepted values are '1.0' or '2.0'" + "description": "Version of the condition. Currently accepted value is '2.0'" } }, "description": "Role assignment properties with scope." @@ -625,11 +625,11 @@ }, "condition": { "type": "string", - "description": "The conditions on the role assignment" + "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'" }, "conditionVersion": { "type": "string", - "description": "Version of the condition" + "description": "Version of the condition. Currently accepted value is '2.0'" } }, "required": [ diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..de63c8f3bf21 --- /dev/null +++ b/specification/authorization/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,102 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-authorization-2020-04-01-preview + - tag: schema-authorization-2018-09-01-preview + - tag: schema-authorization-2018-07-01-preview + - tag: schema-authorization-2018-01-01-preview + - tag: schema-authorization-2017-10-01-preview + - tag: schema-authorization-2015-07-01 + - tag: schema-authorization-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-authorization-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json + +``` + +### Tag: schema-authorization-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json + +``` + +### Tag: schema-authorization-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2015-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +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 + +``` + +### Tag: schema-authorization-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json + +``` diff --git a/specification/authorization/resource-manager/readme.csharp.md b/specification/authorization/resource-manager/readme.csharp.md index 0a92e47c547e..d51272335e2e 100644 --- a/specification/authorization/resource-manager/readme.csharp.md +++ b/specification/authorization/resource-manager/readme.csharp.md @@ -108,4 +108,16 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Authorization/Management. batch: - tag: profile-hybrid-2019-03-01 + ``` + + ### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + + ``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Authorization +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Authorization/Management.Authorization/Generated + +batch: + - tag: profile-hybrid-2020-09-01 ``` \ No newline at end of file diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md index 575b2c656dde..8e52bc8d5fd6 100644 --- a/specification/authorization/resource-manager/readme.md +++ b/specification/authorization/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the Authorization API. ``` yaml openapi-type: arm -tag: package-2020-04-preview +tag: package-2020-04-01-preview-only ``` ## Suppression @@ -69,17 +69,12 @@ directive: reason: for this case the result of the proposed change would resemble a boolean anyways ``` -### Tag: package-2020-04-preview +### Tag: package-2020-04-01-preview-only These settings apply only when `--tag=package-2020-04-preview` is specified on the command line. -``` yaml $(tag) == 'package-2020-04-preview' +``` yaml $(tag) == 'package-2020-04-01-preview-only' input-file: -- Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json -- Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json -- Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json -- Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json -- Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json ``` @@ -210,6 +205,19 @@ input-file: - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.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.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 +``` + --- # Code Generation @@ -232,6 +240,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_authorization'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js authorization/resource-manager ``` ## Go @@ -242,38 +253,7 @@ 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! +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json - - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json - - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json - - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json - - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json - - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json - - $(this-folder)/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.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/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md index 70e14ea1a327..56c486beb56b 100644 --- a/specification/authorization/resource-manager/readme.python.md +++ b/specification/authorization/resource-manager/readme.python.md @@ -21,6 +21,7 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-04-01-preview-only - tag: package-2018-09-01-preview-only - tag: package-2018-07-01-preview-only - tag: package-2018-01-01-preview-only @@ -28,6 +29,16 @@ batch: - tag: package-2015-06-01-preview ``` +### Tag: package-2020-04-01-preview-only and python + +These settings apply only when `--tag=package-2020-04-01-preview-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04-01-preview-only' && $(python) +python: + namespace: azure.mgmt.authorization.v2020_04_01_preview + output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_04_01_preview +``` + ### Tag: package-2018-09-01-preview-only and python These settings apply only when `--tag=package-2018-09-01-preview-only --python` is specified on the command line. diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json new file mode 100644 index 000000000000..3f181fed7963 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json @@ -0,0 +1,1371 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-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": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}": { + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates an Automanage Account", + "x-ms-examples": { + "Create or update Automanage account": { + "$ref": "./examples/createOrUpdateAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account." + }, + { + "$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/Account" + }, + "description": "Parameters supplied to create or update Automanage account." + } + ], + "responses": { + "201": { + "description": "Created. The Automanage account was created successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "200": { + "description": "OK. The Automanage account was updated successfully.", + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Get information about a Automanage account", + "x-ms-examples": { + "Get an Automanage account": { + "$ref": "./examples/getAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage account 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 Automanage account was returned successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "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": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete a Automanage account", + "x-ms-examples": { + "Delete an Automanage account": { + "$ref": "./examples/deleteAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account" + }, + { + "$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": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "description": "Updates an Automanage Account", + "x-ms-examples": { + "Update Automanage account": { + "$ref": "./examples/updateAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account." + }, + { + "$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/AccountUpdate" + }, + "description": "Parameters supplied to update Automanage account." + } + ], + "responses": { + "200": { + "description": "OK. The Automanage account was updated successfully.", + "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": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "Retrieve a list of Automanage accounts within a given resource group", + "x-ms-examples": { + "List Automanage accounts by resource group": { + "$ref": "./examples/listAccountsByResourceGroup.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 Automanage accounts.", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "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/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListBySubscription", + "description": "Retrieve a list of Automanage accounts within a subscription", + "x-ms-examples": { + "List Automanage accounts by subscription": { + "$ref": "./examples/listAccountsBySubscription.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 Automanage accounts.", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "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": true, + "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": { + "Get a configuration profile assignment": { + "$ref": "./examples/listConfigurationProfileAssignments.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": { + "$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" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}": { + "put": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_CreateOrUpdate", + "description": "Creates a configuration profile preference", + "x-ms-examples": { + "Create or update configuration profile preference": { + "$ref": "./examples/createOrUpdateConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference." + }, + { + "$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/ConfigurationProfilePreference" + }, + "description": "Parameters supplied to create or update configuration profile preference." + } + ], + "responses": { + "201": { + "description": "Created. The configuration profile preference was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "200": { + "description": "OK. The configuration profile preference was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "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": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Get", + "description": "Get information about a configuration profile preference", + "x-ms-examples": { + "Get a configuration profile": { + "$ref": "./examples/getConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile preference 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 preference was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "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": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Delete", + "description": "Delete a configuration profile preference", + "x-ms-examples": { + "Delete a configuration profile preference": { + "$ref": "./examples/deleteConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference" + }, + { + "$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": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Update", + "description": "Updates a configuration profile preference", + "x-ms-examples": { + "Create or update configuration profile preference": { + "$ref": "./examples/updateConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference." + }, + { + "$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/ConfigurationProfilePreferenceUpdate" + }, + "description": "Parameters supplied to create or update configuration profile preference." + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile preference was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "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/configurationProfilePreferences": { + "get": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_ListByResourceGroup", + "description": "Retrieve a list of configuration profile preferences within a given resource group", + "x-ms-examples": { + "List configuration profile preferences by resource group": { + "$ref": "./examples/listConfigurationProfilePreferencesByResourceGroup.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 profile preferences.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreferenceList" + } + }, + "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/configurationProfilePreferences": { + "get": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_ListBySubscription", + "description": "Retrieve a list of configuration profile preferences within a subscription", + "x-ms-examples": { + "List configuration profile preferences by subscription": { + "$ref": "./examples/listConfigurationProfilePreferencesBySubscription.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 profile preferences.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreferenceList" + } + }, + "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": "OK", + "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": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "Account": { + "properties": { + "identity": { + "$ref": "#/definitions/AccountIdentity", + "description": "The identity of the Automanage account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the Automanage account." + }, + "AccountUpdate": { + "properties": { + "identity": { + "$ref": "#/definitions/AccountIdentity", + "description": "The identity of the Automanage account." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Definition of the Automanage account." + }, + "AccountIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of Automanage account identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Automanage account." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + }, + "description": "Identity for the Automanage account." + }, + "AccountList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "Result of the list Account operation." + } + }, + "description": "The response of the list Account operation." + }, + "ConfigurationProfileAssignmentList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + }, + "description": "Result of the list configuration profile assignment operation." + } + }, + "description": "The response of the list configuration profile assignment operation." + }, + "ConfigurationProfileAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfileAssignmentProperties", + "description": "Properties of the configuration profile assignment." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Configuration profile assignment is an association between a VM and automanage profile configuration." + }, + "ConfigurationProfileAssignmentProperties": { + "properties": { + "configurationProfile": { + "type": "string", + "description": "A value indicating configuration profile.", + "x-ms-enum": { + "name": "configurationProfile", + "modelAsString": true + }, + "enum": [ + "Azure virtual machine best practices – Dev/Test", + "Azure virtual machine best practices – Production" + ] + }, + "targetId": { + "type": "string", + "description": "The target VM resource URI" + }, + "accountId": { + "type": "string", + "description": "The Automanage account ARM Resource URI" + }, + "configurationProfilePreferenceId": { + "type": "string", + "x-nullable": true, + "description": "The configuration profile custom preferences ARM resource URI" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The state of onboarding, which only appears in the response.", + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Created" + ] + }, + "compliance": { + "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance", + "description": "The configuration setting for the configuration profile." + } + }, + "description": "Automanage configuration profile assignment properties." + }, + "ConfigurationProfileAssignmentCompliance": { + "properties": { + "updateStatus": { + "readOnly": true, + "type": "string", + "description": "The state of compliance, which only appears in the response.", + "x-nullable": true, + "x-ms-enum": { + "name": "updateStatus", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Created" + ] + } + }, + "description": "The compliance status for the configuration profile assignment." + }, + "ConfigurationProfilePreference": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties", + "description": "Properties of the configuration profile preference." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the configuration profile preference." + }, + "ConfigurationProfilePreferenceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties", + "description": "Properties of the configuration profile preference." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Definition of the configuration profile preference." + }, + "ConfigurationProfilePreferenceProperties": { + "properties": { + "vmBackup": { + "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup", + "description": "The custom preferences for Azure VM Backup." + }, + "antiMalware": { + "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware", + "description": "The custom preferences for Azure Antimalware." + } + }, + "description": "Automanage configuration profile preference properties." + }, + "ConfigurationProfilePreferenceVmBackup": { + "properties": { + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: Pacific Standard Time", + "x-nullable": true + }, + "instantRpRetentionRangeInDays": { + "type": "integer", + "format": "int32", + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "type": "string", + "description": "Retention policy with the details on backup copy retention ranges.", + "x-nullable": true + }, + "schedulePolicy": { + "type": "string", + "description": "Backup schedule specified as part of backup policy.", + "x-nullable": true + } + }, + "description": "Automanage configuration profile VM Backup preferences." + }, + "ConfigurationProfilePreferenceAntiMalware": { + "properties": { + "enableRealTimeProtection": { + "type": "string", + "description": "Enables or disables Real Time Protection", + "x-ms-enum": { + "name": "enableRealTimeProtection", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ], + "x-nullable": true + }, + "exclusions": { + "type": "object", + "description": "Extensions, Paths and Processes that must be excluded from scan", + "x-nullable": true + }, + "runScheduledScan": { + "type": "string", + "description": "Enables or disables a periodic scan for antimalware", + "x-ms-enum": { + "name": "runScheduledScan", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ], + "x-nullable": true + }, + "scanType": { + "type": "string", + "description": "Type of scheduled scan", + "x-ms-enum": { + "name": "scanType", + "modelAsString": true + }, + "enum": [ + "Quick", + "Full" + ], + "x-nullable": true + }, + "scanDay": { + "type": "string", + "description": "Schedule scan settings day", + "x-nullable": true + }, + "scanTimeInMinutes": { + "type": "string", + "description": "Schedule scan settings time", + "x-nullable": true + } + }, + "description": "Automanage configuration profile Antimalware preferences." + }, + "ConfigurationProfilePreferenceList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfilePreference" + }, + "description": "Result of the list ConfigurationProfilePreference operation." + } + }, + "description": "The response of the list ConfigurationProfilePreference operation." + }, + "Operation": { + "description": "Automanage REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: For ex. providers/Microsoft.Automanage/configurationProfileAssignments/write or read", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "string" + }, + "display": { + "properties": { + "provider": { + "description": "Service provider: Microsoft.Automanage", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: For ex. ", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description about operation.", + "type": "string" + } + }, + "description": "Provider, Resource, Operation and description values." + }, + "properties": { + "properties": { + "statusCode": { + "description": "Service provider: Microsoft.Automanage", + "type": "string" + } + }, + "x-ms-client-flatten": true, + "description": "Provider, Resource, Operation and description values." + } + } + }, + "OperationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Automanage operations supported by the Automanage resource provider." + } + }, + "description": "The response model for the list of Automanage operations" + }, + "UpdateResource": { + "description": "Represents an update resource", + "type": "object", + "properties": { + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "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/2020-06-30-preview/examples/createOrUpdateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json new file mode 100644 index 000000000000..5924745ee5a0 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "api-version": "2020-06-30-preview", + "accountName": "account", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json new file mode 100644 index 000000000000..dd5bc5c6af8e --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview", + "parameters": { + "properties": { + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Created" + }, + "provisioningState": "Created" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json new file mode 100644 index 000000000000..845e5c65ab72 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json new file mode 100644 index 000000000000..61e21fb2d14f --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "accountName": "automanageAccount", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json new file mode 100644 index 000000000000..68b206134c71 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json new file mode 100644 index 000000000000..7dd4fa94ccd8 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json new file mode 100644 index 000000000000..161bf418c5b1 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "accountName": "automanageAccount", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "automanageAccount", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json new file mode 100644 index 000000000000..a526f23ecbac --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json new file mode 100644 index 000000000000..0bc637534924 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfile", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json new file mode 100644 index 000000000000..a566a1b6b69b --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "automanageAccount1", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount1", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "properties": { + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + }, + { + "name": "automanageAccount2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount2", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "properties": { + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json new file mode 100644 index 000000000000..80109d475b76 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "automanageAccount1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Automanage/accounts/automanageAccount1", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + }, + { + "name": "automanageAccount2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Automanage/accounts/automanageAccount2", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json new file mode 100644 index 000000000000..6761b5da71d9 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json new file mode 100644 index 000000000000..8a696d3e500c --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "vmName": "myVMName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2", + "configurationProfile": "Azure virtual machine best practices – Production", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningState": "Succeeded" + } + } + ] + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json new file mode 100644 index 000000000000..2907215f8756 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference1", + "name": "defaultProfilePreference1", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference2", + "name": "defaultProfilePreference2", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json new file mode 100644 index 000000000000..2d9d70165376 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile1", + "name": "defaultProfile1", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configurationProfileType": "Azure Best Practices - Prod", + "preferences": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile2", + "name": "defaultProfile2", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configurationProfileType": "Azure Best Practices - TestDev", + "preferences": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "False" + } + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json new file mode 100644 index 000000000000..8dc4d3b633ca --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.Automanage/configurationProfileAssignments/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/write", + "description": "Create new configuration profile assignment." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/read", + "description": "Get configuration profile assignment." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/accounts/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/accounts", + "operation": "Microsoft.Automanage/accounts/write", + "description": "Create new Automanage Account." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/accounts/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/accounts", + "operation": "Microsoft.Automanage/accounts/read", + "description": "Get Automanage Account." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfilePreferences/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfilePreferences", + "operation": "Microsoft.Automanage/configurationProfilePreferences/write", + "description": "Create new Automanage Configuration Profile Preference." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfilePreferences/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfilePreferences", + "operation": "Microsoft.Automanage/configurationProfilePreferences/read", + "description": "Get Automanage Configuration Profile Preference." + }, + "properties": null + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json new file mode 100644 index 000000000000..74a8f9fcc48a --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "api-version": "2020-06-30-preview", + "accountName": "account", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json new file mode 100644 index 000000000000..cfd4c01306c7 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/readme.az.md b/specification/automanage/resource-manager/readme.az.md new file mode 100644 index 000000000000..6b796af97d11 --- /dev/null +++ b/specification/automanage/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: automanage + namespace: azure.mgmt.automanage + package-name: azure-mgmt-automanage +az-output-folder: $(azure-cli-extension-folder)/src/automanage +python-sdk-output-folder: "$(az-output-folder)/azext_automanage/vendored_sdks/automanage" +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.azureresourceschema.md b/specification/automanage/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4a51ecd85b66 --- /dev/null +++ b/specification/automanage/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-automanage-2020-06-30-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-automanage-2020-06-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automanage-2020-06-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automanage/preview/2020-06-30-preview/automanage.json + +``` diff --git a/specification/automanage/resource-manager/readme.cli.md b/specification/automanage/resource-manager/readme.cli.md new file mode 100644 index 000000000000..e17b8f756ff1 --- /dev/null +++ b/specification/automanage/resource-manager/readme.cli.md @@ -0,0 +1,24 @@ +## CLI + +These settings don't need to apply `--cli` on the command line. + +``` yaml +cli: + cli-name: automanage + package-name: azure-mgmt-automanage + namespace: azure.mgmt.automanage + test-scenario: + - name: Create or update an Automanage account + - name: Create or update configuration profile assignment + - name: Create or update configuration profile preference + - name: Delete an Automanage account + - name: Delete a configuration profile assignment + - name: Delete a configuration profile preference + - name: Get an Automanage account + - name: Get a configuration profile assignment + - name: Get a configuration profile preference + - name: Lists Automanage account + - name: Lists configuration profile assignment + - name: Lists configuration profile preference + - name: Operations +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.go.md b/specification/automanage/resource-manager/readme.go.md new file mode 100644 index 000000000000..16cdc4f4805e --- /dev/null +++ b/specification/automanage/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 + namespace: automanage + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-06-30-preview +``` + +### Tag: package-2020-06-30-preview and go + +These settings apply only when `--tag=package-2020-06-30-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06-30-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-30-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md new file mode 100644 index 000000000000..4e54a1d44f3c --- /dev/null +++ b/specification/automanage/resource-manager/readme.md @@ -0,0 +1,88 @@ +# Automanage + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Automanage. + +--- + +## Getting Started + +To build the SDK for Automanage, 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 Automanage API. + +``` yaml +title: AutomanageClient +description: Automanage Client +openapi-type: arm +tag: package-2020-06-30-preview +``` + +### Tag: package-2020-06-30-preview + +These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30-preview' +input-file: +- Microsoft.Automanage/preview/2020-06-30-preview/automanage.json +``` + +## Suppression + +``` yaml +directive: + - suppress: UniqueResourcePaths + 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' +``` + +--- + +# 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 + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_automanage'] +``` + +## 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 + namespace: Microsoft.Azure.Management.Automanage + output-folder: $(csharp-sdks-folder)/automanage/Microsoft.Azure.Management.Automanage/src/Generated + clear-output-folder: true +``` + diff --git a/specification/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md new file mode 100644 index 000000000000..caf9a094f45f --- /dev/null +++ b/specification/automanage/resource-manager/readme.python.md @@ -0,0 +1,40 @@ +## 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-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.automanage + package-name: azure-mgmt-automanage + package-version: 0.1.0 + clear-output-folder: true +``` + +```yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-automanage +package-version: 0.1.0-preview +clear-output-folder: true +no-namespace-folders: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage +basic-setup-py: true +output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage +``` diff --git a/specification/automanage/resource-manager/readme.typescript.md b/specification/automanage/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..d856dfb1f954 --- /dev/null +++ b/specification/automanage/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: "@azure/arm-automanage" + output-folder: "$(typescript-sdks-folder)/sdk/automanage/arm-automanage" + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/automation/resource-manager/readme.azureresourceschema.md b/specification/automation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b70f177b4995 --- /dev/null +++ b/specification/automation/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,101 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-automation-2020-01-13-preview + - tag: schema-automation-2018-06-30 + - tag: schema-automation-2018-01-15 + - tag: schema-automation-2017-05-15-preview + - tag: schema-automation-2015-10-31 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-automation-2020-01-13-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2020-01-13-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json + - Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json + +``` + +### Tag: schema-automation-2018-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2018-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2018-06-30/runbook.json + - Microsoft.Automation/stable/2018-06-30/python2package.json + +``` + +### Tag: schema-automation-2018-01-15 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2018-01-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2018-01-15/dscNode.json + - Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json + - Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json + - Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json + +``` + +### Tag: schema-automation-2017-05-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2017-05-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json + - Microsoft.Automation/preview/2017-05-15-preview/job.json + +``` + +### Tag: schema-automation-2015-10-31 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2015-10-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2015-10-31/account.json + - Microsoft.Automation/stable/2015-10-31/certificate.json + - Microsoft.Automation/stable/2015-10-31/connection.json + - Microsoft.Automation/stable/2015-10-31/connectionType.json + - Microsoft.Automation/stable/2015-10-31/credential.json + - Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json + - Microsoft.Automation/stable/2015-10-31/dscConfiguration.json + - Microsoft.Automation/stable/2015-10-31/dscNode.json + - Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json + - Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json + - Microsoft.Automation/stable/2015-10-31/job.json + - Microsoft.Automation/stable/2015-10-31/jobSchedule.json + - Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json + - Microsoft.Automation/stable/2015-10-31/module.json + - Microsoft.Automation/stable/2015-10-31/runbook.json + - Microsoft.Automation/stable/2015-10-31/schedule.json + - Microsoft.Automation/stable/2015-10-31/variable.json + - Microsoft.Automation/stable/2015-10-31/webhook.json + - Microsoft.Automation/stable/2015-10-31/watcher.json + +``` diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md index e3416d6946aa..673bab83d496 100644 --- a/specification/automation/resource-manager/readme.md +++ b/specification/automation/resource-manager/readme.md @@ -238,6 +238,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_automation'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js automation/resource-manager ``` @@ -299,60 +302,7 @@ 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.Automation/stable/2015-10-31/account.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/certificate.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/connection.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/connectionType.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/credential.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscConfiguration.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscNode.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/job.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/jobSchedule.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/module.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/runbook.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/schedule.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/variable.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/webhook.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json - - $(this-folder)/Microsoft.Automation/preview/2017-05-15-preview/job.json - - $(this-folder)/Microsoft.Automation/stable/2015-10-31/watcher.json - - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNode.json - - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json - - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json - - $(this-folder)/Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json - - $(this-folder)/Microsoft.Automation/stable/2018-06-30/runbook.json - - $(this-folder)/Microsoft.Automation/stable/2018-06-30/python2package.json - - $(this-folder)/Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json - - $(this-folder)/Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json index 40fcb50e2a3f..9508e24e10c3 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json @@ -10,7 +10,7 @@ "https" ], "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations": { "get": { "x-ms-examples": { "Return product name.": { @@ -27,7 +27,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ApiVersionParameter" @@ -39,6 +39,12 @@ "schema": { "$ref": "#/definitions/ActivationResourcesPage" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -52,7 +58,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}": { "get": { "x-ms-examples": { "Return activation name.": { @@ -69,7 +75,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -85,8 +91,11 @@ "$ref": "#/definitions/ActivationResource" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -112,7 +121,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -130,6 +139,12 @@ "schema": { "$ref": "#/definitions/ActivationResource" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -155,7 +170,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -170,6 +185,15 @@ "schema": { "$ref": "#/definitions/ActivationResource" } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -243,6 +267,40 @@ "description": "URI to the next page." } } + }, + "ExtendedErrorInfo": { + "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": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json index 7006ed80e3eb..fda858d423a4 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json @@ -33,6 +33,12 @@ "schema": { "$ref": "#/definitions/OperationList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -50,17 +56,14 @@ "type": "object", "properties": { "id": { - "readOnly": true, "description": "URI of the resource.", "type": "string" }, "name": { - "readOnly": true, "description": "Name of the resource.", "type": "string" }, "type": { - "readOnly": true, "description": "Type of resource.", "type": "string" }, @@ -361,8 +364,7 @@ }, "galleryPackageBlobSasUri": { "description": "The URI to the .azpkg file that provides information required for showing product in the gallery.", - "type": "string", - "readOnly": true + "type": "string" }, "productDetailsProperties": { "description": "Specifies additional properties describing the product.", @@ -401,8 +403,7 @@ }, "isSystemExtension": { "description": "Specifies if product is a Virtual Machine Extension.", - "type": "boolean", - "readOnly": true + "type": "boolean" }, "sourceBlob": { "description": "Specifies a download location where content can be downloaded from.", @@ -412,13 +413,11 @@ }, "supportMultipleExtensions": { "description": "Indicates if specified product supports multiple extensions.", - "type": "boolean", - "readOnly": true + "type": "boolean" }, "version": { "description": "Specifies product version.", - "type": "string", - "readOnly": true + "type": "string" }, "vmOsType": { "description": "Specifies operating system used by the product.", @@ -427,8 +426,7 @@ }, "vmScaleSetEnabled": { "description": "Indicates if virtual machine Scale Set is enabled in the specified product.", - "type": "boolean", - "readOnly": true + "type": "boolean" } } }, @@ -438,8 +436,7 @@ "properties": { "version": { "description": "Specifies product version.", - "type": "string", - "readOnly": true + "type": "string" }, "osDiskImage": { "description": "OS disk image used by product.", @@ -475,8 +472,7 @@ "properties": { "uri": { "description": "The URI.", - "type": "string", - "readOnly": true + "type": "string" } } }, @@ -559,9 +555,9 @@ "type": "string", "x-ms-parameter-location": "method" }, - "ResourceGroupParameter": { + "ResourceGroupNameParameter": { "description": "The resource group the resource is located under.", - "name": "resourceGroup", + "name": "resourceGroupName", "in": "path", "type": "string", "required": true, diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json index 443b8e82072e..dd432ffef5b8 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json @@ -10,7 +10,7 @@ "https" ], "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts": { "get": { "x-ms-examples": { "Get a list of downloaded products.": { @@ -27,7 +27,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -42,6 +42,12 @@ "schema": { "$ref": "#/definitions/DownloadedProductResourcesPage" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -55,7 +61,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}": { "get": { "x-ms-examples": { "Gets the specified downloaded product.": { @@ -72,7 +78,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -91,8 +97,11 @@ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -118,7 +127,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -143,8 +152,14 @@ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource" } }, - "404": { - "description": "Not Found" + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true, @@ -171,7 +186,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -198,6 +213,12 @@ "schema": { "$ref": "AzureBridge.json#/definitions/DownloadedProductResource" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true, diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json index d3f9266f56b7..46b143618c60 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json @@ -10,7 +10,7 @@ "https" ], "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products": { "get": { "x-ms-examples": { "Return product name.": { @@ -27,7 +27,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -42,6 +42,12 @@ "schema": { "$ref": "#/definitions/ProductResourcesPage" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -55,7 +61,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}": { "get": { "x-ms-examples": { "Return product name.": { @@ -72,7 +78,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -91,8 +97,11 @@ "$ref": "#/definitions/ProductResource" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -103,7 +112,7 @@ ] } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download": { "post": { "x-ms-examples": { "Return product name.": { @@ -120,7 +129,7 @@ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter" + "$ref": "AzureBridge.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "AzureBridge.json#/parameters/ActivationNameParameter" @@ -145,8 +154,11 @@ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Activation.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true, diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json index 6548cbf55c22..fd4f8bbb1f2d 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Create.json @@ -3,8 +3,10 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", - "activation": "default", + "resourceGroupName": "azurestack", + "activation": { + "displayName": "default" + }, "activationName": "default" }, "responses": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json index 8f2e3a03d53a..94bb60730558 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Delete.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default" }, "responses": { @@ -12,6 +12,7 @@ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default", "name": "default" } - } + }, + "204": {} } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json index 3594658e9e70..99793c4e0364 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/Get.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default" }, "responses": { @@ -22,7 +22,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json index 143ec75e4ac8..2d7382dc81e6 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Activation/List.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack" + "resourceGroupName": "azurestack" }, "responses": { "200": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json index c7533bec0320..dc2f421dfeda 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Delete.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default", "productName": "Canonical.UbuntuServer1710-ARM.1.0.6" }, @@ -14,6 +14,6 @@ "202": { "body": {} }, - "404": {} + "204": {} } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json index 34858fe08def..3ece1e75221e 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Get.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default", "productName": "Canonical.UbuntuServer1710-ARM.1.0.6" }, @@ -57,7 +57,6 @@ } } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json index 1dd20c4d85ae..ad8ce850e1a2 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/List.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default" }, "responses": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json index 9b50491c0898..64863fc9b9d6 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default", "productName": "Canonical.UbuntuServer1710-ARM.1.0.6", "downloadedProduct": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json index bdbf6a51dbdb..2ded67835365 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/Get.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default", "productName": "Canonical.UbuntuServer1710-ARM.1.0.6", "api-version": "2015-06-01-preview" @@ -57,7 +57,6 @@ } } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json index d5c05976c5d5..1cfadeb5e0f3 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/List.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default" }, "responses": { diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json index b2140e732112..91f899e839e7 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json @@ -3,7 +3,7 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-06-01-preview", - "resourceGroup": "azurestack", + "resourceGroupName": "azurestack", "activationName": "default", "productName": "Canonical.UbuntuServer1710-ARM.1.0.6" }, @@ -107,7 +107,6 @@ } } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md b/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md new file mode 100644 index 000000000000..fab4d9021c9d --- /dev/null +++ b/specification/azsadmin/resource-manager/azurebridge/readme.azsautogen.md @@ -0,0 +1,11 @@ +# AutoRest v3 generators + +> see https://aka.ms/autorest + +``` yaml +input-file: + - Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json +``` \ No newline at end of file diff --git a/specification/azsadmin/resource-manager/azurebridge/readme.md b/specification/azsadmin/resource-manager/azurebridge/readme.md index 81167054852a..09e4e09eecc6 100644 --- a/specification/azsadmin/resource-manager/azurebridge/readme.md +++ b/specification/azsadmin/resource-manager/azurebridge/readme.md @@ -39,6 +39,26 @@ input-file: - Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json ``` +## Suppression +``` yaml +directive: + - suppress: RequiredPropertiesMissingInResourceModel + from: Activation.json + where: $.definitions.ActivationResource + - suppress: RequiredPropertiesMissingInResourceModel + from: AzureBridge.json + where: $.definitions.DownloadedProductResource + - suppress: RequiredPropertiesMissingInResourceModel + from: Product.json + where: $.definitions.ProductResource + - suppress: PathResourceProviderNamePascalCase + from: Activation.json + - suppress: PathResourceProviderNamePascalCase + from: DownloadedProduct.json + - suppress: PathResourceProviderNamePascalCase + from: Product.json +``` + --- # Code Generation @@ -54,30 +74,14 @@ csharp: clear-output-folder: true ``` -## Multi-API/Profile support for AutoRest v3 generators +# 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 +> see https://aka.ms/autorest -# all the input files across all versions +``` yaml input-file: - - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json - - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json - - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json - - $(this-folder)/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.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 + - Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json + - Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json ``` - diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json new file mode 100644 index 000000000000..395b55e41a6c --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json @@ -0,0 +1,35 @@ +{ + "swagger": "2.0", + "info": { + "version": "2016-05-01", + "title": "FabricAdminClient", + "description": "The common parameters for Fabric Management specs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": {}, + "parameters": { + "TopParameter": { + "description": "OData top parameter.", + "name": "$top", + "in": "query", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "description": "OData skip parameter.", + "name": "$skip", + "in": "query", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json index 7726d7c276c8..4860d6ab336d 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json @@ -88,6 +88,12 @@ }, { "$ref": "Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "Common.json#/parameters/TopParameter" + }, + { + "$ref": "Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json index 5cbd44d07ee9..909c95d7085c 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json @@ -91,6 +91,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json index a49309035b87..c668fc776cfa 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json @@ -97,6 +97,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json index e93aa4081d80..6c401faf4622 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json @@ -85,6 +85,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json index 316cfe034ae4..05be0b86dfbf 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json @@ -97,6 +97,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json new file mode 100644 index 000000000000..b0cd34d29890 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json @@ -0,0 +1,599 @@ +{ + "swagger": "2.0", + "info": { + "description": "Scale unit operation endpoints and objects.", + "title": "FabricAdminClient", + "version": "2020-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/scaleOut": { + "post": { + "x-ms-examples": { + "Scales out a scale unit.": { + "$ref": "./examples/ScaleUnit/ScaleOut.json" + } + }, + "tags": [ + "ScaleUnits" + ], + "description": "Scales out a scale unit.", + "operationId": "ScaleUnits_ScaleOut", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitParameter" + }, + { + "$ref": "#/parameters/ScaleOutScaleUnitParametersInBody" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/setGpuPartitionSize": { + "post": { + "x-ms-examples": { + "Set GPU partition size.": { + "$ref": "./examples/ScaleUnit/SetGpuPartitionSize.json" + } + }, + "tags": [ + "ScaleUnits" + ], + "description": "Set GPU partition size.", + "operationId": "ScaleUnits_SetGPUPartitionSize", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitParameter" + }, + { + "$ref": "#/parameters/GpuPartitionSizeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/createFromJson": { + "post": { + "x-ms-examples": { + "Add a new scale unit.": { + "$ref": "./examples/ScaleUnit/CreateFromJson.json" + } + }, + "tags": [ + "ScaleUnits" + ], + "description": "Add a new scale unit.", + "operationId": "ScaleUnits_CreateFromJson", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitParameter" + }, + { + "$ref": "#/parameters/CreateFromJsonScaleUnitParametersInBody" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}": { + "get": { + "x-ms-examples": { + "Returns the requested scale unit": { + "$ref": "./examples/ScaleUnit/Get.json" + } + }, + "tags": [ + "ScaleUnits" + ], + "description": "Returns the requested scale unit.", + "operationId": "ScaleUnits_Get", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScaleUnit" + } + }, + "404": { + "description": "NOT FOUND" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits": { + "get": { + "x-ms-examples": { + "Returns a list of all scale units at a location.": { + "$ref": "./examples/ScaleUnit/List.json" + } + }, + "tags": [ + "ScaleUnits" + ], + "description": "Returns a list of all scale units at a location.", + "operationId": "ScaleUnits_List", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScaleUnitList" + } + }, + "404": { + "description": "NOT FOUND" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ScaleUnit" + } + } + }, + "definitions": { + "ScaleUnitCapacity": { + "description": "The capacity information for a physical machine.", + "type": "object", + "properties": { + "memoryGB": { + "description": "The memory for the physical machine.", + "type": "number", + "format": "float" + }, + "cores": { + "description": "The number of CPU cores for the physical machine.", + "type": "integer", + "format": "int64" + } + } + }, + "ScaleUnit": { + "description": "Represents a cluster. Generally, the cluster will be a collection of hosts backed by failover cluster manager.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of a scale unit.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScaleUnitModel" + } + }, + "allOf": [ + { + "$ref": "../2016-05-01/Fabric.json#/definitions/Resource" + } + ] + }, + "ScaleUnitModel": { + "description": "Properties of a scale unit.", + "type": "object", + "properties": { + "scaleUnitType": { + "description": "Type of cluster.", + "enum": [ + "Unknown", + "ComputeOnly", + "StorageOnly", + "HyperConverged" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ScaleUnitType" + } + }, + "logicalFaultDomain": { + "description": "Fault domain name of the cluster.", + "type": "integer", + "format": "int32" + }, + "nodes": { + "description": "List of nodes in the server.", + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "description": "Current state of the cluster.", + "enum": [ + "Unknown", + "Creating", + "Running", + "Upgrading", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ScaleUnitState" + } + }, + "model": { + "description": "Model of the servers in the cluster.", + "type": "string" + }, + "totalCapacity": { + "description": "Capacity information for the cluster.", + "$ref": "#/definitions/ScaleUnitCapacity" + }, + "isMultiNode": { + "description": "Denotes if more than one node in cluster.", + "type": "boolean" + }, + "isGpuAvailable": { + "description": "Denotes if GPU resource is available in the cluster.", + "type": "boolean" + }, + "gpuPartitionSize": { + "description": "GPU partition size.", + "type": "integer", + "format": "int32" + }, + "gpuType": { + "description": "Type of GPU.", + "enum": [ + "GPUP", + "DDA", + "None" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "GpuType" + } + } + } + }, + "ScaleUnitList": { + "description": "A pageable list of scale units.", + "type": "object", + "properties": { + "value": { + "description": "List of scale units.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleUnit" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "SetGpuPartitionSizeParameter": { + "description": "Input data for setting GPU partitions.", + "type": "object", + "properties": { + "gpuPartitionSize": { + "x-ms-client-name": "GpuPartitionSize", + "description": "Number of GPU partitions", + "type": "integer", + "format": "int32" + } + } + }, + "ScaleOutScaleUnitParameters": { + "description": "Input data that allows for adding a scale unit node.", + "type": "object", + "properties": { + "bmcIpv4Address": { + "x-ms-client-name": "BMCIPv4Address", + "description": "BMC address of the physical machine.", + "type": "string" + }, + "computerName": { + "description": "Computer name of the physical machine.", + "type": "string" + } + } + }, + "ScaleOutScaleUnitParametersList": { + "description": "A list of input data that allows for adding a set of scale unit nodes.", + "type": "object", + "properties": { + "nodeList": { + "description": "List of nodes in the scale unit.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleOutScaleUnitParameters" + } + }, + "awaitStorageConvergence": { + "description": "Flag indicates if the operation should wait for storage to converge before returning.", + "type": "boolean" + } + } + }, + "NetworkDefinitionParameter": { + "description": "A definition of the network received from a new cluster operation.", + "type": "object", + "properties": { + "subnet": { + "description": "The subnet IP mask in the example format 10.0.0.0/25.", + "type": "array", + "items": { + "type": "string" + } + }, + "vlanId": { + "description": "The Vlan ID of the subnet.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DeploymentJsonPhysicalNodeParameters": { + "description": "Description of a bare metal node used for scale unit scale out operations.", + "type": "object", + "properties": { + "bmcIpAddress": { + "x-ms-client-name": "BMCIPAddress", + "description": "BMC address of the physical machine.", + "type": "string" + }, + "name": { + "description": "Computer name of the physical machine.", + "type": "string" + } + } + }, + "CreateFromJsonScaleUnitParametersList": { + "description": "A list of input data that allows for creating the new scale unit.", + "type": "object", + "properties": { + "clusterName": { + "description": "Cluster name for the new scale unit.", + "type": "string" + }, + "physicalNodes": { + "description": "List of nodes in the scale unit.", + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentJsonPhysicalNodeParameters" + } + }, + "torSwitchBgpAsn": { + "description": "The ASN for the cluster's rack TOR.", + "type": "string" + }, + "softwareBgpAsn": { + "description": "The software ASN for the cluster's rack.", + "type": "string" + }, + "torSwitchBgpPeerIp": { + "description": "The list of IP addresses used for TOR communication.", + "type": "array", + "items": { + "type": "string" + } + }, + "infrastructureNetwork": { + "description": "The information associated with the infrastructure network that will be subdivided into subnets.", + "$ref": "#/definitions/NetworkDefinitionParameter" + }, + "storageNetwork": { + "description": "The information associated with the storage network that will be subdivided into subnets.", + "$ref": "#/definitions/NetworkDefinitionParameter" + }, + "netQosPriority": { + "description": "The network QOS priority setting.", + "type": "integer", + "format": "int32" + } + } + }, + "ExtendedErrorInfo": { + "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": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client API Version.", + "required": true, + "type": "string", + "default": "2020-10-01" + }, + "ScaleUnitParameter": { + "name": "scaleUnit", + "description": "Name of the scale units.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GpuPartitionSizeParameter": { + "name": "gpuPartitionSizeParameters", + "description": "Number of GPU partitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SetGpuPartitionSizeParameter" + }, + "x-ms-parameter-location": "method" + }, + "ScaleOutScaleUnitParametersInBody": { + "name": "scaleUnitNodeParameters", + "description": "A list of input data that allows for adding a set of scale unit nodes.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScaleOutScaleUnitParametersList" + }, + "x-ms-parameter-location": "method" + }, + "CreateFromJsonScaleUnitParametersInBody": { + "name": "creationData", + "description": "A list of input data that allows for creating the new scale unit.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateFromJsonScaleUnitParametersList" + }, + "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/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json new file mode 100644 index 000000000000..3c8918b40b98 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json @@ -0,0 +1,588 @@ +{ + "swagger": "2.0", + "info": { + "description": "Scale unit node operation endpoints and objects.", + "title": "FabricAdminClient", + "version": "2020-10-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown": { + "post": { + "x-ms-examples": { + "Shutdown a scale unit node.": { + "$ref": "./examples/ScaleUnitNode/Shutdown.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Shutdown a scale unit node.", + "operationId": "ScaleUnitNodes_Shutdown", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff": { + "post": { + "x-ms-examples": { + "Power off a scale unit node.": { + "$ref": "./examples/ScaleUnitNode/PowerOff.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Power off a scale unit node.", + "operationId": "ScaleUnitNodes_PowerOff", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn": { + "post": { + "x-ms-examples": { + "Power on a scale unit node.": { + "$ref": "./examples/ScaleUnitNode/PowerOn.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Power on a scale unit node.", + "operationId": "ScaleUnitNodes_PowerOn", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode": { + "post": { + "x-ms-examples": { + "Start maintenance mode on a scale unit node.": { + "$ref": "./examples/ScaleUnitNode/StartMaintenanceMode.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Start maintenance mode for a scale unit node.", + "operationId": "ScaleUnitNodes_StartMaintenanceMode", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode": { + "post": { + "x-ms-examples": { + "Stop maintenance mode on a scale unit node.": { + "$ref": "./examples/ScaleUnitNode/StopMaintenanceMode.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Stop maintenance mode for a scale unit node.", + "operationId": "ScaleUnitNodes_StopMaintenanceMode", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair": { + "post": { + "x-ms-examples": { + "Repairs a node of the cluster.": { + "$ref": "./examples/ScaleUnitNode/Repair.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Repairs a node of the cluster.", + "operationId": "ScaleUnitNodes_Repair", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/BareMetalNodeParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "ACCEPTED" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}": { + "get": { + "x-ms-examples": { + "Return the requested scale unit node.": { + "$ref": "./examples/ScaleUnitNode/Get.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Return the requested scale unit node.", + "operationId": "ScaleUnitNodes_Get", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ScaleUnitNodeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScaleUnitNode" + } + }, + "404": { + "description": "NOT FOUND" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes": { + "get": { + "x-ms-examples": { + "List all scale unit node": { + "$ref": "./examples/ScaleUnitNode/List.json" + } + }, + "tags": [ + "ScaleUnitNodes" + ], + "description": "Returns a list of all scale unit nodes in a location.", + "operationId": "ScaleUnitNodes_List", + "parameters": [ + { + "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScaleUnitNodeList" + } + }, + "404": { + "description": "NOT FOUND" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ScaleUnitNode" + } + } + }, + "definitions": { + "BareMetalNodeDescription": { + "description": "Description of a bare metal node used for ScaleOut operation on a cluster.", + "type": "object", + "properties": { + "bmcIpv4Address": { + "x-ms-client-name": "BMCIPv4Address", + "description": "BMC address of the physical machine.", + "type": "string" + }, + "vendor": { + "description": "Vendor of the physical machine.", + "type": "string" + }, + "model": { + "description": "Model of the physical machine.", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of the physical machine.", + "type": "string" + }, + "biosVersion": { + "description": "Bios version of the physical machine.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer.", + "type": "string" + }, + "clusterName": { + "description": "Name of the cluster.", + "type": "string" + }, + "macAddress": { + "description": "Name of the MAC address of the bare metal node.", + "type": "string" + } + } + }, + "ScaleUnitNode": { + "description": "The physical server in a cluster.", + "type": "object", + "properties": { + "properties": { + "description": "Holds all properties related to a scale unit node.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScaleUnitNodeModel" + } + }, + "allOf": [ + { + "$ref": "../2016-05-01/Fabric.json#/definitions/Resource" + } + ] + }, + "ScaleUnitNodeModel": { + "description": "Holds all properties related to a scale unit node.", + "type": "object", + "properties": { + "scaleUnitNodeStatus": { + "description": "Status of the physical machine.", + "enum": [ + "Running", + "Maintenance", + "Stopped" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ScaleUnitNodeStatus" + } + }, + "powerState": { + "description": "PowerState of the physical machine.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "PowerState" + } + }, + "bmcAddress": { + "description": "BMC address of the physical machine.", + "type": "string" + }, + "scaleUnitName": { + "description": "Cluster name of the physical machine.", + "type": "string" + }, + "scaleUnitUri": { + "description": "URI of the corresponding cluster.", + "type": "string" + }, + "canPowerOff": { + "description": "Value indicating whether the node can be powered off.", + "type": "boolean" + }, + "vendor": { + "description": "Vendor of the physical machine.", + "type": "string" + }, + "model": { + "description": "Model of the physical machine.", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of the physical machine.", + "type": "string" + }, + "biosVersion": { + "description": "BIOS version of the physical machine.", + "type": "string" + }, + "capacity": { + "description": "Capacity of the physical machine.", + "$ref": "ScaleUnit.json#/definitions/ScaleUnitCapacity" + }, + "gpus": { + "description": "GPU resource list of the physical machine.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/GpuModel" + } + } + } + }, + "GpuModel": { + "description": "The GPU information on the physical machine.", + "type": "object", + "properties": { + "hostDriverVersion": { + "description": "GPU host driver version.", + "type": "string" + }, + "name": { + "description": "GPU name.", + "type": "string" + }, + "partitionSize": { + "description": "GPU partition size.", + "type": "integer", + "format": "int32" + }, + "slotLocation": { + "description": "GPU slot location.", + "type": "string" + }, + "oem": { + "description": "GPU OEM information", + "type": "string" + }, + "type": { + "description": "Type of GPU.", + "enum": [ + "GPUP", + "DDA", + "None" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "GpuType" + } + } + } + }, + "ScaleUnitNodeList": { + "description": "A pageable list of scale unit nodes.", + "type": "object", + "properties": { + "value": { + "description": "List of scale unit nodes.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleUnitNode" + } + }, + "nextLink": { + "description": "The URI to the next page.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client API Version.", + "required": true, + "type": "string", + "default": "2020-10-01" + }, + "ScaleUnitNodeParameter": { + "name": "scaleUnitNode", + "description": "Name of the scale unit node.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BareMetalNodeParameter": { + "name": "bareMetalNode", + "description": "Description of a node.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalNodeDescription" + }, + "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/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json new file mode 100644 index 000000000000..3fabf00b0637 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/CreateFromJson.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnit": "cluster", + "creationData": { + "clusterName": "cluster", + "physicalNodes": [ + { + "bmcIpAddress": "192.0.0.1", + "name": "machine" + } + ], + "torSwitchBgpAsn": "64703", + "softwareBgpAsn": "64703", + "torSwitchBgpPeerIp": [ + "10.0.0.1" + ], + "infrastructureNetwork": { + "subnet": [ + "10.0.0.1/24" + ], + "vlanId": [ + "0" + ] + }, + "storageNetwork": { + "subnet": [ + "10.0.0.1/24" + ], + "vlanId": [ + "0" + ] + }, + "netQosPriority": 1 + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json new file mode 100644 index 000000000000..f756a3cd1e0f --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnit": "S-Cluster" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnits/S-Cluster", + "name": "S-Cluster", + "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnits", + "location": "local", + "tags": {}, + "properties": { + "isGpuAvailable": true, + "gpuType": "DDA", + "gpuPartitionSize": 8, + "scaleUnitType": "HyperConverged", + "logicalFaultDomain": 0, + "nodes": [ + "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/system.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/HC1u15a2437" + ], + "state": "Running", + "totalCapacity": { + "memoryGB": 511.8877, + "cores": 32 + }, + "isMultiNode": false + } + } + }, + "404": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json new file mode 100644 index 000000000000..15d5eb427db8 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnits/S-Cluster", + "name": "S-Cluster", + "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnits", + "location": "local", + "tags": {}, + "properties": { + "isGpuAvailable": true, + "gpuType": "GPUP", + "gpuPartitionSize": 8, + "scaleUnitType": "HyperConverged", + "logicalFaultDomain": 0, + "nodes": [ + "/subscriptions/23a94a7f-64b3-42d8-807c-733284339015/resourceGroups/system.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/HC1u15a2437" + ], + "state": "Running", + "totalCapacity": { + "memoryGB": 511.8877, + "cores": 32 + }, + "isMultiNode": false + } + } + ] + } + }, + "404": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json new file mode 100644 index 000000000000..f422cfcb0a53 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/ScaleOut.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnit": "S-Cluster", + "scaleUnitNodeParameters": { + "nodeList": [ + { + "bmcIpv4Address": "192.0.0.1", + "computerName": "N1S2" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json new file mode 100644 index 000000000000..c4d5ca48f9c2 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnit/SetGpuPartitionSize.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnit": "S-Cluster", + "gpuPartitionSizeParameters": { + "gpuPartitionSize": 4 + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json new file mode 100644 index 000000000000..6dc22b8439e4 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/N1S2", + "name": "N1S2", + "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnitNodes", + "location": "local", + "tags": {}, + "properties": { + "scaleUnitNodeStatus": "Running", + "powerState": "Running", + "scaleUnitName": "S-Cluster", + "scaleUnitUri": "/fabricLocations/local/scaleUnits/S-Cluster", + "canPowerOff": false, + "capacity": { + "memoryGB": 255.875, + "cores": 56 + }, + "gpus": [ + { + "slotLocation": "PCI bus 59, device 0, function 0, UINumber 1", + "oem": "Nvidia", + "name": "Nvidia Tesla P40", + "type": "DDA", + "partitionSize": 8, + "hostDriverVersion": "12.34.5698.90" + } + ] + } + } + }, + "404": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json new file mode 100644 index 000000000000..2e5480c3c458 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/System.local/providers/Microsoft.Fabric.Admin/fabricLocations/local/scaleUnitNodes/N1S2", + "name": "N1S2", + "type": "Microsoft.Fabric.Admin/fabricLocations/scaleUnitNodes", + "location": "local", + "tags": {}, + "properties": { + "scaleUnitNodeStatus": "Running", + "powerState": "Running", + "scaleUnitName": "S-Cluster", + "scaleUnitUri": "/fabricLocations/local/scaleUnits/S-Cluster", + "canPowerOff": false, + "capacity": { + "memoryGB": 255.875, + "cores": 56 + }, + "gpus": [ + { + "slotLocation": "PCI bus 59, device 0, function 0, UINumber 1", + "oem": "Nvidia", + "name": "Nvidia Tesla P40", + "type": "DDA", + "partitionSize": 8, + "hostDriverVersion": "12.34.5698.90" + } + ] + } + } + ] + } + }, + "404": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json new file mode 100644 index 000000000000..c729fdcfc69e --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOff.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json new file mode 100644 index 000000000000..c729fdcfc69e --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/PowerOn.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json new file mode 100644 index 000000000000..bd3d5e31bbb5 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Repair.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2", + "bareMetalNode": { + "bmcIpv4Address": "192.168.1.1", + "vendor": "Commodore", + "model": "64", + "serialNumber": "123456789", + "biosVersion": "0.0.1", + "computerName": "Gibson", + "clusterName": "T-Cluster", + "macAddress": "00-14-22-01-23-45" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json new file mode 100644 index 000000000000..c729fdcfc69e --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/Shutdown.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json new file mode 100644 index 000000000000..c729fdcfc69e --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StartMaintenanceMode.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json new file mode 100644 index 000000000000..c729fdcfc69e --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/examples/ScaleUnitNode/StopMaintenanceMode.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.local", + "location": "local", + "scaleUnitNode": "N1S2" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md new file mode 100644 index 000000000000..1f4ce0188bd8 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md @@ -0,0 +1,74 @@ +# Fabric Admin + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Fabric Admin. + +--- +## Getting Started +To build the SDK for Fabric Admin, 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 Fabric API. + +``` yaml +title: FabricAdminClient +description: Fabric Admin Client +openapi-type: arm +tag: package-2019-05-01 +``` + +``` yaml +input-file: + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json" + - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json" + - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json" +``` + +--- +# Code Generation + +## 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 + namespace: Microsoft.AzureStack.Management.Fabric.Admin + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/Generated + clear-output-folder: true +``` diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md index 66c605b587f4..238e9584cb6d 100644 --- a/specification/azsadmin/resource-manager/fabric/readme.md +++ b/specification/azsadmin/resource-manager/fabric/readme.md @@ -107,14 +107,14 @@ input-file: - "Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json" - "Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json" - "Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json" - - "Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json" - - "Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json" - "Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json" - "Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json" - "Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json" - "Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json" - "Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json" - "Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json" + - "Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json" + - "Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json" ``` ## Suppression @@ -187,6 +187,8 @@ input-file: - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json ``` @@ -197,4 +199,3 @@ uncomment the `exclude-file` section below and add the file paths. #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json index e47cd5146f23..85b0fd60d43d 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json +++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json @@ -91,7 +91,7 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/NewSubscriptionParameter" + "$ref": "#/parameters/SubscriptionDefinitionParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -263,9 +263,9 @@ "description": "Id of the subscription.", "x-ms-parameter-location": "method" }, - "NewSubscriptionParameter": { + "SubscriptionDefinitionParameter": { "description": "Subscription parameter.", - "name": "newSubscription", + "name": "subscriptionDefinition", "in": "body", "schema": { "$ref": "#/definitions/Subscription" diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json index 47b02ee55c42..3851dcb6eb2f 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json +++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json @@ -3,15 +3,13 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-11-01", - "newSubscription": { - "properties": { - "displayName": "Test User-user1@contoso.com", - "id": "", - "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09", - "state": "Enabled", - "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e", - "tenantId": "" - } + "subscriptionDefinition": { + "displayName": "Test User-user1@contoso.com", + "id": "", + "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09", + "state": "Enabled", + "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e", + "tenantId": "" } }, "responses": { diff --git a/specification/azsadmin/resource-manager/user-subscriptions/readme.md b/specification/azsadmin/resource-manager/user-subscriptions/readme.md index 9c3540a14d15..7eff63e9c33d 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/readme.md +++ b/specification/azsadmin/resource-manager/user-subscriptions/readme.md @@ -82,33 +82,13 @@ csharp: clear-output-folder: true ``` -## Python - -These settings apply only when `--python` is specified on the command line. - -``` yaml $(python) -python: - # override the default output folder - output-folder: $(output-folder)/python - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 -``` - -### Tag: package-2015-11-01 and python - -These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line. - -``` yaml $(tag) == 'package-2015-11-01' && $(python) -namespace: azure.mgmt.subscriptions.v2015_06_01_preview -``` - -## Multi-API/Profile support for AutoRest v3 generators +## 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 # include the azure profile definitions from the standard location require: $(this-folder)/../../../../profiles/readme.md @@ -127,3 +107,22 @@ uncomment the `exclude-file` section below and add the file paths. # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` +## Python + +These settings apply only when `--python` is specified on the command line. + +``` yaml $(python) +python: + # override the default output folder + output-folder: $(output-folder)/python + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 +``` + +### Tag: package-2015-11-01 and python + +These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2015-11-01' && $(python) +namespace: azure.mgmt.subscriptions.v2015_06_01_preview +``` diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json index f25f772e9597..76b9c8e81e96 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json @@ -7,6 +7,7 @@ "api-version": "2020-06-14", "parameters": { "location": "westus", + "kind": "ReadWrite", "properties": { "softDeletePeriod": "P1D" } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json new file mode 100644 index 000000000000..3cd7dcc2bc03 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-09-18", + "parameters": { + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "kustodatabase", + "defaultPrincipalsModificationKind": "Union" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json new file mode 100644 index 000000000000..b4d3053b2661 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json new file mode 100644 index 000000000000..9084959fe306 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "databaseName": "*", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json new file mode 100644 index 000000000000..486ab7459f31 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoAttachedDatabaseConfigurationsListByCluster.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9", + "name": "KustoClusterRPTest4/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json new file mode 100644 index 000000000000..64fc755ae1fc --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterAddLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18", + "languageExtensionsToAdd": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json new file mode 100644 index 000000000000..fa7219ff1b82 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterDetachFollowerDatabases.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18", + "followerDatabaseToRemove": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4", + "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json new file mode 100644 index 000000000000..f6fc5b64ce8a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListFollowerDatabases.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1", + "databaseName": "*" + }, + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration2", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4", + "databaseName": "db1" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json new file mode 100644 index 000000000000..32d0dabe8250 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterListLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..28b8998c1008 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/principalAssignments" + }, + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..dd7571930885 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18", + "parameters": { + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..7f1ec1602d86 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json new file mode 100644 index 000000000000..21e5ab70c8f7 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json new file mode 100644 index 000000000000..080811fea6db --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterPrincipalAssignmentsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json new file mode 100644 index 000000000000..6cdfd1e46b90 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClusterRemoveLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18", + "languageExtensionsToRemove": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json new file mode 100644 index 000000000000..a2298cbd294e --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-09-18", + "location": "wus", + "clusterName": { + "name": "kustoclusterrptest4", + "type": "Microsoft.Kusto/clusters" + } + }, + "responses": { + "200": { + "body": { + "name": "kuskusprod", + "nameAvailable": false, + "message": "Name 'kuskusprod' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json new file mode 100644 index 000000000000..da62b0b8fabb --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersCreateOrUpdate.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18", + "parameters": { + "location": "westus", + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json new file mode 100644 index 000000000000..07afa7145686 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json new file mode 100644 index 000000000000..4d28dd726a9a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersDiagnoseVirtualNetwork.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "findings": [ + "Outbound dependency 'Storage:443' might not be satisfied (Outbound)" + ] + } + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json new file mode 100644 index 000000000000..4eed52534e40 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json new file mode 100644 index 000000000000..ae7841c260b0 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json new file mode 100644 index 000000000000..eb34b2c020ab --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListByResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json new file mode 100644 index 000000000000..e3068b3326cc --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListResourceSkus.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D13_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D14_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L8s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L16s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json new file mode 100644 index 000000000000..3ab882df762b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersListSkus.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_D13_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "Standard_D14_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L8", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L16", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json new file mode 100644 index 000000000000..980f22a32831 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json new file mode 100644 index 000000000000..980f22a32831 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json new file mode 100644 index 000000000000..b770f9d74a4b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoClustersUpdate.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18", + "parameters": { + "location": "westus" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "engineType": "V2" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json new file mode 100644 index 000000000000..487600856acd --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionValidationAsync.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "parameters": { + "dataConnectionName": "DataConnections8", + "properties": { + "kind": "EventHub", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": [ + { + "errorMessage": "Event hub's namespace does not exist" + }, + { + "errorMessage": "Database does not exist" + } + ] + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json new file mode 100644 index 000000000000..2903d8f64139 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCheckNameAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-09-18", + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "dataConnectionName": { + "name": "DataConnections8", + "type": "Microsoft.Kusto/clusters/databases/dataConnections" + } + }, + "responses": { + "200": { + "body": { + "name": "DataConnections8", + "nameAvailable": false, + "message": "Name 'DataConnections8' is already taken. Please specify a different name.", + "reason": "AlreadyExists" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json new file mode 100644 index 000000000000..1fb8d3788065 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsCreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "dataConnectionName": "DataConnections8", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json new file mode 100644 index 000000000000..05a772ff4ed3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "dataConnectionName": "kustoeventhubconnection1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json new file mode 100644 index 000000000000..d9abaf9772b0 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "dataConnectionName": "DataConnections8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json new file mode 100644 index 000000000000..4c7e09b7d2fb --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsListByDatabase.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8", + "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9", + "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2", + "consumerGroup": "testConsumerGroup2" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json new file mode 100644 index 000000000000..1fb8d3788065 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDataConnectionsUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "dataConnectionName": "DataConnections8", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json new file mode 100644 index 000000000000..f4b6adfd87b2 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseAddPrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "databasePrincipalsToAdd": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json new file mode 100644 index 000000000000..ad1c9c42eb2b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseListPrincipals.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..7321c6c47b03 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..4cf19b4d4be5 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18", + "parameters": { + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..5973f67ea030 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json new file mode 100644 index 000000000000..77dfcf895e20 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json new file mode 100644 index 000000000000..080811fea6db --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasePrincipalAssignmentsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json new file mode 100644 index 000000000000..c8a35a599846 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabaseRemovePrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "databasePrincipalsToRemove": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json new file mode 100644 index 000000000000..6184f1f78580 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-09-18", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "resourceName": { + "name": "kustoresourcename1", + "type": "Microsoft.Kusto/clusters/databases" + } + }, + "responses": { + "200": { + "body": { + "name": "kustoresourcename1", + "nameAvailable": false, + "message": "Name 'kuskus' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json new file mode 100644 index 000000000000..e161d5a0a085 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesCreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "parameters": { + "location": "westus", + "properties": { + "softDeletePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "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", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "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", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "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", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json new file mode 100644 index 000000000000..f00f7b7e7313 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json new file mode 100644 index 000000000000..87cd1481ba25 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "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", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json new file mode 100644 index 000000000000..5c6b1fcf6456 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesListByCluster.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "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": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9", + "name": "KustoClusterRPTest4/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json new file mode 100644 index 000000000000..d9994e7244f7 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoDatabasesUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-09-18", + "parameters": { + "properties": { + "softDeletePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "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", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "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", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "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", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json new file mode 100644 index 000000000000..f5e8a42bd538 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/examples/KustoOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-18" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "provider": "providerName", + "resource": "resourceName", + "operation": "operationName", + "description": "operation description" + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..7ed04f444d6a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json @@ -0,0 +1,4351 @@ +{ + "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": { + "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" + }, + "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" + }, + "maximum": { + "description": "Maximum allowed capacity.", + "type": "integer" + }, + "default": { + "description": "The default capacity that would be used.", + "type": "integer" + } + }, + "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" + }, + "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" + }, + "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" + }, + "maximum": { + "description": "Maximum allowed instances count.", + "type": "integer" + } + }, + "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" + }, + "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 + } + } + }, + "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": { + "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 + } + } + }, + "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": { + "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 + } + } + }, + "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": "Kind", + "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": "Type", + "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": "Type", + "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": "Type", + "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": "Type", + "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." + } + }, + "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/readme.azureresourceschema.md b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..96c34a3fb116 --- /dev/null +++ b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-kusto-2020-06-14 + - tag: schema-kusto-2020-02-15 + - tag: schema-kusto-2019-11-09 + - tag: schema-kusto-2019-09-07 + - tag: schema-kusto-2019-05-15 + - tag: schema-kusto-2019-01-21 + - tag: schema-kusto-2018-09-07-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kusto-2020-06-14 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2020-06-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2020-06-14/kusto.json + +``` + +### Tag: schema-kusto-2020-02-15 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2020-02-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2020-02-15/kusto.json + +``` + +### Tag: schema-kusto-2019-11-09 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-11-09' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-11-09/kusto.json + +``` + +### Tag: schema-kusto-2019-09-07 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-09-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-09-07/kusto.json + +``` + +### Tag: schema-kusto-2019-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-05-15/kusto.json + +``` + +### Tag: schema-kusto-2019-01-21 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-01-21' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-01-21/kusto.json + +``` + +### Tag: schema-kusto-2018-09-07-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2018-09-07-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/preview/2018-09-07-preview/kusto.json + +``` diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md index ed01044bbc85..53a36056359e 100644 --- a/specification/azure-kusto/resource-manager/readme.go.md +++ b/specification/azure-kusto/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09-18 - tag: package-2018-09-07-preview - tag: package-2019-01-21 - tag: package-2019-05-15 @@ -22,6 +23,15 @@ batch: - tag: package-2020-06-14 ``` +### Tag: package-2020-09-18 and go + +These settings apply only when `--tag=package-2020-09-18 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-09-18' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-18/$(namespace) +``` + ### Tag: package-2018-09-07-preview and go These settings apply only when `--tag=package-2018-09-07-preview --go` is specified on the command line. diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md index aad8458d0f18..5e32600d1a18 100644 --- a/specification/azure-kusto/resource-manager/readme.java.md +++ b/specification/azure-kusto/resource-manager/readme.java.md @@ -18,7 +18,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto batch: - tag: package-2019-11-09 - tag: package-2020-02-15 - - tag: package-2020-06-14 + - tag: package-2020-06-14 + - tag: package-2020-09 ``` ### Tag: package-2018-09-07-preview and java @@ -110,4 +111,17 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_06_14 regenerate-manager: true generate-interface: true +``` + +### Tag: package-2020-09 and java + +These settings apply only when `--tag=package-2020-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kusto.v2020_09_18 + output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_09_18 +regenerate-manager: true +generate-interface: true ``` \ No newline at end of file diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md index afb317f7b06b..8f7b35f48286 100644 --- a/specification/azure-kusto/resource-manager/readme.md +++ b/specification/azure-kusto/resource-manager/readme.md @@ -28,14 +28,23 @@ These are the global settings for the Kusto API. title: KustoManagementClient description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.' openapi-type: arm -tag: package-2020-06-14 +tag: package-2020-09-18 ``` + +### Tag: package-2020-09-18 + +These settings apply only when `--tag=package-2020-09-18` is specified on the command line. + +```yaml $(tag) == 'package-2020-09-18' +input-file: + - Microsoft.Kusto/stable/2020-09-18/kusto.json +``` ### Tag: package-2020-06-14 These settings apply only when `--tag=package-2020-06-14` is specified on the command line. -```yaml $(tag) == 'package-2020-06-14' +``` yaml $(tag) == 'package-2020-06-14' input-file: - Microsoft.Kusto/stable/2020-06-14/kusto.json ``` @@ -173,6 +182,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-java - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azure-kusto/resource-manager ``` ## C# @@ -193,36 +205,9 @@ csharp: 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! +## AzureResourceSchema -``` 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.Kusto/stable/2020-06-14/kusto.json - - $(this-folder)/Microsoft.Kusto/stable/2020-02-15/kusto.json - - $(this-folder)/Microsoft.Kusto/stable/2019-11-09/kusto.json - - $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json - - $(this-folder)/Microsoft.Kusto/stable/2019-05-15/kusto.json - - $(this-folder)/Microsoft.Kusto/stable/2019-01-21/kusto.json - - $(this-folder)/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json - - $(this-folder)/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Suppression diff --git a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b6bab336b329 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-aadiam-2020-07-01-preview + - tag: schema-aadiam-2020-03-01-preview + - tag: schema-aadiam-2017-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-aadiam-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json + +``` + +### Tag: schema-aadiam-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json + +``` + +### Tag: schema-aadiam-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json + +``` diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md index a280ce576d65..b84ecea4a6f7 100644 --- a/specification/azureactivedirectory/resource-manager/readme.md +++ b/specification/azureactivedirectory/resource-manager/readme.md @@ -95,6 +95,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azureactivedirectory'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azureactivedirectory/resource-manager ``` ## Go @@ -117,29 +120,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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! +## AzureResourceSchema -``` 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.Aadiam/preview/2020-07-01-preview/azureADMetrics.json - - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json - - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json - - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json index 7f52976db6c8..c8f01b22aae2 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json @@ -1647,7 +1647,7 @@ } }, "x-ms-examples": { - "Updates a dataController tags.": { + "Get a data controller.": { "$ref": "./examples/GetDataController.json" } } @@ -1674,6 +1674,15 @@ }, { "$ref": "#/parameters/apiVersion" + }, + { + "name": "dataControllerResource", + "description": "The update data controller resource", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/DataControllerUpdate" + } } ], "responses": { @@ -2197,39 +2206,22 @@ "description": "The data controller's properties", "x-ms-client-flatten": true } - } + }, + "required": [ + "properties" + ] }, - "AzureResource": { - "type": "object", + "DataControllerUpdate": { "properties": { - "etag": { - "type": "string" - }, - "id": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sku": { - "$ref": "#/definitions/ResourceSku" - }, "tags": { + "type": "object", "additionalProperties": { "type": "string" }, - "type": "object" - }, - "type": { - "type": "string" + "description": "Resource tags" } - } + }, + "description": "Used for updating a data controller resource." }, "SystemData": { "description": "Read only system data", @@ -2304,23 +2296,11 @@ "properties": { "onPremiseProperty": { "$ref": "#/definitions/OnPremiseProperty" - }, - "requestType": { - "$ref": "#/definitions/RequestType" - }, - "uploadRequest": { - "$ref": "#/definitions/UsageUploadRequest" - }, - "uploadResponse": { - "$ref": "#/definitions/UsageUploadResponse" - }, - "handshakeRequest": { - "$ref": "#/definitions/HandshakeRequest" - }, - "handshakeResponse": { - "$ref": "#/definitions/HandshakeResponse" } - } + }, + "required": [ + "onPremiseProperty" + ] }, "OnPremiseProperty": { "description": "Properties from the on premise data controller", @@ -2339,130 +2319,11 @@ "type": "string", "description": "Unique thumbprint returned to customer to verify the certificate being uploaded" } - } - }, - "RequestType": { - "type": "string", - "enum": [ - "Unknown", - "Handshake", - "UsageUpload" - ], - "x-ms-enum": { - "name": "RequestType", - "modelAsString": true - } - }, - "UsageUploadRequest": { - "type": "object", - "properties": { - "exportType": { - "type": "string" - }, - "dataTimestamp": { - "type": "string", - "format": "date-time" - }, - "data": { - "items": { - "$ref": "#/definitions/UsageRecord" - }, - "type": "array" - }, - "signature": { - "type": "string" - } - } - }, - "UsageRecord": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "eventSeq": { - "type": "integer", - "format": "int64" - }, - "eventId": { - "type": "string", - "format": "uuid" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string" - }, - "subscriptionId": { - "type": "string", - "format": "uuid" - }, - "resourceGroup": { - "type": "string" - }, - "name": { - "type": "string" - }, - "location": { - "type": "string" - }, - "startTime": { - "type": "string", - "format": "date-time" - }, - "endTime": { - "type": "string", - "format": "date-time" - }, - "quantity": { - "type": "number", - "format": "double" - }, - "tags": { - "type": "string" - } - } - }, - "UsageUploadResponse": { - "type": "object", - "properties": { - "usageUploadStatus": { - "$ref": "#/definitions/UsageUploadStatus" - }, - "usageWaterMark": { - "type": "integer", - "format": "int64" - } - } - }, - "UsageUploadStatus": { - "type": "string", - "enum": [ - "Unknown", - "Failed", - "PartialSuccess", - "Completed" - ], - "x-ms-enum": { - "name": "UsageUploadStatus", - "modelAsString": true - } - }, - "HandshakeRequest": { - "type": "object" - }, - "HandshakeResponse": { - "type": "object", - "properties": { - "usageUploadUrl": { - "type": "string" - }, - "usageResultUrl": { - "type": "string" - } - } + }, + "required": [ + "id", + "publicSigningKey" + ] }, "PostgresInstanceProperties": { "description": "Postgres Instance properties.", @@ -2534,6 +2395,26 @@ "dataControllerId": { "type": "string", "description": "null" + }, + "instanceEndpoint": { + "type": "string", + "description": "The on premise instance endpoint" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "vCore": { + "type": "string", + "description": "The instance vCore" } } }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json index e3036e60f973..9c207564ec59 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json @@ -9,13 +9,23 @@ "tags": { "mytag": "myval" }, - "properties": {} + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + } } }, "responses": { "200": { "body": { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", @@ -35,7 +45,12 @@ }, "201": { "body": { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json index dc230e0b589a..8a13eb3d5b6e 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json @@ -8,7 +8,13 @@ "responses": { "200": { "body": { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json index 8b080cc3a76d..af96057ccab0 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json @@ -8,7 +8,12 @@ "responses": { "200": { "body": { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json index 126d66b7cc34..797b1fb81a31 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json @@ -9,7 +9,13 @@ "body": { "value": [ { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", @@ -27,7 +33,13 @@ "type": "Microsoft.AzureData/dataControllers" }, { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json index d3274ac46b43..bb31e438e35a 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json @@ -9,7 +9,12 @@ "body": { "value": [ { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", @@ -27,7 +32,12 @@ "type": "Microsoft.AzureData/sqlManagedInstances" }, { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json index 18d086a66724..a81869dfea05 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json @@ -8,7 +8,13 @@ "body": { "value": [ { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", @@ -26,7 +32,13 @@ "type": "Microsoft.AzureData/dataControllers" }, { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json index abec693b66fa..65f4485aebd5 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json @@ -8,7 +8,12 @@ "body": { "value": [ { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", @@ -26,7 +31,12 @@ "type": "Microsoft.AzureData/sqlManagedInstances" }, { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json index 314c7481a45b..c6dc5166499a 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json @@ -4,7 +4,7 @@ "resourceGroupName": "testrg", "dataControllerName": "testdataController1", "api-version": "2019-07-24", - "parameters": { + "dataControllerResource": { "tags": { "mytag": "myval" } @@ -13,7 +13,13 @@ "responses": { "200": { "body": { - "properties": {}, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json index 7698531e5e5a..11144061214c 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json @@ -13,7 +13,12 @@ "responses": { "200": { "body": { - "properties": {}, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, "location": "northeurope", "systemData": { "createdBy": "user1", diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json new file mode 100644 index 000000000000..ab1d98d88c50 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json @@ -0,0 +1,1890 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-08-preview", + "title": "AzureDataManagementClient", + "description": "The AzureData management API provides a RESTful set of web APIs to manage Azure Data Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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": "#/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": "#/definitions/CloudError" + } + } + }, + "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.AzureData/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": "#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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.AzureData/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": "#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": "#/definitions/SqlManagedInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlManagedInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or update a SQL Managed Instance": { + "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json" + } + } + }, + "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." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "204": { + "description": "The specified SQL Managed Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Instance.": { + "$ref": "./examples/DeleteSqlManagedInstance.json" + } + } + }, + "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": "#/definitions/SqlManagedInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a sql Instance tags.": { + "$ref": "./examples/UpdateSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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": "#/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": "#/definitions/CloudError" + } + } + }, + "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.AzureData/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": "#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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.AzureData/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": "#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": "#/definitions/SqlServerInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/CreateOrUpdateSqlServerInstance.json" + } + } + }, + "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." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "204": { + "description": "The specified SQL Server Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server Instance.": { + "$ref": "./examples/DeleteSqlServerInstance.json" + } + } + }, + "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": "#/definitions/SqlServerInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/UpdateSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_List", + "summary": "List postgres Instance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all Postgres Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_ListByResourceGroup", + "description": "Get a postgres Instances list by Resource group name.", + "summary": "List postgres Instance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all postgres Instances in a resource group.": { + "$ref": "./examples/ListByResourceGroupPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/postgresInstances/{postgresInstanceName}": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Get", + "description": "Retrieves a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "postgresInstanceName", + "description": "Name of Postgres Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a postgres Instances.": { + "$ref": "./examples/GetPostgresInstance.json" + } + } + }, + "put": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Create", + "description": "Creates or replaces a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "postgresInstanceName", + "description": "Name of PostgresInstance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "resource", + "description": "The postgres instance", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/PostgresInstance" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostgresInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or update a Postgres Instance.": { + "$ref": "./examples/CreateOrUpdatePostgresInstance.json" + } + } + }, + "delete": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Delete", + "description": "Deletes a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "postgresInstanceName", + "description": "Name of Postgres Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Postgres Instance." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "204": { + "description": "The specified Postgres Instance does not exist." + } + }, + "x-ms-examples": { + "Deletes a PostgresInstances.": { + "$ref": "./examples/DeletePostgresInstance.json" + } + } + }, + "patch": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Update", + "description": "Updates a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "postgresInstanceName", + "description": "Name of Postgres Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "in": "body", + "description": "The Postgres Instance.", + "required": true, + "schema": { + "$ref": "#/definitions/PostgresInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a postgres Instances tags.": { + "$ref": "./examples/UpdatePostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/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": "#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a subscription.": { + "$ref": "./examples/ListSubscriptionDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/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": "#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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.AzureData/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": "#/definitions/DataControllerResource" + } + }, + { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DataControllerResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or update a Data Controller.": { + "$ref": "./examples/CreateOrUpdateDataController.json" + } + } + }, + "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." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "204": { + "description": "The specified DataController does not exist." + } + }, + "x-ms-examples": { + "Delete a dataController.": { + "$ref": "./examples/DeleteDataController.json" + } + } + }, + "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": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": "#/definitions/DataControllerUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a dataController tags.": { + "$ref": "./examples/UpdateDataController.json" + } + } + } + } + }, + "definitions": { + "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" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + }, + "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" + ] + }, + "Identity": { + "description": "Identity for the resource.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "A user defined name of the 3rd Party Artifact that is being procured." + }, + "publisher": { + "type": "string", + "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic" + }, + "product": { + "type": "string", + "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. " + }, + "promotionCode": { + "type": "string", + "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact." + }, + "version": { + "type": "string", + "description": "The version of the desired product/artifact." + } + }, + "description": "Plan for the resource.", + "required": [ + "name", + "publisher", + "product" + ] + }, + "Resource": { + "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. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "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" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "PageOfDataControllerResource": { + "type": "object", + "properties": { + "value": { + "items": { + "$ref": "#/definitions/DataControllerResource" + }, + "type": "array" + }, + "nextLink": { + "type": "string", + "description": "Link to retrieve next page of results." + } + } + }, + "DataControllerResource": { + "description": "Data controller resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "DataControllerUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a data controller resource." + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "An identifier for 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": "An identifier for 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 + } + }, + "ResourceSku": { + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "format": "int32" + }, + "family": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size": { + "type": "string" + }, + "tier": { + "type": "string" + } + } + }, + "DataControllerProperties": { + "description": "The data controller properties.", + "type": "object", + "properties": { + "onPremiseProperty": { + "$ref": "#/definitions/OnPremiseProperty" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from on premise cluster. Defaults to current date time" + } + }, + "required": [ + "onPremiseProperty" + ] + }, + "OnPremiseProperty": { + "description": "Properties from the on premise data controller", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "A globally unique ID identifying the associated on premise cluster" + }, + "publicSigningKey": { + "type": "string", + "description": "Certificate that contains the on premise 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" + ] + }, + "PostgresInstanceProperties": { + "description": "Postgres Instance properties.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "The data controller id" + }, + "admin": { + "type": "string", + "description": "The instance admin" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from on premise cluster. Defaults to current date time" + } + } + }, + "PostgresInstance": { + "description": "A Postgres Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource", + "description": "null" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties", + "x-ms-client-flatten": true, + "description": "null" + } + } + }, + "PostgresInstanceUpdate": { + "description": "An update to a Postgres Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties" + } + } + }, + "PostgresInstanceListResult": { + "description": "A list of PostgresInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PostgresInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SqlManagedInstanceProperties": { + "description": "Properties of sqlManagedInstance.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "null" + }, + "instanceEndpoint": { + "type": "string", + "description": "The on premise instance endpoint" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "vCore": { + "type": "string", + "description": "The instance vCore" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from on premise cluster. Defaults to current date time" + } + } + }, + "SqlManagedInstance": { + "description": "A SqlManagedInstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlManagedInstanceProperties", + "description": "null", + "x-ms-client-flatten": true + } + } + }, + "SqlManagedInstanceUpdate": { + "description": "An update to a SQL Managed Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "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 + } + } + }, + "SqlServerInstanceProperties": { + "description": "Properties of SqlServerInstance.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "SQL Server version." + }, + "edition": { + "type": "string", + "description": "SQL Server edition." + }, + "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 + }, + "updateTime": { + "type": "string", + "description": "The time when the resource was last updated.", + "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." + } + }, + "required": [ + "version", + "edition", + "containerResourceId", + "vCore", + "status" + ] + }, + "SqlServerInstance": { + "description": "A SqlServerInstance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerInstanceProperties", + "description": "null", + "x-ms-client-flatten": true + } + } + }, + "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 + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "null" + } + }, + "description": "An error response from the Azure Data 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 Batch service." + }, + "ODataError": { + "properties": { + "code": { + "type": "string", + "description": "A language-independent error name." + }, + "message": { + "type": "string", + "description": "The error message." + }, + "target": { + "type": "string", + "description": "The target of the error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "The error details." + } + }, + "type": "object", + "description": "Information about an error." + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription" + }, + "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" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "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" + }, + "PostgresInstanceNameParameter": { + "in": "path", + "name": "postgresInstanceName", + "description": "The name of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlManagedInstanceNameParameter": { + "in": "path", + "name": "sqlManagedInstanceName", + "description": "The name of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlServerInstanceNameParameter": { + "in": "path", + "name": "sqlServerInstanceName", + "description": "The name of the 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" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json new file mode 100644 index 000000000000..7e6f05d3d656 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateDataController.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2019-09-08-preview", + "dataControllerResource": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey" + } + } + } + }, + "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" + } + }, + "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.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/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" + } + }, + "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.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json new file mode 100644 index 000000000000..814c5952a8a0 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdatePostgresInstance.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2019-09-08-preview", + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "resource": { + "location": "eastus", + "properties": { + "dataControllerId": "dataControllerId", + "admin": "admin", + "k8sRaw": { + "apiVersion": "apiVersion", + "kind": "postgresql-12", + "metadata": { + "creationTimestamp": "2020-08-25T14:55:10Z", + "generation": 1, + "name": "pg1", + "namespace": "test", + "resourceVersion": "527780", + "selfLink": "/apis/arcdata.microsoft.com/v1alpha1/namespaces/test/postgresql-12s/pg1", + "uid": "1111aaaa-ffff-ffff-ffff-99999aaaaaaa" + }, + "spec": { + "backups": { + "deltaMinutes": 3, + "fullMinutes": 10, + "tiers": [ + { + "retention": { + "maximums": [ + "6", + "512MB" + ], + "minimums": [ + "3" + ] + }, + "storage": { + "volumeSize": "1Gi" + } + } + ] + }, + "engine": { + "extensions": [ + { + "name": "citus" + } + ] + }, + "scale": { + "shards": 3 + }, + "scheduling": { + "default": { + "resources": { + "requests": { + "memory": "256Mi" + } + } + } + }, + "service": { + "type": "NodePort" + }, + "storage": { + "data": { + "className": "local-storage", + "size": "5Gi" + }, + "logs": { + "className": "local-storage", + "size": "5Gi" + } + } + }, + "status": { + "externalEndpoint": null, + "readyPods": "4/4", + "state": "Ready" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": {}, + "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.AzureData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureData/PostgresInstance" + } + }, + "201": { + "body": { + "properties": {}, + "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.AzureData/PostgresInstance/testpostgresInstance", + "name": "testsqlregistration", + "type": "Microsoft.AzureData/PostgresInstance" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json new file mode 100644 index 000000000000..ada9ad6f92d1 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlManagedInstance.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2019-09-08-preview", + "sqlManagedInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + }, + "201": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json new file mode 100644 index 000000000000..d518665361be --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/CreateOrUpdateSqlServerInstance.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2019-09-08-preview", + "sqlServerInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "vCore": "4", + "status": "Connected" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureData/SqlServerInstances" + } + }, + "201": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureData/SqlServerInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json new file mode 100644 index 000000000000..ab58c52a18e2 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteDataController.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json new file mode 100644 index 000000000000..9281c59efd2b --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeletePostgresInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json new file mode 100644 index 000000000000..f07d23d4e1b0 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlManagedInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json new file mode 100644 index 000000000000..1574521ae769 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/DeleteSqlServerInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json new file mode 100644 index 000000000000..9f532d270068 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetDataController.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2019-09-08-preview" + }, + "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" + } + }, + "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.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json new file mode 100644 index 000000000000..2a13138b39da --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetPostgresInstance.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstances", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "properties": {}, + "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.AzureData/PostgresInstances/testpostgresInstances", + "name": "testpostgresInstances", + "type": "Microsoft.AzureData/PostgresInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json new file mode 100644 index 000000000000..c580ac6dd1d3 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlManagedInstance.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstance" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json new file mode 100644 index 000000000000..053724bea5db --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/GetSqlServerInstance.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureData/SqlServerInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json new file mode 100644 index 000000000000..5328e05743ba --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupDataController.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2019-09-08-preview" + }, + "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" + } + }, + "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.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "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.AzureData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json new file mode 100644 index 000000000000..765965efa0b1 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupPostgresInstance.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": {}, + "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.AzureData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureData/PostgresInstances" + }, + { + "properties": {}, + "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.AzureData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json new file mode 100644 index 000000000000..24ec32460103 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlManagedInstance.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureData/sqlManagedInstances" + }, + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json new file mode 100644 index 000000000000..fe367c20dab3 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListByResourceGroupSqlServerInstance.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json new file mode 100644 index 000000000000..c5d30225fcf7 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionDataController.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2019-09-08-preview" + }, + "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" + } + }, + "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.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "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.AzureData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json new file mode 100644 index 000000000000..cf0d38b56205 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionPostgresInstance.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": {}, + "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.AzureData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureData/PostgresInstances" + }, + { + "properties": {}, + "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.AzureData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json new file mode 100644 index 000000000000..3efaf7439792 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlManagedInstance.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/SqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureData/sqlManagedInstances" + }, + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/SqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json new file mode 100644 index 000000000000..60074dcbba5b --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/ListSubscriptionSqlServerInstance.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2019-09-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json new file mode 100644 index 000000000000..f7f27e678d4a --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateDataController.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController1", + "api-version": "2019-09-08-preview", + "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" + } + }, + "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.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json new file mode 100644 index 000000000000..f8164922b7d2 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdatePostgresInstance.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2019-09-08-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": {}, + "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.AzureData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureData/PostgresInstance" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json new file mode 100644 index 000000000000..37b42b02040e --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlManagedInstance.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2019-09-08-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "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.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json new file mode 100644 index 000000000000..5545f368b407 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2020-09-08-preview/examples/UpdateSqlServerInstance.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2019-09-08-preview", + "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", + "updateTime": "01/01/2020 01:01:01", + "vCore": "4", + "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.AzureData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureData/SqlServerInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/readme.azureresourceschema.md b/specification/azuredata/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..25ab4f9115e8 --- /dev/null +++ b/specification/azuredata/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azuredata-2020-09-08-preview + - tag: schema-azuredata-2019-07-24-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azuredata-2020-09-08-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azuredata-2020-09-08-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json + +``` + +### Tag: schema-azuredata-2019-07-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azuredata-2019-07-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json + +``` diff --git a/specification/azuredata/resource-manager/readme.md b/specification/azuredata/resource-manager/readme.md index 4ecacc7c3f4c..c862cca522de 100644 --- a/specification/azuredata/resource-manager/readme.md +++ b/specification/azuredata/resource-manager/readme.md @@ -29,6 +29,14 @@ openapi-type: arm tag: package-preview-2019-07 ``` +### Tag: package-preview-2020-09-08 + +These settings apply only when `--tag=package-preview-2020-09-08` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-09-08' +input-file: + - Microsoft.AzureData/preview/2020-09-08-preview/azuredata.json +``` ### Tag: package-preview-2019-07 @@ -66,6 +74,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azuredata'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azuredata/resource-manager ``` ## Go @@ -88,26 +99,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.AzureData/preview/2019-07-24-preview/azuredata.json - -``` +## AzureResourceSchema -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. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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/azurestack/resource-manager/readme.azureresourceschema.md b/specification/azurestack/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1216d57dd7c8 --- /dev/null +++ b/specification/azurestack/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,27 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azurestack-2017-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azurestack-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-azurestack-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureStack/stable/2017-06-01/AzureStack.json + - Microsoft.AzureStack/stable/2017-06-01/Product.json + - Microsoft.AzureStack/stable/2017-06-01/Registration.json + - Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json + +``` diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md index d31ec1ce03e3..34aec4212656 100644 --- a/specification/azurestack/resource-manager/readme.md +++ b/specification/azurestack/resource-manager/readme.md @@ -75,6 +75,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azurestack/resource-manager ``` ## C# @@ -136,30 +139,7 @@ generate-interface: true See configuration in [readme.python.md](./readme.python.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.AzureStack/stable/2017-06-01/AzureStack.json - - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/Product.json - - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/Registration.json - - $(this-folder)/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json index cd58d7b6a8cf..f68062eb0abc 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json @@ -50,7 +50,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationList" + "$ref": "#/definitions/AvailableOperations" } }, "default": { @@ -387,10 +387,10 @@ "description": "Status of the cluster agent.", "type": "string", "enum": [ - "NeverConnected", + "NotYetRegistered", "ConnectedRecently", "NotConnectedRecently", - "Expired", + "Disconnected", "Error" ], "x-ms-enum": { @@ -425,6 +425,24 @@ "description": "Type of billing applied to the resource.", "type": "string", "readOnly": true + }, + "registrationTimestamp": { + "description": "First cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastSyncTimestamp": { + "description": "Most recent cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastBillingTimestamp": { + "description": "Most recent billing meter timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true } } }, @@ -527,60 +545,76 @@ } } }, - "OperationList": { - "description": "List of available operations.", + "AvailableOperations": { + "description": "Available operations of the service", "type": "object", "properties": { "value": { - "description": "List of operations.", + "description": "Collection of available operation details", + "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/Operation" + "$ref": "#/definitions/OperationDetail" } }, "nextLink": { - "description": "Link to the next set of results.", - "type": "string", - "readOnly": true + "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" } } }, - "Operation": { - "description": "Operation details.", + "OperationDetail": { + "description": "Operation detail payload", "type": "object", "properties": { "name": { - "description": "Name of the operation.", - "type": "string", - "readOnly": true + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" }, "display": { "$ref": "#/definitions/OperationDisplay", - "description": "Operation properties." + "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 properties.", + "description": "Operation display payload", "type": "object", "properties": { "provider": { - "description": "Resource provider name.", + "description": "Resource provider of the operation", "type": "string" }, "resource": { - "description": "Resource type name.", + "description": "Resource of the operation", "type": "string" }, "operation": { - "description": "Operation name.", + "description": "Localized friendly name for the operation", "type": "string" }, "description": { - "description": "Operation description.", + "description": "Localized friendly description for the operation", "type": "string" } } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} } }, "parameters": { diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json index 18082930cca6..3c3f911432ac 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json @@ -22,7 +22,7 @@ "tags": {}, "properties": { "provisioningState": "Succeeded", - "status": "NeverConnected", + "status": "NotYetRegistered", "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json index bb9598cbed0c..6e67c668fa20 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json @@ -15,7 +15,7 @@ "tags": {}, "properties": { "provisioningState": "Succeeded", - "status": "NeverConnected", + "status": "ConnectedRecently", "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", @@ -61,7 +61,10 @@ "lastUpdated": "2020-03-11T19:24:42.1946017Z" }, "trialDaysRemaining": 30, - "billingModel": "Trial" + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" } } } diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json index b3caac11f578..8d9243f940fc 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json @@ -15,7 +15,7 @@ "tags": {}, "properties": { "provisioningState": "Succeeded", - "status": "NeverConnected", + "status": "NotYetRegistered", "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", @@ -78,7 +78,10 @@ "lastUpdated": "2020-03-11T19:24:42.1946017Z" }, "trialDaysRemaining": 30, - "billingModel": "Trial" + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" } } ] diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json index 887c644cc669..07d9c1e094d5 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json @@ -16,7 +16,7 @@ "tags": {}, "properties": { "provisioningState": "Succeeded", - "status": "NeverConnected", + "status": "NotYetRegistered", "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", @@ -79,7 +79,10 @@ "lastUpdated": "2020-03-11T19:24:42.1946017Z" }, "trialDaysRemaining": 30, - "billingModel": "Trial" + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" } } ] diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json index e7175b8e4413..b3937caf37bd 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json @@ -70,7 +70,10 @@ "lastUpdated": "2020-03-11T19:24:42.1946017Z" }, "trialDaysRemaining": 30, - "billingModel": "Trial" + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" } } } diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json new file mode 100644 index 000000000000..bdb7c992b8de --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json @@ -0,0 +1,630 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-01", + "title": "AzureStackHCI", + "description": "Azure Stack HCI management service" + }, + "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.AzureStackHCI/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all available Microsoft.AzureStackHCI provider operations", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListBySubscription", + "x-ms-examples": { + "ListClusters": { + "$ref": "./examples/ListClustersBySubscription.json" + } + }, + "description": "List all HCI clusters in a subscription.", + "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/ClusterList" + } + }, + "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.AzureStackHCI/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "ListClusters": { + "$ref": "./examples/ListClustersByResourceGroup.json" + } + }, + "description": "List all HCI clusters in a resource group.", + "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/ClusterList" + } + }, + "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.AzureStackHCI/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/GetCluster.json" + } + }, + "description": "Get HCI cluster.", + "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": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Create", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/CreateCluster.json" + } + }, + "description": "Create an HCI cluster.", + "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": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/UpdateCluster.json" + } + }, + "description": "Update an HCI cluster.", + "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": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/DeleteCluster.json" + } + }, + "description": "Delete an HCI cluster.", + "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": "OK" + }, + "204": { + "description": "No content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ClusterList": { + "description": "List of clusters.", + "type": "object", + "properties": { + "value": { + "description": "List of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Cluster": { + "description": "Cluster details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Cluster properties.", + "$ref": "#/definitions/ClusterProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterProperties": { + "description": "Cluster properties.", + "type": "object", + "required": [ + "aadClientId", + "aadTenantId" + ], + "properties": { + "provisioningState": { + "description": "Provisioning state.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "status": { + "description": "Status of the cluster agent.", + "type": "string", + "enum": [ + "NotYetRegistered", + "ConnectedRecently", + "NotConnectedRecently", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + }, + "readOnly": true + }, + "cloudId": { + "description": "Unique, immutable resource id.", + "type": "string", + "readOnly": true + }, + "aadClientId": { + "description": "App id of cluster AAD identity.", + "type": "string" + }, + "aadTenantId": { + "description": "Tenant id of cluster AAD identity.", + "type": "string" + }, + "reportedProperties": { + "description": "Properties reported by cluster agent.", + "$ref": "#/definitions/ClusterReportedProperties" + }, + "trialDaysRemaining": { + "description": "Number of days remaining in the trial period.", + "type": "number", + "readOnly": true + }, + "billingModel": { + "description": "Type of billing applied to the resource.", + "type": "string", + "readOnly": true + }, + "registrationTimestamp": { + "description": "First cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastSyncTimestamp": { + "description": "Most recent cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastBillingTimestamp": { + "description": "Most recent billing meter timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "ClusterReportedProperties": { + "description": "Properties reported by cluster agent.", + "type": "object", + "properties": { + "clusterName": { + "description": "Name of the on-prem cluster connected to this resource.", + "type": "string", + "readOnly": true + }, + "clusterId": { + "description": "Unique id generated by the on-prem cluster.", + "type": "string", + "readOnly": true + }, + "clusterVersion": { + "description": "Version of the cluster software.", + "type": "string", + "readOnly": true + }, + "nodes": { + "description": "List of nodes reported by the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterNode" + }, + "readOnly": true + }, + "lastUpdated": { + "description": "Last time the cluster reported the data.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "ClusterNode": { + "description": "Cluster node details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the cluster node.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the node in the cluster.", + "type": "number", + "readOnly": true + }, + "manufacturer": { + "description": "Manufacturer of the cluster node hardware.", + "type": "string", + "readOnly": true + }, + "model": { + "description": "Model name of the cluster node hardware.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "Operating system running on the cluster node.", + "type": "string", + "readOnly": true + }, + "osVersion": { + "description": "Version of the operating system running on the cluster node.", + "type": "string", + "readOnly": true + }, + "serialNumber": { + "description": "Immutable id of the cluster node.", + "type": "string", + "readOnly": true + }, + "coreCount": { + "description": "Number of physical cores on the cluster node.", + "type": "number", + "readOnly": true + }, + "memoryInGiB": { + "description": "Total available memory on the cluster node (in GiB).", + "type": "number", + "readOnly": true + } + } + }, + "ClusterUpdate": { + "description": "Cluster details to update.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "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": "Operation properties.", + "type": "object", + "properties": {} + } + }, + "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/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/CreateCluster.json new file mode 100644 index 000000000000..c41cd8a2e52e --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/CreateCluster.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-10-01", + "cluster": { + "location": "East US", + "properties": { + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 30, + "billingModel": "Trial" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json new file mode 100644 index 000000000000..b0a231f2d232 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/DeleteCluster.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json new file mode 100644 index 000000000000..449f80e35488 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/GetCluster.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 3, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json new file mode 100644 index 000000000000..fd2dcdcf0015 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersByResourceGroup.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster1", + "name": "myCluster1", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 29, + "billingModel": "Trial" + } + }, + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster2", + "name": "myCluster2", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 0, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + ] + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json new file mode 100644 index 000000000000..4c2a50dda8ea --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/ListClustersBySubscription.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg1/providers/Microsoft.AzureStackHCI/clusters/myCluster1", + "name": "myCluster1", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 29, + "billingModel": "Trial" + } + }, + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg2/providers/Microsoft.AzureStackHCI/clusters/myCluster2", + "name": "myCluster2", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 0, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + ] + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json new file mode 100644 index 000000000000..324a193b5145 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/stable/2020-10-01/examples/UpdateCluster.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-10-01", + "cluster": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 3, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/readme.azureresourceschema.md b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2525a859d162 --- /dev/null +++ b/specification/azurestackhci/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-azurestackhci-2020-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azurestackhci-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azurestackhci-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json + +``` diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md index fddd0e002a49..6d7b9a0233d3 100644 --- a/specification/azurestackhci/resource-manager/readme.go.md +++ b/specification/azurestackhci/resource-manager/readme.go.md @@ -12,9 +12,20 @@ go: ```yaml $(go) && $(multiapi) batch: + - tag: package-2020-10 - tag: package-2020-03-01-preview ``` +### Tag: package-2020-10 and go + +These settings apply only when `--tag=package-2020-10 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10' && $(go) +namespace: azurestackhci +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-01/$(namespace) +``` + ### Tag: package-2020-03-01-preview and go These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line. diff --git a/specification/azurestackhci/resource-manager/readme.java.md b/specification/azurestackhci/resource-manager/readme.java.md new file mode 100644 index 000000000000..bf96908f4e24 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.java.md @@ -0,0 +1,36 @@ +## Java + +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.azurestackhci +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azurestackhci +``` + +# Validation + + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-10 +``` + +### Tag: package-2020-10 and java + +These settings apply only when `--tag=package-2020-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.azurestackhci.v2020_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/azurestackhci/mgmt-v2020_10_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md index d30f27d90903..64b34d2f9f98 100644 --- a/specification/azurestackhci/resource-manager/readme.md +++ b/specification/azurestackhci/resource-manager/readme.md @@ -24,27 +24,36 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the azurestackhci. -```yaml +``` yaml title: AzureStackHCIClient description: Azure Stack HCI management service openapi-type: arm -tag: package-2020-03-01-preview +tag: package-2020-10 ``` ## Suppression -```yaml +``` yaml directive: - suppress: R3020 from: azurestackhci.json reason: Microsoft.AzureStackHCI is the correct name for our RP. ``` + +### 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: + - Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json +``` ### Tag: package-2020-03-01-preview These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-03-01-preview' +``` yaml $(tag) == 'package-2020-03-01-preview' input-file: - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json ``` @@ -58,7 +67,7 @@ input-file: 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-java @@ -67,12 +76,19 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azurestackhci/resource-manager ``` ## Go See configuration in [readme.go.md](./readme.go.md) +## Java + +See configuration in [readme.java.md](./readme.java.md) + ## Python See configuration in [readme.python.md](./readme.python.md) @@ -89,27 +105,6 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.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 -``` +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json new file mode 100644 index 000000000000..7e70ac58553f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json @@ -0,0 +1,835 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-06-preview", + "title": "bareMetalInfrastructureClient", + "description": "The BareMetalInfrastructure Management client" + }, + "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.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/start": { + "post": { + "description": "The operation to start an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Start.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/restart": { + "post": { + "description": "The operation to restart an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Restart", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restart an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Restart.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/shutdown": { + "post": { + "description": "The operation to shutdown an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Shutdown", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Shutdown an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Shutdown.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": { + "get": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_ListBySubscription", + "summary": "Gets a list of Azure BareMetal instances in the specified subscription.", + "description": "Gets a list of AzureBareMetal instances in the specified subscription. The operations returns various properties of each Azure BareMetal instance.", + "x-ms-examples": { + "List all AzureBareMetal instances in a subscription": { + "$ref": "./examples/AzureBareMetalInstances_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstancesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": { + "get": { + "operationId": "AzureBareMetalInstances_List", + "description": "Gets a list of AzureBareMetal instances in the specified subscription and resource group", + "x-ms-examples": { + "List all AzureBareMetal instances in a resource group": { + "$ref": "./examples/AzureBareMetalInstances_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstancesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.BareMetalInfrastructure/operations": { + "get": { + "tags": [ + "AzureBareMetal" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List all management operations supported by the AzureBareMetal RP": { + "$ref": "./examples/AzureBareMetalOperations_List.json" + } + }, + "description": "Gets a list of AzureBareMetal management operations.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}": { + "get": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Get", + "summary": "Gets an Azure BareMetal instance.", + "description": "Gets an Azure BareMetal instance for the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Get an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Delete", + "x-ms-long-running-operation": true, + "summary": "Deletes a Azure BareMetal instance.", + "description": "Deletes a Azure BareMetal instance with the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Delete an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "Deleted AzureBareMetalInstance" + }, + "202": { + "description": "Deleting AzureBareMetalInstance" + }, + "204": { + "description": "No AzureBareMetalInstance to delete" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Update", + "summary": "Patches the Tags field of a Azure BareMetal instance.", + "description": "Patches the Tags field of a Azure BareMetal instance for the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Update Tags field of an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_PatchTags.json" + }, + "Delete Tags field of an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_PatchTags_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AzureBareMetalInstancesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureBareMetalInstance" + }, + "description": "The list of Azure BareMetal instances." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of AzureBareMetal instances." + } + }, + "description": "The response from the List AzureBareMetal Instances operation." + }, + "AzureBareMetalInstance": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureBareMetalInstanceProperties", + "description": "AzureBareMetal instance properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "AzureBareMetal instance info on Azure (ARM properties and AzureBareMetal properties)" + }, + "AzureBareMetalInstanceProperties": { + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Specifies the hardware settings for the AzureBareMetal instance." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the AzureBareMetal instance disks." + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Specifies the operating system settings for the AzureBareMetal instance." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the network settings for the AzureBareMetal instance." + }, + "azureBareMetalInstanceId": { + "readOnly": true, + "type": "string", + "description": "Specifies the AzureBareMetal instance unique ID." + }, + "powerState": { + "readOnly": true, + "type": "string", + "enum": [ + "starting", + "started", + "stopping", + "stopped", + "restarting", + "unknown" + ], + "x-ms-enum": { + "name": "AzureBareMetalInstancePowerStateEnum", + "modelAsString": true + }, + "description": "Resource power state" + }, + "proximityPlacementGroup": { + "readOnly": true, + "type": "string", + "description": "Resource proximity placement group" + }, + "hwRevision": { + "readOnly": true, + "type": "string", + "description": "Hardware revision of an AzureBareMetal instance" + }, + "partnerNodeId": { + "type": "string", + "description": "ARM ID of another AzureBareMetalInstance that will share a network with this AzureBareMetalInstance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ], + "x-ms-enum": { + "name": "AzureBareMetalProvisioningStatesEnum", + "modelAsString": true + }, + "description": "State of provisioning of the AzureBareMetalInstance" + } + }, + "description": "Describes the properties of an AzureBareMetal instance." + }, + "HardwareProfile": { + "properties": { + "hardwareType": { + "readOnly": true, + "type": "string", + "enum": [ + "Cisco_UCS", + "HPE" + ], + "x-ms-enum": { + "name": "AzureBareMetalHardwareTypeNamesEnum", + "modelAsString": true + }, + "description": "Name of the hardware type (vendor and/or their product name)" + }, + "azureBareMetalInstanceSize": { + "readOnly": true, + "type": "string", + "enum": [ + "S72m", + "S144m", + "S72", + "S144", + "S192", + "S192m", + "S192xm", + "S96", + "S112", + "S224", + "S224m", + "S224om", + "S224oo", + "S224oom", + "S224ooo", + "S384", + "S384m", + "S384xm", + "S384xxm", + "S448", + "S448m", + "S448om", + "S448oo", + "S448oom", + "S448ooo", + "S576m", + "S576xm", + "S672", + "S672m", + "S672om", + "S672oo", + "S672oom", + "S672ooo", + "S768", + "S768m", + "S768xm", + "S896", + "S896m", + "S896om", + "S896oo", + "S896oom", + "S896ooo", + "S960m" + ], + "x-ms-enum": { + "name": "azureBareMetalInstanceSizeNamesEnum", + "modelAsString": true + }, + "description": "Specifies the AzureBareMetal instance SKU." + } + }, + "description": "Specifies the hardware settings for the AzureBareMetal instance." + }, + "Disk": { + "properties": { + "name": { + "type": "string", + "description": "The disk name." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty data disk in gigabytes." + }, + "lun": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + } + }, + "description": "Specifies the disk information fo the AzureBareMetal instance" + }, + "StorageProfile": { + "properties": { + "nfsIpAddress": { + "readOnly": true, + "type": "string", + "description": "IP Address to connect to storage." + }, + "osDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "Specifies information about the operating system disk used by baremetal instance." + } + }, + "description": "Specifies the storage settings for the AzureBareMetal instance disks." + }, + "OSProfile": { + "properties": { + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the AzureBareMetal instance." + }, + "osType": { + "readOnly": true, + "type": "string", + "description": "This property allows you to specify the type of the OS." + }, + "version": { + "readOnly": true, + "type": "string", + "description": "Specifies version of operating system." + }, + "sshPublicKey": { + "type": "string", + "description": "Specifies the SSH public key used to access the operating system." + } + }, + "description": "Specifies the operating system settings for the AzureBareMetal instance." + }, + "NetworkProfile": { + "properties": { + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/IpAddress" + }, + "description": "Specifies the network interfaces for the AzureBareMetal instance." + }, + "circuitId": { + "readOnly": true, + "type": "string", + "description": "Specifies the circuit id for connecting to express route." + } + }, + "description": "Specifies the network settings for the AzureBareMetal instance disks." + }, + "IpAddress": { + "properties": { + "ipAddress": { + "type": "string", + "description": "Specifies the IP address of the network interface." + } + }, + "description": "Specifies the IP address of the network interface." + }, + "OperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AzureBareMetal operations" + } + }, + "description": "List of AzureBareMetal operations" + }, + "Operation": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service." + }, + "display": { + "$ref": "#/definitions/Display", + "description": "Displayed AzureBareMetal operation information" + }, + "isDataAction": { + "description": "indicates whether an operation is a data action or not.", + "type": "boolean" + } + }, + "description": "AzureBareMetal operation information" + }, + "Result": { + "description": "Sample result definition", + "properties": { + "sampleProperty": { + "type": "string", + "description": "Sample property of type string" + } + } + }, + "Display": { + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with \"Microsoft\" for 1st party services." + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views." + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'" + } + }, + "description": "Detailed BareMetal operation information" + }, + "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 + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + }, + "Tags": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags field of the AzureBareMetal instance." + } + }, + "description": "Tags field of the AzureBareMetal instance." + } + }, + "parameters": { + "AzureBareMetalInstanceNameParameter": { + "name": "azureBareMetalInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Azure BareMetal on Azure instance.", + "x-ms-parameter-location": "method" + }, + "TagsParameter": { + "name": "tagsParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Tags" + }, + "description": "Request body that only contains the new Tags field", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json new file mode 100644 index 000000000000..f4506a990d9a --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myAzureBareMetalInstance" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json new file mode 100644 index 000000000000..0429abd084e6 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myAzureBareMetalInstance" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json new file mode 100644 index 000000000000..9c82f4fd729f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1", + "name": "myABMInstance1", + "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName1", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance2", + "name": "myABMInstance2", + "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "HPE", + "azureBareMetalInstanceSize": "S384" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.101" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.201" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json new file mode 100644 index 000000000000..412a064ac5ad --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance1", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance2", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json new file mode 100644 index 000000000000..5f0080e409f2 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2017-11-03-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance", + "tagsParameter": { + "tags": { + "testkey": "testvalue" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance", + "name": "myABMInstance", + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "location": "westus", + "tags": { + "testkey": "testvalue" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json new file mode 100644 index 000000000000..badfe29783ac --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2017-11-03-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance", + "tagsParameter": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance", + "name": "myABMInstance", + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "location": "westus", + "tags": {}, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json new file mode 100644 index 000000000000..1821117de8f1 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AzureBareMetalOp1", + "display": { + "provider": "AzureBareMetalOp1ProviderName", + "resource": "AzureBareMetalOp1ResourceName", + "operation": "AzureBareMetalOp1OperationName", + "description": "AzureBareMetalOp1Description", + "origin": "AzureBareMetalOp1Origin" + }, + "isDataAction": false + }, + { + "name": "AzureBareMetalOp2", + "display": { + "provider": "AzureBareMetalOp2ProviderName", + "resource": "AzureBareMetalOp2ResourceName", + "operation": "AzureBareMetalOp2OperationName", + "description": "AzureBareMetalOp2Description", + "origin": "AzureBareMetalOp2Origin" + }, + "isDataAction": true + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md b/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0228f0a806a3 --- /dev/null +++ b/specification/baremetalinfrastructure/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-baremetalinfrastructure-2020-08-06-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-baremetalinfrastructure-2020-08-06-preview and azureresourceschema + +``` yaml $(tag) == 'schema-baremetalinfrastructure-2020-08-06-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json + +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.csharp.md b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..8399c777f44f --- /dev/null +++ b/specification/baremetalinfrastructure/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.BareMetalInfrastructure + output-folder: $(csharp-sdks-folder)/baremetalinfrastructure/management/Microsoft.BareMetalInfrastructure/GeneratedProtocol +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md new file mode 100644 index 000000000000..1677cc7854ec --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md @@ -0,0 +1,19 @@ +## 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 +``` + +### Tag: package-2020-08-06-preview and go + +These settings apply only when `--tag=package-2020-08-06-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-08-06-preview' && $(go) +namespace: baremetalinfrastructure +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-06-preview/$(namespace) +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.md b/specification/baremetalinfrastructure/resource-manager/readme.md new file mode 100644 index 000000000000..a56160acb966 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.md @@ -0,0 +1,80 @@ +# BareMetalInfrastructure + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for BareMetalInfrastructure. + +## 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 BareMetalInfrastructure API. + +```yaml +openapi-type: arm +tag: package-2020-08-06-preview +``` + +### Tag: package-2020-08-06-preview + +These settings apply only when `--tag=package-2020-08-06-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-08-06-preview' +input-file: + - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.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 + - 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_baremetalinfrastructure'] +``` + +## 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/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md new file mode 100644 index 000000000000..3048a78804d7 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md @@ -0,0 +1,43 @@ +## 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 !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.baremetalinfrastructure + package-name: azure-mgmt-baremetalinfrastructure + package-version: 0.1.0 + clear-output-folder: true +``` + +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-baremetalinfrastructure +no-namespace-folders: true +package-version: 0.1.0 +``` + +``` yaml $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure +no-namespace-folders: true +output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure +``` + +``` yaml $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure +basic-setup-py: true +output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure +``` \ No newline at end of file diff --git a/specification/baremetalinfrastructure/resource-manager/readme.ruby.md b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..1c290102b63f --- /dev/null +++ b/specification/baremetalinfrastructure/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_baremetalinfrastructure +package-version: 2020-08-06-preview +azure-arm: true +``` + +### Tag: package-2020-08-06-preview and ruby + +These settings apply only when `--tag=package-2020-08-06-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-08-06-preview' && $(ruby) +namespace: Microsoft.BareMetalInfrastructure +output-folder: $(ruby-sdks-folder)/baremetalinfrastructure +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.typescript.md b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..8fbf13c9da70 --- /dev/null +++ b/specification/baremetalinfrastructure/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: "baremetalinfrastructure" + output-folder: "$(typescript-sdks-folder)/packages/baremetalinfrastructure" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json index 4cb90f36b1e5..166919d73a79 100644 --- a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json @@ -574,7 +574,7 @@ "Accounts" ], "operationId": "Account_ListPoolNodeCounts", - "description": "Gets the number of Compute Nodes in each state, grouped by Pool.", + "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.", "x-ms-examples": { "NodeCountsPayload": { "$ref": "./examples/AccountListPoolNodeCounts.json" @@ -5875,7 +5875,7 @@ } }, "summary": "Gets the Task counts for the specified Job.", - "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running.", + "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.", "x-ms-request-id": "request-id", "parameters": [ { @@ -15822,7 +15822,8 @@ "destination", "uploadOptions" ], - "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process." + "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.", + "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure." }, "OutputFileDestination": { "properties": { diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json new file mode 100644 index 000000000000..2e43550bd55e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json @@ -0,0 +1,16718 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchService", + "version": "2020-09-01.12.0", + "description": "A client for issuing REST requests to the Azure Batch service.", + "x-ms-code-generation-settings": { + "name": "BatchServiceClient" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{batchUrl}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/batchUrl" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json; odata=minimalmetadata" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + }, + { + "api_key": [] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + }, + "api_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "paths": { + "/applications": { + "get": { + "tags": [ + "Applications" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Application_List", + "x-ms-examples": { + "List applications": { + "$ref": "./examples/ApplicationList.json" + } + }, + "summary": "Lists all of the applications available in the specified Account.", + "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 applications can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/applications/{applicationId}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Application_Get", + "x-ms-examples": { + "Get applications": { + "$ref": "./examples/ApplicationGet.json" + } + }, + "summary": "Gets information about the specified Application.", + "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about Applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Application." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the application.", + "schema": { + "$ref": "#/definitions/ApplicationSummary" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/poolusagemetrics": { + "get": { + "tags": [ + "Pools" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Pool_ListUsageMetrics", + "x-ms-examples": { + "Pool list usage metrics": { + "$ref": "./examples/PoolListUsageMetrics.json" + } + }, + "summary": "Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account.", + "description": "If you do not specify a $filter clause including a poolId, the response includes all Pools that existed in the Account in the time range of the returned aggregation intervals. If you do not specify a $filter clause including a startTime or endTime these filters default to the start and end times of the last aggregation interval currently available; that is, only the last aggregation interval is returned.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "starttime", + "x-ms-client-name": "startTime", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "endtime", + "x-ms-client-name": "endTime", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Pool usage details.", + "schema": { + "$ref": "#/definitions/PoolListUsageMetricsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/supportedimages": { + "get": { + "tags": [ + "Accounts" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Account_ListSupportedImages", + "x-ms-examples": { + "Account list node agent skus": { + "$ref": "./examples/AccountListSupportedImages.json" + } + }, + "summary": "Lists all Virtual Machine Images supported by the Azure Batch service.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of supported Virtual Machine Images.", + "schema": { + "$ref": "#/definitions/AccountListSupportedImagesResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/nodecounts": { + "get": { + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "tags": [ + "Accounts" + ], + "operationId": "Account_ListPoolNodeCounts", + "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.", + "x-ms-examples": { + "NodeCountsPayload": { + "$ref": "./examples/AccountListPoolNodeCounts.json" + } + }, + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 10, + "minimum": 1, + "maximum": 10, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "The response contains the number of Compute Nodes in each Compute Node state, grouped by Pool.", + "schema": { + "$ref": "#/definitions/PoolNodeCountsListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/lifetimepoolstats": { + "get": { + "tags": [ + "Pools" + ], + "operationId": "Pool_GetAllLifetimeStatistics", + "x-ms-examples": { + "Pool get lifetime statistics": { + "$ref": "./examples/PoolGetLifetimeStatistics.json" + } + }, + "summary": "Gets lifetime summary statistics for all of the Pools in the specified Account.", + "description": "Statistics are aggregated across all Pools that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Pool statistics for the lifetime of the Batch Account.", + "schema": { + "$ref": "#/definitions/PoolStatistics" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/lifetimejobstats": { + "get": { + "tags": [ + "Jobs" + ], + "operationId": "Job_GetAllLifetimeStatistics", + "x-ms-examples": { + "Job get lifetime statistics": { + "$ref": "./examples/JobGetLifetimeStatistics.json" + } + }, + "summary": "Gets lifetime summary statistics for all of the Jobs in the specified Account.", + "description": "Statistics are aggregated across all Jobs that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Job statistics for the lifetime of the Batch Account.", + "schema": { + "$ref": "#/definitions/JobStatistics" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Add", + "x-ms-examples": { + "Certificate add": { + "$ref": "./examples/CertificateAdd.json" + } + }, + "summary": "Adds a Certificate to the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "certificate", + "in": "body", + "description": "The Certificate to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Certificate_List", + "x-ms-examples": { + "Certificate list": { + "$ref": "./examples/CertificateList.json" + } + }, + "summary": "Lists all of the Certificates that have been added to the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Certificates can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Certificates.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "Certificate_CancelDeletion", + "x-ms-examples": { + "Certificate cancel delete": { + "$ref": "./examples/CertificateCancelDelete.json" + } + }, + "summary": "Cancels a failed deletion of a Certificate from the specified Account.", + "description": "If you try to delete a Certificate that is being used by a Pool or Compute Node, the status of the Certificate changes to deleteFailed. If you decide that you want to continue using the Certificate, you can use this operation to set the status of the Certificate back to active. If you intend to delete the Certificate, you do not need to run this operation after the deletion failed. You must make sure that the Certificate is not being used by any resources, and then you can try again to delete the Certificate.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate being deleted." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})": { + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Delete", + "x-ms-examples": { + "Certificate delete": { + "$ref": "./examples/CertificateDelete.json" + } + }, + "summary": "Deletes a Certificate from the specified Account.", + "description": "You cannot delete a Certificate if a resource (Pool or Compute Node) is using it. Before you can delete a Certificate, you must therefore make sure that the Certificate is not associated with any existing Pools, the Certificate is not installed on any Nodes (even if you remove a Certificate from a Pool, it is not removed from existing Compute Nodes in that Pool until they restart), and no running Tasks depend on the Certificate. If you try to delete a Certificate that is in use, the deletion fails. The Certificate status changes to deleteFailed. You can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the Certificate.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate to be deleted." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "Certificate_Get", + "x-ms-examples": { + "Certificate get": { + "$ref": "./examples/CertificateGet.json" + } + }, + "description": "Gets information about the specified Certificate.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "thumbprintAlgorithm", + "in": "path", + "required": true, + "type": "string", + "description": "The algorithm used to derive the thumbprint parameter. This must be sha1." + }, + { + "name": "thumbprint", + "in": "path", + "required": true, + "type": "string", + "description": "The thumbprint of the Certificate to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Certificate.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/files/{filePath}": { + "delete": { + "tags": [ + "Files" + ], + "operationId": "File_DeleteFromTask", + "x-ms-examples": { + "File delete from task": { + "$ref": "./examples/FileDeleteFromTask.json" + } + }, + "summary": "Deletes the specified Task file from the Compute Node where the Task ran.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to delete." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file or directory that you want to delete." + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Files" + ], + "operationId": "File_GetFromTask", + "x-ms-examples": { + "Get File From Task": { + "$ref": "./examples/FileGetFromTask.json" + } + }, + "description": "Returns the content of the specified Task file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to retrieve." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file that you want to get the content of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-range", + "in": "header", + "required": false, + "type": "string", + "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file content.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Files" + ], + "operationId": "File_GetPropertiesFromTask", + "x-ms-examples": { + "File get properties from task": { + "$ref": "./examples/FileGetPropertiesFromTask.json" + } + }, + "description": "Gets the properties of the specified Task file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose file you want to get the properties of." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Task file that you want to get the properties of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file properties." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/files/{filePath}": { + "delete": { + "tags": [ + "Files" + ], + "operationId": "File_DeleteFromComputeNode", + "x-ms-examples": { + "File delete from node": { + "$ref": "./examples/FileDeleteFromNode.json" + } + }, + "summary": "Deletes the specified file from the Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node from which you want to delete the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the file or directory that you want to delete." + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Files" + ], + "operationId": "File_GetFromComputeNode", + "x-ms-examples": { + "Get File From Compute Node": { + "$ref": "./examples/FileGetFromNode.json" + } + }, + "description": "Returns the content of the specified Compute Node file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that contains the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Compute Node file that you want to get the content of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-range", + "in": "header", + "required": false, + "type": "string", + "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "The file content.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Files" + ], + "operationId": "File_GetPropertiesFromComputeNode", + "x-ms-examples": { + "File get properties from node": { + "$ref": "./examples/FileGetPropertiesFromNode.json" + } + }, + "description": "Gets the properties of the specified Compute Node file.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that contains the file." + }, + { + "name": "filePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path to the Compute Node file that you want to get the properties of." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-creation-time": { + "description": "The file creation time.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ocp-batch-file-isdirectory": { + "description": "Whether the object represents a directory.", + "type": "boolean" + }, + "ocp-batch-file-url": { + "description": "The URL of the file.", + "type": "string" + }, + "ocp-batch-file-mode": { + "description": "The file mode attribute in octal format.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of the file.", + "type": "string" + }, + "Content-Length": { + "description": "The length of the file.", + "type": "integer", + "format": "int64" + } + }, + "description": "A response containing the file properties." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/files": { + "get": { + "tags": [ + "Files" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "File_ListFromTask", + "x-ms-examples": { + "File list from task": { + "$ref": "./examples/FileListFromTask.json" + } + }, + "summary": "Lists the files in a Task's directory on its Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task whose files you want to list." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to list children of the Task directory. This parameter can be used in combination with the filter parameter to list specific type of files." + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of files.", + "schema": { + "$ref": "#/definitions/NodeFileListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/files": { + "get": { + "tags": [ + "Files" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "File_ListFromComputeNode", + "x-ms-examples": { + "File list from node": { + "$ref": "./examples/FileListFromNode.json" + } + }, + "summary": "Lists all of the files in Task directories on the specified Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node whose files you want to list." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to list children of a directory." + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of files.", + "schema": { + "$ref": "#/definitions/NodeFileListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}": { + "head": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Exists", + "x-ms-examples": { + "Check Job Schedule Exists": { + "$ref": "./examples/JobScheduleExists.json" + } + }, + "summary": "Checks the specified Job Schedule exists.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule which you want to check." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing headers related to the Job Schedule, if it exists." + }, + "404": { + "description": "The Job Schedule does not exist." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "delete": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Delete", + "x-ms-examples": { + "JobSchedule delete": { + "$ref": "./examples/JobScheduleDelete.json" + } + }, + "summary": "Deletes a Job Schedule from the specified Account.", + "description": "When you delete a Job Schedule, this also deletes all Jobs and Tasks under that schedule. When Tasks are deleted, all the files in their working directories on the Compute Nodes are also deleted (the retention period is ignored). The Job Schedule statistics are no longer accessible once the Job Schedule is deleted, though they are still counted towards Account lifetime statistics.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Get", + "x-ms-examples": { + "JobSchedule get": { + "$ref": "./examples/JobScheduleGet.json" + } + }, + "description": "Gets information about the specified Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Job Schedule.", + "schema": { + "$ref": "#/definitions/CloudJobSchedule" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Patch", + "x-ms-examples": { + "JobSchedule patch": { + "$ref": "./examples/JobSchedulePatch.json" + } + }, + "summary": "Updates the properties of the specified Job Schedule.", + "description": "This replaces only the Job Schedule properties specified in the request. For example, if the schedule property is not specified with this request, then the Batch service will keep the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to update." + }, + { + "name": "jobSchedulePatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobSchedulePatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Update", + "x-ms-examples": { + "JobSchedule update": { + "$ref": "./examples/JobScheduleUpdate.json" + } + }, + "summary": "Updates the properties of the specified Job Schedule.", + "description": "This fully replaces all the updatable properties of the Job Schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to update." + }, + { + "name": "jobScheduleUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobScheduleUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/disable": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Disable", + "x-ms-examples": { + "JobSchedule disable": { + "$ref": "./examples/JobScheduleDisable.json" + } + }, + "summary": "Disables a Job Schedule.", + "description": "No new Jobs will be created until the Job Schedule is enabled again.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to disable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/enable": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Enable", + "x-ms-examples": { + "JobSchedule enable": { + "$ref": "./examples/JobScheduleEnable.json" + } + }, + "summary": "Enables a Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to enable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/terminate": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Terminate", + "x-ms-examples": { + "JobSchedule terminate": { + "$ref": "./examples/JobScheduleTerminate.json" + } + }, + "summary": "Terminates a Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule to terminates." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules": { + "post": { + "tags": [ + "JobSchedules" + ], + "operationId": "JobSchedule_Add", + "x-ms-examples": { + "Add a basic JobSchedule": { + "$ref": "./examples/JobScheduleAdd_Basic.json" + }, + "Add a complex JobScheduleAdd": { + "$ref": "./examples/JobScheduleAdd_Complex.json" + } + }, + "summary": "Adds a Job Schedule to the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "cloudJobSchedule", + "in": "body", + "description": "The Job Schedule to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/JobScheduleAddParameter" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "JobSchedules" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "JobSchedule_List", + "x-ms-examples": { + "JobSchedule list": { + "$ref": "./examples/JobScheduleList.json" + } + }, + "summary": "Lists all of the Job Schedules in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Job Schedules can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Job Schedules.", + "schema": { + "$ref": "#/definitions/CloudJobScheduleListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}": { + "delete": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Delete", + "x-ms-examples": { + "Delete Job": { + "$ref": "./examples/JobDelete.json" + } + }, + "summary": "Deletes a Job.", + "description": "Deleting a Job also deletes all Tasks that are part of that Job, and all Job statistics. This also overrides the retention period for Task data; that is, if the Job contains Tasks which are still retained on Compute Nodes, the Batch services deletes those Tasks' working directories and all their contents. When a Delete Job request is received, the Batch service sets the Job to the deleting state. All update operations on a Job that is in deleting state will fail with status code 409 (Conflict), with additional information indicating that the Job is being deleted.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Get", + "x-ms-examples": { + "Job get": { + "$ref": "./examples/JobGet.json" + } + }, + "summary": "Gets information about the specified Job.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Job.", + "schema": { + "$ref": "#/definitions/CloudJob" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Patch", + "x-ms-examples": { + "Job patch": { + "$ref": "./examples/JobPatch.json" + } + }, + "summary": "Updates the properties of the specified Job.", + "description": "This replaces only the Job properties specified in the request. For example, if the Job has constraints, and a request does not specify the constraints element, then the Job keeps the existing constraints.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job whose properties you want to update." + }, + { + "name": "jobPatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobPatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Update", + "x-ms-examples": { + "Job update": { + "$ref": "./examples/JobUpdate.json" + } + }, + "summary": "Updates the properties of the specified Job.", + "description": "This fully replaces all the updatable properties of the Job. For example, if the Job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job whose properties you want to update." + }, + { + "name": "jobUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/disable": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Disable", + "x-ms-examples": { + "Job disable": { + "$ref": "./examples/JobDisable.json" + } + }, + "summary": "Disables the specified Job, preventing new Tasks from running.", + "description": "The Batch Service immediately moves the Job to the disabling state. Batch then uses the disableTasks parameter to determine what to do with the currently running Tasks of the Job. The Job remains in the disabling state until the disable operation is completed and all Tasks have been dealt with according to the disableTasks option; the Job then moves to the disabled state. No new Tasks are started under the Job until it moves back to active state. If you try to disable a Job that is in any state other than active, disabling, or disabled, the request fails with status code 409.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to disable." + }, + { + "name": "jobDisableParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobDisableParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/enable": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Enable", + "x-ms-examples": { + "Job enable": { + "$ref": "./examples/JobEnable.json" + } + }, + "summary": "Enables the specified Job, allowing new Tasks to run.", + "description": "When you call this API, the Batch service sets a disabled Job to the enabling state. After the this operation is completed, the Job moves to the active state, and scheduling of new Tasks under the Job resumes. The Batch service does not allow a Task to remain in the active state for more than 180 days. Therefore, if you enable a Job containing active Tasks which were added more than 180 days ago, those Tasks will not run.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to enable." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/terminate": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Terminate", + "x-ms-examples": { + "Job terminate": { + "$ref": "./examples/JobTerminate.json" + } + }, + "summary": "Terminates the specified Job, marking it as completed.", + "description": "When a Terminate Job request is received, the Batch service sets the Job to the terminating state. The Batch service then terminates any running Tasks associated with the Job and runs any required Job release Tasks. Then the Job moves into the completed state. If there are any Tasks in the Job in the active state, they will remain in the active state. Once a Job is terminated, new Tasks cannot be added and any remaining active Tasks will not be scheduled.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to terminate." + }, + { + "name": "jobTerminateParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/JobTerminateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs": { + "post": { + "tags": [ + "Jobs" + ], + "operationId": "Job_Add", + "x-ms-examples": { + "Add a basic job": { + "$ref": "./examples/JobAdd_Basic.json" + }, + "Add a complex job": { + "$ref": "./examples/JobAdd_Complex.json" + } + }, + "summary": "Adds a Job to the specified Account.", + "description": "The Batch service supports two ways to control the work done as part of a Job. In the first approach, the user specifies a Job Manager Task. The Batch service launches this Task when it is ready to start the Job. The Job Manager Task controls all other Tasks that run under this Job, by using the Task APIs. In the second approach, the user directly controls the execution of Tasks under an active Job, by using the Task APIs. Also note: when naming Jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "job", + "in": "body", + "description": "The Job to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/JobAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Job_List", + "x-ms-examples": { + "Job list": { + "$ref": "./examples/JobList.json" + } + }, + "summary": "Lists all of the Jobs in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Jobs.", + "schema": { + "$ref": "#/definitions/CloudJobListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobschedules/{jobScheduleId}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "x-ms-examples": { + "List Job Under Job Schedule": { + "$ref": "./examples/JobListFromJobSchedule.json" + } + }, + "operationId": "Job_ListFromJobSchedule", + "summary": "Lists the Jobs that have been created under the specified Job Schedule.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobScheduleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job Schedule from which you want to get a list of Jobs." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Jobs.", + "schema": { + "$ref": "#/definitions/CloudJobListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/jobpreparationandreleasetaskstatus": { + "get": { + "tags": [ + "Jobs" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Job_ListPreparationAndReleaseTaskStatus", + "x-ms-examples": { + "Job list preparation and release task status": { + "$ref": "./examples/JobListPreparationAndReleaseTaskStatus.json" + } + }, + "summary": "Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run.", + "description": "This API returns the Job Preparation and Job Release Task status on all Compute Nodes that have run the Job Preparation or Job Release Task. This includes Compute Nodes which have since been removed from the Pool. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing a list of Job Preparation and Job Release Task statuses.", + "schema": { + "$ref": "#/definitions/CloudJobListPreparationAndReleaseTaskStatusResult" + } + }, + "default": { + "description": "The error from the Batch service. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/taskcounts": { + "get": { + "tags": [ + "Jobs" + ], + "operationId": "Job_GetTaskCounts", + "x-ms-examples": { + "Job get task counts": { + "$ref": "./examples/JobGetTaskCounts.json" + } + }, + "summary": "Gets the Task counts for the specified Job.", + "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "A response containing the Task counts for the specified Job.", + "schema": { + "$ref": "#/definitions/TaskCountsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Add", + "x-ms-examples": { + "Add a CloudServiceConfiguration pool": { + "$ref": "./examples/PoolAdd_CloudServiceConfiguration.json" + }, + "Add a VirtualMachineConfiguration pool": { + "$ref": "./examples/PoolAdd_VirtualMachineConfiguration.json" + }, + "Add a VirtualMachineConfiguration pool with containers": { + "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithContainers.json" + }, + "Add a pool with mount drive specified": { + "$ref": "./examples/PoolAdd_MountConfiguration.json" + } + }, + "summary": "Adds a Pool to the specified Account.", + "description": "When naming Pools, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "pool", + "in": "body", + "description": "The Pool to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/PoolAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Pools" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Pool_List", + "x-ms-examples": { + "Pool list": { + "$ref": "./examples/PoolList_Basic.json" + } + }, + "summary": "Lists all of the Pools in the specified Account.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Pools can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Pools.", + "schema": { + "$ref": "#/definitions/CloudPoolListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}": { + "delete": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Delete", + "x-ms-examples": { + "Pool delete": { + "$ref": "./examples/PoolDelete.json" + } + }, + "summary": "Deletes a Pool from the specified Account.", + "description": "When you request that a Pool be deleted, the following actions occur: the Pool state is set to deleting; any ongoing resize operation on the Pool are stopped; the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks running on existing Compute Nodes are terminated and requeued (as if a resize Pool operation had been requested with the default requeue option); finally, the Pool is removed from the system. Because running Tasks are requeued, the user can rerun these Tasks by updating their Job to target a different Pool. The Tasks can then run on the new Pool. If you want to override the requeue behavior, then you should call resize Pool explicitly to shrink the Pool to zero size before deleting the Pool. If you call an Update, Patch or Delete API on a Pool in the deleting state, it will fail with HTTP status code 409 with error code PoolBeingDeleted.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "head": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Exists", + "x-ms-examples": { + "Check Pool Exists": { + "$ref": "./examples/PoolExists.json" + } + }, + "description": "Gets basic properties of a Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to get." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing headers related to the Pool, if it exists." + }, + "404": { + "description": "The Pool does not exist." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Get", + "x-ms-examples": { + "Pool get": { + "$ref": "./examples/PoolGet_Basic.json" + } + }, + "description": "Gets information about the specified Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to get." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Pool.", + "schema": { + "$ref": "#/definitions/CloudPool" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "patch": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Patch", + "x-ms-examples": { + "Patch the Pool": { + "$ref": "./examples/PoolPatch.json" + } + }, + "summary": "Updates the properties of the specified Pool.", + "description": "This only replaces the Pool properties specified in the request. For example, if the Pool has a StartTask associated with it, and a request does not specify a StartTask element, then the Pool keeps the existing StartTask.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to update." + }, + { + "name": "poolPatchParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolPatchParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/disableautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_DisableAutoScale", + "x-ms-examples": { + "Disable pool autoscale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } + }, + "summary": "Disables automatic scaling for a Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to disable automatic scaling." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/enableautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_EnableAutoScale", + "x-ms-examples": { + "Pool enable autoscale": { + "$ref": "./examples/PoolEnableAutoscale.json" + } + }, + "summary": "Enables automatic scaling for a Pool.", + "description": "You cannot enable automatic scaling on a Pool if a resize operation is in progress on the Pool. If automatic scaling of the Pool is currently disabled, you must specify a valid autoscale formula as part of the request. If automatic scaling of the Pool is already enabled, you may specify a new autoscale formula and/or a new evaluation interval. You cannot call this API for the same Pool more than once every 30 seconds.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to enable automatic scaling." + }, + { + "name": "poolEnableAutoScaleParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolEnableAutoScaleParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/evaluateautoscale": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_EvaluateAutoScale", + "x-ms-examples": { + "Pool evaluate autoscale": { + "$ref": "./examples/PoolEvaluateAutoscale.json" + } + }, + "summary": "Gets the result of evaluating an automatic scaling formula on the Pool.", + "description": "This API is primarily for validating an autoscale formula, as it simply returns the result without applying the formula to the Pool. The Pool must have auto scaling enabled in order to evaluate a formula.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool on which to evaluate the automatic scaling formula." + }, + { + "name": "poolEvaluateAutoScaleParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolEvaluateAutoScaleParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "A response containing the results of the autoscale evaluation.", + "schema": { + "$ref": "#/definitions/AutoScaleRun" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/resize": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_Resize", + "x-ms-examples": { + "Pool resize": { + "$ref": "./examples/PoolResize.json" + } + }, + "summary": "Changes the number of Compute Nodes that are assigned to a Pool.", + "description": "You can only resize a Pool when its allocation state is steady. If the Pool is already resizing, the request fails with status code 409. When you resize a Pool, the Pool's allocation state changes from steady to resizing. You cannot resize Pools which are configured for automatic scaling. If you try to do this, the Batch service returns an error 409. If you resize a Pool downwards, the Batch service chooses which Compute Nodes to remove. To remove specific Compute Nodes, use the Pool remove Compute Nodes API instead.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to resize." + }, + { + "name": "poolResizeParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolResizeParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/stopresize": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_StopResize", + "x-ms-examples": { + "Pool stop resize": { + "$ref": "./examples/PoolStopResize.json" + } + }, + "summary": "Stops an ongoing resize operation on the Pool.", + "description": "This does not restore the Pool to its previous state before the resize operation: it only stops any further changes being made, and the Pool maintains its current state. After stopping, the Pool stabilizes at the number of Compute Nodes it was at when the stop operation was done. During the stop operation, the Pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize Pool request; this API can also be used to halt the initial sizing of the Pool when it is created.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool whose resizing you want to stop." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service. If you call this API on a Pool which is not in the resizing state, the request fails with HTTP status code 409.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/updateproperties": { + "post": { + "tags": [ + "Pools" + ], + "operationId": "Pool_UpdateProperties", + "x-ms-examples": { + "Pool update": { + "$ref": "./examples/PoolUpdate.json" + } + }, + "summary": "Updates the properties of the specified Pool.", + "description": "This fully replaces all the updatable properties of the Pool. For example, if the Pool has a StartTask associated with it and if StartTask is not specified with this request, then the Batch service will remove the existing StartTask.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool to update." + }, + { + "name": "poolUpdatePropertiesParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PoolUpdatePropertiesParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/removenodes": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "Pool_RemoveNodes", + "x-ms-examples": { + "Pool remove nodes": { + "$ref": "./examples/PoolRemoveNodes.json" + } + }, + "summary": "Removes Compute Nodes from the specified Pool.", + "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool from which you want to remove Compute Nodes." + }, + { + "name": "nodeRemoveParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NodeRemoveParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Add", + "x-ms-examples": { + "Add a basic task": { + "$ref": "./examples/TaskAdd_Basic.json" + }, + "Add a task with exit conditions": { + "$ref": "./examples/TaskAdd_ExitConditions.json" + }, + "Add a task with container settings": { + "$ref": "./examples/TaskAdd_ContainerSettings.json" + }, + "Add a task with extra slot requirement": { + "$ref": "./examples/TaskAdd_RequiredSlots.json" + } + }, + "summary": "Adds a Task to the specified Job.", + "description": "The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to which the Task is to be added." + }, + { + "name": "task", + "in": "body", + "description": "The Task to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/TaskAddParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Tasks" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "Task_List", + "x-ms-examples": { + "Task list": { + "$ref": "./examples/TaskList.json" + } + }, + "summary": "Lists all of the Tasks that are associated with the specified Job.", + "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Tasks.", + "schema": { + "$ref": "#/definitions/CloudTaskListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/addtaskcollection": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_AddCollection", + "x-ms-examples": { + "Add a basic collection of tasks": { + "$ref": "./examples/TaskAddCollection_Basic.json" + }, + "Add a complex collection of tasks": { + "$ref": "./examples/TaskAddCollection_Complex.json" + } + }, + "summary": "Adds a collection of Tasks to the specified Job.", + "description": "Note that each Task must have a unique ID. The Batch service may not return the results for each Task in the same order the Tasks were submitted in this request. If the server times out or the connection is closed during the request, the request may have been partially or fully processed, or not at all. In such cases, the user should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. For example, you should use the same Task IDs during a retry so that if the prior operation succeeded, the retry will not create extra Tasks unexpectedly. If the response contains any Tasks which failed to add, a client can retry the request. In a retry, it is most efficient to resubmit only Tasks that failed to add, and to omit Tasks that were successfully added on the first attempt. The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job to which the Task collection is to be added." + }, + { + "name": "taskCollection", + "in": "body", + "description": "The Tasks to be added.", + "required": true, + "schema": { + "$ref": "#/definitions/TaskAddCollectionParameter" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/TaskAddCollectionResult" + }, + "description": "A response containing the results of the add Task collection operation." + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}": { + "delete": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Delete", + "x-ms-examples": { + "Task delete": { + "$ref": "./examples/TaskDelete.json" + } + }, + "summary": "Deletes a Task from the specified Job.", + "description": "When a Task is deleted, all of the files in its directory on the Compute Node where it ran are also deleted (regardless of the retention time). For multi-instance Tasks, the delete Task operation applies synchronously to the primary task; subtasks and their files are then deleted asynchronously in the background.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job from which to delete the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "get": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Get", + "x-ms-examples": { + "Task get": { + "$ref": "./examples/TaskGet.json" + } + }, + "summary": "Gets information about the specified Task.", + "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job that contains the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to get information about." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $expand clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "A response containing the Task.", + "schema": { + "$ref": "#/definitions/CloudTask" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Update", + "x-ms-examples": { + "Task update": { + "$ref": "./examples/TaskUpdate.json" + } + }, + "description": "Updates the properties of the specified Task.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to update." + }, + { + "name": "taskUpdateParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TaskUpdateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/subtasksinfo": { + "get": { + "tags": [ + "Tasks" + ], + "operationId": "Task_ListSubtasks", + "x-ms-examples": { + "Task list subtasks": { + "$ref": "./examples/TaskListSubtasks.json" + } + }, + "summary": "Lists all of the subtasks that are associated with the specified multi-instance Task.", + "description": "If the Task is not a multi-instance Task then this returns an empty collection.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of subtasks.", + "schema": { + "$ref": "#/definitions/CloudTaskListSubtasksResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/terminate": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Terminate", + "x-ms-examples": { + "Task terminate": { + "$ref": "./examples/TaskTerminate.json" + } + }, + "summary": "Terminates the specified Task.", + "description": "When the Task has been terminated, it moves to the completed state. For multi-instance Tasks, the terminate Task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in the background.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to terminate." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/jobs/{jobId}/tasks/{taskId}/reactivate": { + "post": { + "tags": [ + "Tasks" + ], + "operationId": "Task_Reactivate", + "x-ms-examples": { + "Task reactivate": { + "$ref": "./examples/TaskReactivate.json" + } + }, + "summary": "Reactivates a Task, allowing it to run again even if its retry count has been exhausted.", + "description": "Reactivation makes a Task eligible to be retried again up to its maximum retry count. The Task's state is changed to active. As the Task is no longer in the completed state, any previous exit code or failure information is no longer available after reactivation. Each time a Task is reactivated, its retry count is reset to 0. Reactivation will fail for Tasks that are not completed or that previously completed successfully (with an exit code of 0). Additionally, it will fail if the Job has completed (or is terminating or deleting).", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Job containing the Task." + }, + { + "name": "taskId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Task to reactivate." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Modified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "If-Unmodified-Since", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/users": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_AddUser", + "x-ms-examples": { + "Node add user": { + "$ref": "./examples/NodeAddUser.json" + } + }, + "summary": "Adds a user Account to the specified Compute Node.", + "description": "You can add a user Account to a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to create a user Account." + }, + { + "name": "user", + "in": "body", + "description": "The user Account to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeNodeUser" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/users/{userName}": { + "delete": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_DeleteUser", + "x-ms-examples": { + "Node delete user": { + "$ref": "./examples/NodeDeleteUser.json" + } + }, + "summary": "Deletes a user Account from the specified Compute Node.", + "description": "You can delete a user Account to a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to delete a user Account." + }, + { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user Account to delete." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + }, + "put": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_UpdateUser", + "x-ms-examples": { + "Node update user": { + "$ref": "./examples/NodeUpdateUser.json" + } + }, + "summary": "Updates the password and expiration time of a user Account on the specified Compute Node.", + "description": "This operation replaces of all the updatable properties of the Account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user Account on a Compute Node only when it is in the idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the machine on which you want to update a user Account." + }, + { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user Account to update." + }, + { + "name": "nodeUpdateUserParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NodeUpdateUserParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Get", + "x-ms-examples": { + "Node get": { + "$ref": "./examples/NodeGet_Basic.json" + } + }, + "summary": "Gets information about the specified Compute Node.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to get information about." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the Compute Node.", + "schema": { + "$ref": "#/definitions/ComputeNode" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/reboot": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Reboot", + "x-ms-examples": { + "Node reboot": { + "$ref": "./examples/NodeReboot.json" + } + }, + "summary": "Restarts the specified Compute Node.", + "description": "You can restart a Compute Node only if it is in an idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to restart." + }, + { + "name": "nodeRebootParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeRebootParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/reimage": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Reimage", + "x-ms-examples": { + "Node reimage": { + "$ref": "./examples/NodeReimage.json" + } + }, + "summary": "Reinstalls the operating system on the specified Compute Node.", + "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API can be invoked only on Pools created with the cloud service configuration property.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to restart." + }, + { + "name": "nodeReimageParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeReimageParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/disablescheduling": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_DisableScheduling", + "x-ms-examples": { + "Node disable scheduling": { + "$ref": "./examples/NodeDisableScheduling.json" + } + }, + "summary": "Disables Task scheduling on the specified Compute Node.", + "description": "You can disable Task scheduling on a Compute Node only if its current scheduling state is enabled.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node on which you want to disable Task scheduling." + }, + { + "name": "nodeDisableSchedulingParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeDisableSchedulingParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/enablescheduling": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_EnableScheduling", + "x-ms-examples": { + "Node enable scheduling": { + "$ref": "./examples/NodeEnableScheduling.json" + } + }, + "summary": "Enables Task scheduling on the specified Compute Node.", + "description": "You can enable Task scheduling on a Compute Node only if its current scheduling state is disabled", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node on which you want to enable Task scheduling." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_GetRemoteLoginSettings", + "x-ms-examples": { + "Node get remote login settings": { + "$ref": "./examples/NodeGetRemoteLoginSettings.json" + } + }, + "summary": "Gets the settings required for remote login to a Compute Node.", + "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node for which to obtain the remote login settings." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the login settings.", + "schema": { + "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/rdp": { + "get": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_GetRemoteDesktop", + "x-ms-examples": { + "Get RDP file of the compute node": { + "$ref": "./examples/NodeGetRemoteDesktop.json" + } + }, + "summary": "Gets the Remote Desktop Protocol file for the specified Compute Node.", + "description": "Before you can access a Compute Node by using the RDP file, you must create a user Account on the Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json", + "application/octet-stream" + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the RDP information.", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_UploadBatchServiceLogs", + "summary": "Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage.", + "description": "This is for gathering Azure Batch service log files in an automated fashion from Compute Nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files should be shared with Azure support to aid in debugging issues with the Batch service.", + "x-ms-examples": { + "Upload BatchService Logs": { + "$ref": "./examples/NodeUploadBatchServiceLogs.json" + } + }, + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node from which you want to upload the Azure Batch service log files." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "uploadBatchServiceLogsConfiguration", + "in": "body", + "description": "The Azure Batch service log files upload configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadBatchServiceLogsConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + } + }, + "description": "The request to the Batch service was successful.", + "schema": { + "$ref": "#/definitions/UploadBatchServiceLogsResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes": { + "get": { + "tags": [ + "ComputeNodes" + ], + "x-ms-pageable": { + "nextLinkName": "odata.nextLink" + }, + "operationId": "ComputeNode_List", + "x-ms-examples": { + "Node list": { + "$ref": "./examples/NodeList.json" + } + }, + "summary": "Lists the Compute Nodes in the specified Pool.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool from which you want to list Compute Nodes." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "An OData $select clause.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "maxresults", + "x-ms-client-name": "maxResults", + "default": 1000, + "minimum": 1, + "maximum": 1000, + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + } + }, + "description": "A response containing the list of Compute Nodes.", + "schema": { + "$ref": "#/definitions/ComputeNodeListResult" + } + }, + "default": { + "description": "The error from the Batch service.", + "schema": { + "$ref": "#/definitions/BatchError" + } + } + } + } + } + }, + "definitions": { + "PoolUsageMetrics": { + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool whose metrics are aggregated in this entry." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the aggregation interval covered by this entry." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The end time of the aggregation interval covered by this entry." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All VMs in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "totalCoreHours": { + "type": "number", + "format": "double", + "title": "The total core hours used in the Pool during this aggregation interval." + } + }, + "required": [ + "poolId", + "startTime", + "endTime", + "vmSize", + "totalCoreHours" + ], + "title": "Usage metrics for a Pool across an aggregation interval." + }, + "PoolListUsageMetricsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PoolUsageMetrics" + }, + "title": "The Pool usage metrics data." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of a listing the usage metrics for an Account." + }, + "ImageInformation": { + "properties": { + "nodeAgentSKUId": { + "type": "string", + "title": "The ID of the Compute Node agent SKU which the Image supports." + }, + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "The reference to the Azure Virtual Machine's Marketplace Image." + }, + "osType": { + "type": "string", + "title": "The type of operating system (e.g. Windows or Linux) of the Image.", + "enum": [ + "linux", + "windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": false, + "values": [ + { + "value": "linux", + "description": "The Linux operating system." + }, + { + "value": "windows", + "description": "The Windows operating system." + } + ] + } + }, + "capabilities": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The capabilities or features which the Image supports.", + "description": "Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service." + }, + "batchSupportEndOfLife": { + "type": "string", + "format": "date-time", + "title": "The time when the Azure Batch service will stop accepting create Pool requests for the Image." + }, + "verificationType": { + "type": "string", + "title": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU.", + "enum": [ + "verified", + "unverified" + ], + "x-ms-enum": { + "name": "VerificationType", + "modelAsString": false, + "values": [ + { + "value": "verified", + "description": "The Image is guaranteed to be compatible with the associated Compute Node agent SKU and all Batch features have been confirmed to work as expected." + }, + { + "value": "unverified", + "description": "The associated Compute Node agent SKU should have binary compatibility with the Image, but specific functionality has not been verified." + } + ] + } + } + }, + "required": [ + "imageReference", + "verificationType", + "osType", + "nodeAgentSKUId" + ], + "title": "A reference to the Azure Virtual Machines Marketplace Image and additional information about the Image." + }, + "AuthenticationTokenSettings": { + "properties": { + "access": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "job" + ], + "x-ms-enum": { + "name": "AccessScope", + "modelAsString": false, + "values": [ + { + "value": "job", + "description": "Grants access to perform all operations on the Job containing the Task." + } + ] + } + }, + "title": "The Batch resources to which the token grants access.", + "description": "The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task." + } + }, + "title": "The settings for an authentication token that the Task can use to perform Batch service operations." + }, + "AccountListSupportedImagesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageInformation" + }, + "title": "The list of supported Virtual Machine Images." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the supported Virtual Machine Images." + }, + "UsageStatistics": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "dedicatedCoreTime": { + "type": "string", + "format": "duration", + "title": "The aggregated wall-clock time of the dedicated Compute Node cores being part of the Pool." + } + }, + "required": [ + "startTime", + "lastUpdateTime", + "dedicatedCoreTime" + ], + "title": "Statistics related to Pool usage information." + }, + "ResourceStatistics": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "avgCPUPercentage": { + "type": "number", + "format": "double", + "title": "The average CPU usage across all Compute Nodes in the Pool (percentage per node)." + }, + "avgMemoryGiB": { + "type": "number", + "format": "double", + "title": "The average memory usage in GiB across all Compute Nodes in the Pool." + }, + "peakMemoryGiB": { + "type": "number", + "format": "double", + "title": "The peak memory usage in GiB across all Compute Nodes in the Pool." + }, + "avgDiskGiB": { + "type": "number", + "format": "double", + "title": "The average used disk space in GiB across all Compute Nodes in the Pool." + }, + "peakDiskGiB": { + "type": "number", + "format": "double", + "title": "The peak used disk space in GiB across all Compute Nodes in the Pool." + }, + "diskReadIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations across all Compute Nodes in the Pool." + }, + "diskWriteIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations across all Compute Nodes in the Pool." + }, + "diskReadGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of disk reads across all Compute Nodes in the Pool." + }, + "diskWriteGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of disk writes across all Compute Nodes in the Pool." + }, + "networkReadGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of network reads across all Compute Nodes in the Pool." + }, + "networkWriteGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB of network writes across all Compute Nodes in the Pool." + } + }, + "required": [ + "startTime", + "lastUpdateTime", + "avgCPUPercentage", + "avgMemoryGiB", + "peakMemoryGiB", + "avgDiskGiB", + "peakDiskGiB", + "diskReadIOps", + "diskWriteIOps", + "diskReadGiB", + "diskWriteGiB", + "networkReadGiB", + "networkWriteGiB" + ], + "title": "Statistics related to resource consumption by Compute Nodes in a Pool." + }, + "PoolStatistics": { + "properties": { + "url": { + "type": "string", + "title": "The URL for the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "usageStats": { + "$ref": "#/definitions/UsageStatistics", + "title": "Statistics related to Pool usage, such as the amount of core-time used." + }, + "resourceStats": { + "$ref": "#/definitions/ResourceStatistics", + "title": "Statistics related to resource consumption by Compute Nodes in the Pool." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime" + ], + "title": "Contains utilization and resource usage statistics for the lifetime of a Pool." + }, + "JobStatistics": { + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of all Tasks in the Job.", + "description": " The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by all Tasks in the Job." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by all Tasks in the Job." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB read from disk by all Tasks in the Job." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total amount of data in GiB written to disk by all Tasks in the Job." + }, + "numSucceededTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks successfully completed in the Job during the given time range.", + "description": "A Task completes successfully if it returns exit code 0." + }, + "numFailedTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks in the Job that failed during the given time range.", + "description": "A Task fails if it exhausts its maximum retry count without returning exit code 0." + }, + "numTaskRetries": { + "type": "integer", + "format": "int64", + "title": "The total number of retries on all the Tasks in the Job during the given time range." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of all Tasks in the Job.", + "description": "The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.) This value is only reported in the Account lifetime statistics; it is not included in the Job statistics." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "numSucceededTasks", + "numFailedTasks", + "numTaskRetries", + "waitTime" + ], + "title": "Resource usage statistics for a Job." + }, + "NameValuePair": { + "properties": { + "name": { + "type": "string", + "title": "The name in the name-value pair." + }, + "value": { + "type": "string", + "title": "The value in the name-value pair." + } + }, + "title": "Represents a name-value pair." + }, + "DeleteCertificateError": { + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Certificate deletion error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Certificate deletion error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the Certificate deletion error.", + "description": "This list includes details such as the active Pools and Compute Nodes referencing this Certificate. However, if a large number of resources reference the Certificate, the list contains only about the first hundred." + } + }, + "title": "An error encountered by the Batch service when deleting a Certificate." + }, + "Certificate": { + "properties": { + "thumbprint": { + "type": "string", + "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm used to derive the thumbprint." + }, + "url": { + "type": "string", + "title": "The URL of the Certificate." + }, + "state": { + "title": "The current state of the Certificate.", + "$ref": "#/definitions/CertificateState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Certificate entered its current state." + }, + "previousState": { + "title": "The previous state of the Certificate.", + "description": "This property is not set if the Certificate is in its initial active state.", + "$ref": "#/definitions/CertificateState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Certificate entered its previous state.", + "description": "This property is not set if the Certificate is in its initial Active state." + }, + "publicData": { + "type": "string", + "title": "The public part of the Certificate as a base-64 encoded .cer file." + }, + "deleteCertificateError": { + "$ref": "#/definitions/DeleteCertificateError", + "title": "The error that occurred on the last attempt to delete this Certificate.", + "description": "This property is set only if the Certificate is in the DeleteFailed state." + } + }, + "description": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine." + }, + "ApplicationPackageReference": { + "properties": { + "applicationId": { + "type": "string", + "title": "The ID of the application to deploy." + }, + "version": { + "type": "string", + "title": "The version of the application to deploy. If omitted, the default version is deployed.", + "description": "If this is omitted on a Pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a Task, and no default version is specified for this application, the Task fails with a pre-processing error." + } + }, + "required": [ + "applicationId" + ], + "title": "A reference to an Package to be deployed to Compute Nodes." + }, + "ApplicationSummary": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the application within the Account." + }, + "displayName": { + "type": "string", + "title": "The display name for the application." + }, + "versions": { + "type": "array", + "title": "The list of available versions of the application.", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "displayName", + "versions" + ], + "title": "Contains information about an application in an Azure Batch Account." + }, + "CertificateAddParameter": { + "properties": { + "thumbprint": { + "type": "string", + "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed)." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm used to derive the thumbprint. This must be sha1." + }, + "data": { + "type": "string", + "title": "The base64-encoded contents of the Certificate. The maximum size is 10KB." + }, + "certificateFormat": { + "type": "string", + "title": "The format of the Certificate data.", + "enum": [ + "pfx", + "cer" + ], + "x-ms-enum": { + "name": "CertificateFormat", + "modelAsString": false, + "values": [ + { + "value": "pfx", + "description": "The Certificate is a PFX (PKCS#12) formatted Certificate or Certificate chain." + }, + { + "value": "cer", + "description": "The Certificate is a base64-encoded X.509 Certificate." + } + ] + } + }, + "password": { + "type": "string", + "title": "The password to access the Certificate's private key.", + "description": "This must be omitted if the Certificate format is cer." + } + }, + "required": [ + "thumbprint", + "thumbprintAlgorithm", + "data" + ], + "title": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine." + }, + "CertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "title": "The list of Certificates." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Certificates in the Account." + }, + "FileProperties": { + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The file creation time.", + "description": "The creation time is not returned for files on Linux Compute Nodes." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The time at which the file was last modified." + }, + "contentLength": { + "type": "integer", + "format": "int64", + "title": "The length of the file." + }, + "contentType": { + "type": "string", + "title": "The content type of the file." + }, + "fileMode": { + "type": "string", + "title": "The file mode attribute in octal format.", + "description": "The file mode is returned only for files on Linux Compute Nodes." + } + }, + "required": [ + "lastModified", + "contentLength" + ], + "title": "The properties of a file on a Compute Node." + }, + "NodeFile": { + "properties": { + "name": { + "type": "string", + "title": "The file path." + }, + "url": { + "type": "string", + "title": "The URL of the file." + }, + "isDirectory": { + "type": "boolean", + "title": "Whether the object represents a directory." + }, + "properties": { + "$ref": "#/definitions/FileProperties", + "title": "The file properties." + } + }, + "title": "Information about a file or directory on a Compute Node." + }, + "NodeFileListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeFile" + }, + "title": "The list of files." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the files on a Compute Node, or the files associated with a Task on a Compute Node." + }, + "Schedule": { + "properties": { + "doNotRunUntil": { + "type": "string", + "format": "date-time", + "title": "The earliest time at which any Job may be created under this Job Schedule.", + "description": "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately." + }, + "doNotRunAfter": { + "type": "string", + "format": "date-time", + "title": "A time after which no Job will be created under this Job Schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active Job under this Job Schedule.", + "description": "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it." + }, + "startWindow": { + "type": "string", + "format": "duration", + "title": "The time interval, starting from the time at which the schedule indicates a Job should be created, within which a Job must be created.", + "description": "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "recurrenceInterval": { + "type": "string", + "format": "duration", + "title": "The time interval between the start times of two successive Jobs under the Job Schedule. A Job Schedule can have at most one active Job under it at any given time.", + "description": "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + } + }, + "title": "The schedule according to which Jobs will be created" + }, + "JobConstraints": { + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Job may run, measured from the time the Job is created.", + "description": "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero.", + "description": "Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)." + } + }, + "title": "The execution constraints for a Job." + }, + "JobNetworkConfiguration": { + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNETs" + } + } + }, + "required": [ + "subnetId" + ], + "title": "The network configuration for the Job." + }, + "TaskContainerSettings": { + "properties": { + "containerRunOptions": { + "type": "string", + "title": "Additional options to the container create command.", + "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service." + }, + "imageName": { + "type": "string", + "title": "The Image to use to create the container in which the Task will run.", + "description": "This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default." + }, + "registry": { + "$ref": "#/definitions/ContainerRegistry", + "title": "The private registry which contains the container Image.", + "description": "This setting can be omitted if was already provided at Pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "The location of the container Task working directory.", + "description": "The default is 'taskWorkingDirectory'.", + "enum": [ + "taskWorkingDirectory", + "containerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "taskWorkingDirectory", + "description": "Use the standard Batch service Task working directory, which will contain the Task Resource Files populated by Batch." + }, + { + "value": "containerImageDefault", + "description": "Use the working directory defined in the container Image. Beware that this directory will not contain the Resource Files downloaded by Batch." + } + ] + } + } + }, + "required": [ + "imageName" + ], + "title": "The container settings for a Task." + }, + "ResourceFile": { + "properties": { + "autoStorageContainerName": { + "type": "string", + "title": "The storage container name in the auto storage Account.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified." + }, + "storageContainerUrl": { + "type": "string", + "title": "The URL of the blob container within Azure Blob Storage.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading blobs from the container. There are two ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, or set the ACL for the container to allow public access." + }, + "httpUrl": { + "type": "string", + "title": "The URL of the file to download.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access." + }, + "blobPrefix": { + "type": "string", + "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.", + "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded." + }, + "filePath": { + "type": "string", + "title": "The location on the Compute Node to which to download the file(s), relative to the Task's working directory.", + "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the Task's working directory (for example by using '..')." + }, + "fileMode": { + "type": "string", + "title": "The file permission mode attribute in octal format.", + "description": "This property applies only to files being downloaded to Linux Compute Nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows Compute Node. If this property is not specified for a Linux Compute Node, then a default value of 0770 is applied to the file." + } + }, + "title": "A single file or multiple files to be downloaded to a Compute Node." + }, + "EnvironmentSetting": { + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "title": "An environment variable to be set on a Task process." + }, + "ExitConditions": { + "properties": { + "exitCodes": { + "type": "array", + "items": { + "$ref": "#/definitions/ExitCodeMapping" + }, + "title": "A list of individual Task exit codes and how the Batch service should respond to them." + }, + "exitCodeRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ExitCodeRangeMapping" + }, + "title": "A list of Task exit code ranges and how the Batch service should respond to them." + }, + "preProcessingError": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task fails to start due to an error." + }, + "fileUploadError": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if a file upload error occurs.", + "description": "If the Task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence." + }, + "default": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task fails with an exit condition not covered by any of the other properties.", + "description": "This value is used if the Task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behavior on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection." + } + }, + "title": "Specifies how the Batch service should respond when the Task completes." + }, + "ExitCodeMapping": { + "properties": { + "code": { + "type": "integer", + "format": "int32", + "title": "A process exit code." + }, + "exitOptions": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task exits with this exit code." + } + }, + "title": "How the Batch service should respond if a Task exits with a particular exit code.", + "required": [ + "code", + "exitOptions" + ] + }, + "ExitCodeRangeMapping": { + "properties": { + "start": { + "type": "integer", + "format": "int32", + "title": "The first exit code in the range." + }, + "end": { + "type": "integer", + "format": "int32", + "title": "The last exit code in the range." + }, + "exitOptions": { + "$ref": "#/definitions/ExitOptions", + "title": "How the Batch service should respond if the Task exits with an exit code in the range start to end (inclusive)." + } + }, + "title": "A range of exit codes and how the Batch service should respond to exit codes within that range.", + "required": [ + "start", + "end", + "exitOptions" + ] + }, + "ExitOptions": { + "properties": { + "jobAction": { + "type": "string", + "title": "An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'.", + "description": "The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).", + "enum": [ + "none", + "disable", + "terminate" + ], + "x-ms-enum": { + "name": "JobAction", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "Take no action." + }, + { + "value": "disable", + "description": "Disable the Job. This is equivalent to calling the disable Job API, with a disableTasks value of requeue." + }, + { + "value": "terminate", + "description": "Terminate the Job. The terminateReason in the Job's executionInfo is set to \"TaskFailed\"." + } + ] + } + }, + "dependencyAction": { + "type": "string", + "title": "An action that the Batch service performs on Tasks that depend on this Task.", + "description": "Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks.", + "enum": [ + "satisfy", + "block" + ], + "x-ms-enum": { + "name": "DependencyAction", + "modelAsString": false, + "values": [ + { + "value": "satisfy", + "description": "Satisfy tasks waiting on this task; once all dependencies are satisfied, the task will be scheduled to run." + }, + { + "value": "block", + "description": "Blocks tasks waiting on this task, preventing them from being scheduled." + } + ] + } + } + }, + "title": "Specifies how the Batch service responds to a particular exit condition." + }, + "AutoUserSpecification": { + "properties": { + "scope": { + "type": "string", + "title": "The scope for the auto user", + "description": "The default value is pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by StartTasks.", + "enum": [ + "task", + "pool" + ], + "x-ms-enum": { + "name": "AutoUserScope", + "modelAsString": false, + "values": [ + { + "value": "task", + "description": "Specifies that the service should create a new user for the Task." + }, + { + "value": "pool", + "description": "Specifies that the Task runs as the common auto user Account which is created on every Compute Node in a Pool." + } + ] + } + }, + "elevationLevel": { + "title": "The elevation level of the auto user.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + } + }, + "title": "Specifies the parameters for the auto user that runs a Task on the Batch service." + }, + "UserIdentity": { + "properties": { + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The name of the user identity under which the Task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + }, + "autoUser": { + "$ref": "#/definitions/AutoUserSpecification", + "title": "The auto user under which the Task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + } + }, + "title": "The definition of the user identity under which the Task is run.", + "description": "Specify either the userName or autoUser property, but not both." + }, + "LinuxUserConfiguration": { + "properties": { + "uid": { + "type": "integer", + "format": "int32", + "title": "The user ID of the user Account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid." + }, + "gid": { + "type": "integer", + "format": "int32", + "title": "The group ID for the user Account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid." + }, + "sshPrivateKey": { + "type": "string", + "title": "The SSH private key for the user Account.", + "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between Compute Nodes in a Linux Pool when the Pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between Compute Nodes (no modification of the user's .ssh directory is done)." + } + }, + "title": "Properties used to create a user Account on a Linux Compute Node." + }, + "WindowsUserConfiguration": { + "properties": { + "loginMode": { + "type": "string", + "title": "The login mode for the user", + "description": "The default value for VirtualMachineConfiguration Pools is 'batch' and for CloudServiceConfiguration Pools is 'interactive'.", + "enum": [ + "batch", + "interactive" + ], + "x-ms-enum": { + "name": "LoginMode", + "modelAsString": false, + "values": [ + { + "value": "batch", + "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes." + }, + { + "value": "interactive", + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows VirtualMachineConfiguration Pools. If this option is used with an elevated user identity in a Windows VirtualMachineConfiguration Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege." + } + ] + } + } + }, + "title": "Properties used to create a user Account on a Windows Compute Node." + }, + "UserAccount": { + "properties": { + "name": { + "type": "string", + "title": "The name of the user Account." + }, + "password": { + "type": "string", + "title": "The password for the user Account." + }, + "elevationLevel": { + "title": "The elevation level of the user Account.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + }, + "linuxUserConfiguration": { + "title": "The Linux-specific user configuration for the user Account.", + "description": "This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options.", + "$ref": "#/definitions/LinuxUserConfiguration" + }, + "windowsUserConfiguration": { + "title": "The Windows-specific user configuration for the user Account.", + "description": "This property can only be specified if the user is on a Windows Pool. If not specified and on a Windows Pool, the user is created with the default options.", + "$ref": "#/definitions/WindowsUserConfiguration" + } + }, + "required": [ + "name", + "password" + ], + "title": "Properties used to create a user used to execute Tasks on an Azure Batch Compute Node." + }, + "TaskConstraints": { + "properties": { + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Task may run, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it.", + "description": "If this is not specified, there is no time limit on how long the Task may run." + }, + "retentionTime": { + "type": "string", + "format": "duration", + "title": "The minimum time to retain the Task directory on the Compute Node where it ran, from the time it completes execution. After this time, the Batch service may delete the Task directory and all its contents.", + "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero.", + "description": "Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit." + } + }, + "title": "Execution constraints to apply to a Task." + }, + "JobManagerTask": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Manager Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters." + }, + "displayName": { + "type": "string", + "title": "The display name of the Job Manager Task.", + "description": "It need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Manager Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Manager Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Manager Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to the Job Manager Task." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task requires to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1." + }, + "killJobOnCompletion": { + "type": "boolean", + "title": "Whether completion of the Job Manager Task signifies completion of the entire Job.", + "description": "If true, when the Job Manager Task completes, the Batch service marks the Job as complete. If any Tasks are still running at this time (other than Job Release), those Tasks are terminated. If false, the completion of the Job Manager Task does not affect the Job status. In this case, you should either use the onAllTasksComplete attribute to terminate the Job, or have a client or user terminate the Job explicitly. An example of this is if the Job Manager creates a set of Tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control Job lifetime, and using the Job Manager Task only to create the Tasks for the Job (not to monitor progress), then it is important to set killJobOnCompletion to false." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Manager Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "runExclusive": { + "type": "boolean", + "title": "Whether the Job Manager Task requires exclusive use of the Compute Node where it runs.", + "description": "If true, no other Tasks will run on the same Node for as long as the Job Manager is running. If false, other Tasks can run simultaneously with the Job Manager on a Compute Node. The Job Manager Task counts normally against the Compute Node's concurrent Task limit, so this is only relevant if the Compute Node allows multiple concurrent Tasks. The default value is true." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Application Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + }, + "allowLowPriorityNode": { + "type": "boolean", + "title": "Whether the Job Manager Task may run on a low-priority Compute Node.", + "description": "The default value is true." + } + }, + "required": [ + "id", + "commandLine" + ], + "title": "Specifies details of a Job Manager Task.", + "description": "The Job Manager Task is automatically started when the Job is created. The Batch service tries to schedule the Job Manager Task before any other Tasks in the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where Job Manager Tasks are running for as long as possible (that is, Compute Nodes running 'normal' Tasks are removed before Compute Nodes running Job Manager Tasks). When a Job Manager Task fails and needs to be restarted, the system tries to schedule it at the highest priority. If there are no idle Compute Nodes available, the system may terminate one of the running Tasks in the Pool and return it to the queue in order to make room for the Job Manager Task to restart. Note that a Job Manager Task in one Job does not have priority over Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For example, if a Job Manager in a priority 0 Job needs to be restarted, it will not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "JobPreparationTask": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Preparation Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Preparation Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Preparation Task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Preparation Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to the Job Preparation Task." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the Job Preparation Task to complete successfully before scheduling any other Tasks of the Job on the Compute Node. A Job Preparation Task has completed successfully if it exits with exit code 0.", + "description": "If true and the Job Preparation Task fails on a Node, the Batch service retries the Job Preparation Task up to its maximum retry count (as specified in the constraints element). If the Task has still not completed successfully after all retries, then the Batch service will not schedule Tasks of the Job to the Node. The Node remains active and eligible to run Tasks of other Jobs. If false, the Batch service will not wait for the Job Preparation Task to complete. In this case, other Tasks of the Job can start executing on the Compute Node while the Job Preparation Task is still running; and even if the Job Preparation Task fails, new Tasks will continue to be scheduled on the Compute Node. The default value is true." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Preparation Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task on Windows Compute Nodes, or a non-administrative user unique to the Pool on Linux Compute Nodes." + }, + "rerunOnNodeRebootAfterSuccess": { + "type": "boolean", + "title": "Whether the Batch service should rerun the Job Preparation Task after a Compute Node reboots.", + "description": "The Job Preparation Task is always rerun if a Compute Node is reimaged, or if the Job Preparation Task did not complete (e.g. because the reboot occurred while the Task was running). Therefore, you should always write a Job Preparation Task to be idempotent and to behave correctly if run multiple times. The default value is true." + } + }, + "required": [ + "commandLine" + ], + "title": "A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.", + "description": "You can use Job Preparation to prepare a Node to run Tasks for the Job. Activities commonly performed in Job Preparation include: Downloading common resource files used by all the Tasks in the Job. The Job Preparation Task can download these common resource files to the shared location on the Node. (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so that all Tasks of that Job can communicate with it. If the Job Preparation Task fails (that is, exhausts its retry count before exiting with exit code 0), Batch will not run Tasks of this Job on the Node. The Compute Node remains ineligible to run Tasks of this Job until it is reimaged. The Compute Node remains active and can be used for other Jobs. The Job Preparation Task can run multiple times on the same Node. Therefore, you should write the Job Preparation Task to handle re-execution. If the Node is rebooted, the Job Preparation Task is run again on the Compute Node before scheduling any other Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job Preparation Task did not previously complete. If the Node is reimaged, the Job Preparation Task is run again before scheduling any Task of the Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "JobReleaseTask": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job Release Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Job Release Task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Job Release Task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.", + "description": "Files listed under this element are located in the Task's working directory." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Job Release Task." + }, + "maxWallClockTime": { + "type": "string", + "format": "duration", + "title": "The maximum elapsed time that the Job Release Task may run on a given Compute Node, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. You may not specify a timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "retentionTime": { + "type": "string", + "format": "duration", + "title": "The minimum time to retain the Task directory for the Job Release Task on the Compute Node. After this time, the Batch service may delete the Task directory and all its contents.", + "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Job Release Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + } + }, + "required": [ + "commandLine" + ], + "title": "A Job Release Task to run on Job completion on any Compute Node where the Job has run.", + "description": "The Job Release Task runs when the Job ends, because of one of the following: The user calls the Terminate Job API, or the Delete Job API while the Job is still active, the Job's maximum wall clock time constraint is reached, and the Job is still active, or the Job's Job Manager Task completed, and the Job is configured to terminate when the Job Manager completes. The Job Release Task runs on each Node where Tasks of the Job have run and the Job Preparation Task ran and completed. If you reimage a Node after it has run the Job Preparation Task, and the Job ends without any further Tasks of the Job running on that Node (and hence the Job Preparation Task does not re-run), then the Job Release Task does not run on that Compute Node. If a Node reboots while the Job Release Task is still running, the Job Release Task runs again when the Compute Node starts up. The Job is not marked as complete until all Job Release Tasks have completed. The Job Release Task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards the taskSlotsPerNode limit specified on the Pool." + }, + "TaskSchedulingPolicy": { + "properties": { + "nodeFillType": { + "type": "string", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread.", + "enum": [ + "spread", + "pack" + ], + "x-ms-enum": { + "name": "ComputeNodeFillType", + "modelAsString": false, + "values": [ + { + "value": "spread", + "description": "Tasks should be assigned evenly across all Compute Nodes in the Pool." + }, + { + "value": "pack", + "description": "As many Tasks as possible (taskSlotsPerNode) should be assigned to each Compute Node in the Pool before any Tasks are assigned to the next Compute Node in the Pool." + } + ] + } + } + }, + "required": [ + "nodeFillType" + ], + "title": "Specifies how Tasks should be distributed across Compute Nodes." + }, + "StartTask": { + "properties": { + "commandLine": { + "type": "string", + "title": "The command line of the StartTask.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the StartTask runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.", + "description": "Files listed under this element are located in the Task's working directory." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the StartTask." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the StartTask runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the Task may be retried.", + "description": "The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task. If the maximum retry count is -1, the Batch service retries the Task without limit." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node.", + "description": "If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true." + } + }, + "required": [ + "commandLine" + ], + "title": "A Task which is run when a Node joins a Pool in the Azure Batch service, or when the Compute Node is rebooted or reimaged.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing. In some cases the StartTask may be re-run even though the Compute Node was not rebooted. Special care should be taken to avoid StartTasks which create breakaway process or install/launch services from the StartTask working directory, as this will block Batch from being able to re-run the StartTask." + }, + "CertificateReference": { + "properties": { + "thumbprint": { + "type": "string", + "title": "The thumbprint of the Certificate." + }, + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm with which the thumbprint is associated. This must be sha1." + }, + "storeLocation": { + "type": "string", + "title": "The location of the Certificate store on the Compute Node into which to install the Certificate.", + "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.", + "enum": [ + "currentuser", + "localmachine" + ], + "x-ms-enum": { + "name": "CertificateStoreLocation", + "modelAsString": false, + "values": [ + { + "value": "currentuser", + "description": "Certificates should be installed to the CurrentUser Certificate store.", + "name": "currentUser" + }, + { + "value": "localmachine", + "description": "Certificates should be installed to the LocalMachine Certificate store.", + "name": "localMachine" + } + ] + } + }, + "storeName": { + "type": "string", + "title": "The name of the Certificate store on the Compute Node into which to install the Certificate.", + "description": "This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + }, + "visibility": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "starttask", + "task", + "remoteuser" + ], + "x-ms-enum": { + "name": "CertificateVisibility", + "modelAsString": false, + "values": [ + { + "value": "starttask", + "description": "The Certificate should be visible to the user account under which the StartTask is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well.", + "name": "startTask" + }, + { + "value": "task", + "description": "The Certificate should be visible to the user accounts under which Job Tasks are run." + }, + { + "value": "remoteuser", + "description": "The Certificate should be visible to the user accounts under which users remotely access the Compute Node.", + "name": "remoteUser" + } + ] + } + }, + "title": "Which user Accounts on the Compute Node should have access to the private data of the Certificate.", + "description": "You can specify more than one visibility in this collection. The default is all Accounts." + } + }, + "required": [ + "thumbprint", + "thumbprintAlgorithm" + ], + "title": "A reference to a Certificate to be installed on Compute Nodes in a Pool." + }, + "MetadataItem": { + "properties": { + "name": { + "type": "string", + "title": "The name of the metadata item." + }, + "value": { + "type": "string", + "title": "The value of the metadata item." + } + }, + "required": [ + "name", + "value" + ], + "title": "A name-value pair associated with a Batch service resource.", + "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." + }, + "PoolSpecification": { + "properties": { + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "vmSize": { + "type": "string", + "title": "The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property must be specified if the Pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property must be specified if the Pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the Pool." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + } + }, + "required": [ + "vmSize" + ], + "title": "Specification for creating a new Pool." + }, + "AutoPoolSpecification": { + "properties": { + "autoPoolIdPrefix": { + "type": "string", + "title": "A prefix to be added to the unique identifier when a Pool is automatically created.", + "description": "The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long." + }, + "poolLifetimeOption": { + "type": "string", + "title": "The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.", + "enum": [ + "jobschedule", + "job" + ], + "x-ms-enum": { + "name": "PoolLifetimeOption", + "modelAsString": false, + "values": [ + { + "value": "jobschedule", + "description": "The Pool exists for the lifetime of the Job Schedule. The Batch Service creates the Pool when it creates the first Job on the schedule. You may apply this option only to Job Schedules, not to Jobs.", + "name": "jobSchedule" + }, + { + "value": "job", + "description": "The Pool exists for the lifetime of the Job to which it is dedicated. The Batch service creates the Pool when it creates the Job. If the 'job' option is applied to a Job Schedule, the Batch service creates a new auto Pool for every Job created on the schedule." + } + ] + } + }, + "keepAlive": { + "type": "boolean", + "title": "Whether to keep an auto Pool alive after its lifetime expires.", + "description": "If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option." + }, + "pool": { + "$ref": "#/definitions/PoolSpecification", + "title": "The Pool specification for the auto Pool." + } + }, + "required": [ + "poolLifetimeOption" + ], + "title": "Specifies characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted." + }, + "PoolInformation": { + "properties": { + "poolId": { + "type": "string", + "title": "The ID of an existing Pool. All the Tasks of the Job will run on the specified Pool.", + "description": "You must ensure that the Pool referenced by this property exists. If the Pool does not exist at the time the Batch service tries to schedule a Job, no Tasks for the Job will run until you create a Pool with that id. Note that the Batch service will not reject the Job request; it will simply not run Tasks until the Pool exists. You must specify either the Pool ID or the auto Pool specification, but not both." + }, + "autoPoolSpecification": { + "$ref": "#/definitions/AutoPoolSpecification", + "title": "Characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted.", + "description": "If auto Pool creation fails, the Batch service moves the Job to a completed state, and the Pool creation error is set in the Job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto Pool. Any user actions that affect the lifetime of the auto Pool while the Job is active will result in unexpected behavior. You must specify either the Pool ID or the auto Pool specification, but not both." + } + }, + "title": "Specifies how a Job should be assigned to a Pool." + }, + "JobSpecification": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of Jobs created under this schedule.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API." + }, + "displayName": { + "type": "string", + "title": "The display name for Jobs created under this schedule.", + "description": "The name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state.", + "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error.", + "description": "The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for Jobs created under this schedule." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "The details of a Job Manager Task to be launched when a Job is started under this schedule.", + "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job using the Task API. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task for Jobs created under this schedule.", + "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task for Jobs created under this schedule.", + "description": "The primary purpose of the Job Release Task is to undo changes to Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation. A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Compute Nodes that have run the Job Preparation Task." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of common environment variable settings. These environment variables are set for all Tasks in Jobs created under this schedule (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Tasks of Jobs created under this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with each Job created under this schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + } + }, + "required": [ + "poolInfo" + ], + "title": "Specifies details of the Jobs to be created on a schedule." + }, + "RecentJob": { + "properties": { + "id": { + "type": "string", + "title": "The ID of the Job." + }, + "url": { + "type": "string", + "title": "The URL of the Job." + } + }, + "title": "Information about the most recent Job to run under the Job Schedule." + }, + "JobScheduleExecutionInformation": { + "properties": { + "nextRunTime": { + "type": "string", + "format": "date-time", + "title": "The next time at which a Job will be created under this schedule.", + "description": "This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no Job will be created at nextRunTime unless the Job is enabled before then." + }, + "recentJob": { + "$ref": "#/definitions/RecentJob", + "title": "Information about the most recent Job under the Job Schedule.", + "description": "This property is present only if the at least one Job has run under the schedule." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the schedule ended.", + "description": "This property is set only if the Job Schedule is in the completed state." + } + }, + "title": "Contains information about Jobs that have been and will be run under a Job Schedule." + }, + "JobScheduleStatistics": { + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of all the Tasks in all the Jobs created under the schedule.", + "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by all Tasks in all Jobs created under the schedule." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by all Tasks in all Jobs created under the schedule." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes read from disk by all Tasks in all Jobs created under the schedule." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes written to disk by all Tasks in all Jobs created under the schedule." + }, + "numSucceededTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks successfully completed during the given time range in Jobs created under the schedule. A Task completes successfully if it returns exit code 0." + }, + "numFailedTasks": { + "type": "integer", + "format": "int64", + "title": "The total number of Tasks that failed during the given time range in Jobs created under the schedule. A Task fails if it exhausts its maximum retry count without returning exit code 0." + }, + "numTaskRetries": { + "type": "integer", + "format": "int64", + "title": "The total number of retries during the given time range on all Tasks in all Jobs created under the schedule." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of all Tasks in all Jobs created under the schedule. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)", + "description": "This value is only reported in the Account lifetime statistics; it is not included in the Job statistics." + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "numSucceededTasks", + "numFailedTasks", + "numTaskRetries", + "waitTime" + ], + "title": "Resource usage statistics for a Job Schedule." + }, + "CloudJobSchedule": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the schedule within the Account." + }, + "displayName": { + "type": "string", + "title": "The display name for the schedule." + }, + "url": { + "type": "string", + "title": "The URL of the Job Schedule." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Job Schedule.", + "description": "This is an opaque string. You can use it to detect whether the Job Schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Job Schedule.", + "description": "This is the last time at which the schedule level data, such as the Job specification or recurrence information, changed. It does not factor in job-level changes such as new Jobs being created or Jobs changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Job Schedule." + }, + "state": { + "title": "The current state of the Job Schedule.", + "$ref": "#/definitions/JobScheduleState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Schedule entered the current state." + }, + "previousState": { + "title": "The previous state of the Job Schedule.", + "description": "This property is not present if the Job Schedule is in its initial active state.", + "$ref": "#/definitions/JobScheduleState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Schedule entered its previous state.", + "description": "This property is not present if the Job Schedule is in its initial active state." + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule." + }, + "executionInfo": { + "$ref": "#/definitions/JobScheduleExecutionInformation", + "title": "Information about Jobs that have been and will be run under this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "stats": { + "$ref": "#/definitions/JobScheduleStatistics", + "title": "The lifetime resource usage statistics for the Job Schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + } + }, + "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job." + }, + "JobScheduleAddParameter": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the schedule within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the schedule.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the schedule as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + } + }, + "required": [ + "id", + "schedule", + "jobSpecification" + ], + "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job." + }, + "CloudJobScheduleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudJobSchedule" + }, + "title": "The list of Job Schedules." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Job Schedules in an Account." + }, + "JobSchedulingError": { + "properties": { + "category": { + "title": "The category of the Job scheduling error.", + "$ref": "#/definitions/ErrorCategory" + }, + "code": { + "type": "string", + "title": "An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Job scheduling error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the scheduling error." + } + }, + "required": [ + "category" + ], + "title": "An error encountered by the Batch service when scheduling a Job." + }, + "JobExecutionInformation": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the Job.", + "description": "This is the time at which the Job was created." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The completion time of the Job.", + "description": "This property is set only if the Job is in the completed state." + }, + "poolId": { + "type": "string", + "title": "The ID of the Pool to which this Job is assigned.", + "description": "This element contains the actual Pool where the Job is assigned. When you get Job details from the service, they also contain a poolInfo element, which contains the Pool configuration data from when the Job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the Job ran on an auto Pool, and this property contains the ID of that auto Pool." + }, + "schedulingError": { + "$ref": "#/definitions/JobSchedulingError", + "title": "Details of any error encountered by the service in starting the Job.", + "description": "This property is not set if there was no error starting the Job." + }, + "terminateReason": { + "type": "string", + "title": "A string describing the reason the Job ended.", + "description": "This property is set only if the Job is in the completed state. If the Batch service terminates the Job, it sets the reason as follows: JMComplete - the Job Manager Task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the Job reached its maxWallClockTime constraint. TerminateJobSchedule - the Job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the Job's onAllTasksComplete attribute is set to terminatejob, and all Tasks in the Job are complete. TaskFailed - the Job's onTaskFailure attribute is set to performExitOptionsJobAction, and a Task in the Job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a Job' operation." + } + }, + "required": [ + "startTime" + ], + "title": "Contains information about the execution of a Job in the Azure Batch service." + }, + "CloudJob": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job within the Account.", + "description": "The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Job." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "url": { + "type": "string", + "title": "The URL of the Job." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Job.", + "description": "This is an opaque string. You can use it to detect whether the Job has changed between requests. In particular, you can be pass the ETag when updating a Job to specify that your changes should take effect only if nobody else has modified the Job in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Job.", + "description": "This is the last time at which the Job level data, such as the Job state or priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Job." + }, + "state": { + "title": "The current state of the Job.", + "$ref": "#/definitions/JobState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job entered its current state." + }, + "previousState": { + "title": "The previous state of the Job.", + "description": "This property is not set if the Job is in its initial Active state.", + "$ref": "#/definitions/JobState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job entered its previous state.", + "description": "This property is not set if the Job is in its initial Active state." + }, + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "Details of a Job Manager Task to be launched when the Job is started." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task.", + "description": "The Job Preparation Task is a special Task run on each Compute Node before any other Task of the Job." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task.", + "description": "The Job Release Task is a special Task run at the end of the Job on each Compute Node that has run any other Task of the Job." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool settings associated with the Job." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "executionInfo": { + "$ref": "#/definitions/JobExecutionInformation", + "title": "The execution information for the Job." + }, + "stats": { + "$ref": "#/definitions/JobStatistics", + "title": "Resource usage statistics for the entire lifetime of the Job.", + "description": "This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + } + }, + "title": "An Azure Batch Job." + }, + "JobAddParameter": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Job within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Job.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "description": "The execution constraints for the Job." + }, + "jobManagerTask": { + "$ref": "#/definitions/JobManagerTask", + "title": "Details of a Job Manager Task to be launched when the Job is started.", + "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job. The Job Manager Task's typical purpose is to control and/or monitor Job execution, for example by deciding what additional Tasks to run, determining when the work is complete, etc. (However, a Job Manager Task is not restricted to these activities - it is a fully-fledged Task in the system and perform whatever actions are required for the Job.) For example, a Job Manager Task might download a file specified as a parameter, analyze the contents of that file and submit additional Tasks based on those contents." + }, + "jobPreparationTask": { + "$ref": "#/definitions/JobPreparationTask", + "title": "The Job Preparation Task.", + "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node." + }, + "jobReleaseTask": { + "$ref": "#/definitions/JobReleaseTask", + "title": "The Job Release Task.", + "description": "A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Nodes that have run the Job Preparation Task. The primary purpose of the Job Release Task is to undo changes to Compute Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation." + }, + "commonEnvironmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).", + "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "onTaskFailure": { + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "$ref": "#/definitions/OnTaskFailure" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "usesTaskDependencies": { + "type": "boolean", + "title": "Whether Tasks in the Job can define dependencies on each other. The default is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + } + }, + "required": [ + "id", + "poolInfo" + ], + "title": "An Azure Batch Job to add." + }, + "CloudJobListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudJob" + }, + "title": "The list of Jobs." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Jobs in an Account." + }, + "TaskContainerExecutionInformation": { + "properties": { + "containerId": { + "type": "string", + "title": "The ID of the container." + }, + "state": { + "type": "string", + "title": "The state of the container.", + "description": "This is the state of the container according to the Docker service. It is equivalent to the status field returned by \"docker inspect\"." + }, + "error": { + "type": "string", + "title": "Detailed error information about the container.", + "description": "This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by \"docker inspect\"." + } + }, + "title": "Contains information about the container which a Task is executing." + }, + "TaskFailureInformation": { + "properties": { + "category": { + "title": "The category of the Task error.", + "$ref": "#/definitions/ErrorCategory" + }, + "code": { + "type": "string", + "title": "An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Task error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional details related to the error." + } + }, + "required": [ + "category" + ], + "title": "Information about a Task failure." + }, + "JobPreparationTaskExecutionInformation": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Preparation Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "state": { + "type": "string", + "title": "The current state of the Job Preparation Task on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "JobPreparationTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The Task is currently running (including retrying)." + }, + { + "value": "completed", + "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Job Preparation Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Job Preparation Task on the Compute Node." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service. Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Job Preparation Task started running.", + "description": "This property is set only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "startTime", + "retryCount", + "state" + ], + "title": "Contains information about the execution of a Job Preparation Task on a Compute Node." + }, + "JobReleaseTaskExecutionInformation": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Job Release Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "state": { + "type": "string", + "title": "The current state of the Job Release Task on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "JobReleaseTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The Task is currently running (including retrying)." + }, + { + "value": "completed", + "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Job Release Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Job Release Task on the Compute Node." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "startTime", + "state" + ], + "title": "Contains information about the execution of a Job Release Task on a Compute Node." + }, + "JobPreparationAndReleaseTaskExecutionInformation": { + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool containing the Compute Node to which this entry refers." + }, + "nodeId": { + "type": "string", + "title": "The ID of the Compute Node to which this entry refers." + }, + "nodeUrl": { + "type": "string", + "title": "The URL of the Compute Node to which this entry refers." + }, + "jobPreparationTaskExecutionInfo": { + "$ref": "#/definitions/JobPreparationTaskExecutionInformation", + "title": "Information about the execution status of the Job Preparation Task on this Compute Node." + }, + "jobReleaseTaskExecutionInfo": { + "$ref": "#/definitions/JobReleaseTaskExecutionInformation", + "title": "Information about the execution status of the Job Release Task on this Compute Node.", + "description": "This property is set only if the Job Release Task has run on the Compute Node." + } + }, + "title": "The status of the Job Preparation and Job Release Tasks on a Compute Node." + }, + "CloudJobListPreparationAndReleaseTaskStatusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobPreparationAndReleaseTaskExecutionInformation" + }, + "title": "A list of Job Preparation and Job Release Task execution information." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the status of the Job Preparation and Job Release Tasks for a Job." + }, + "TaskCountsResult": { + "properties": { + "taskCounts": { + "$ref": "#/definitions/TaskCounts", + "title": "The number of Tasks per state." + }, + "taskSlotCounts": { + "$ref": "#/definitions/TaskSlotCounts", + "title": "The number of TaskSlots required by Tasks per state." + } + }, + "required": [ + "taskCounts", + "taskSlotCounts" + ], + "title": "The Task and TaskSlot counts for a Job." + }, + "TaskCounts": { + "properties": { + "active": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the active state." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the running or preparing state." + }, + "completed": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks in the completed state." + }, + "succeeded": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks which succeeded. A Task succeeds if its result (found in the executionInfo property) is 'success'." + }, + "failed": { + "type": "integer", + "format": "int32", + "title": "The number of Tasks which failed. A Task fails if its result (found in the executionInfo property) is 'failure'." + } + }, + "required": [ + "active", + "running", + "completed", + "succeeded", + "failed" + ], + "title": "The Task counts for a Job." + }, + "TaskSlotCounts": { + "properties": { + "active": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for active Tasks." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for running Tasks." + }, + "completed": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for completed Tasks." + }, + "succeeded": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for succeeded Tasks." + }, + "failed": { + "type": "integer", + "format": "int32", + "title": "The number of TaskSlots for failed Tasks." + } + }, + "required": [ + "active", + "running", + "completed", + "succeeded", + "failed" + ], + "title": "The TaskSlot counts for a Job." + }, + "AutoScaleRunError": { + "properties": { + "code": { + "type": "string", + "title": "An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the autoscale error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the autoscale error." + } + }, + "title": "An error that occurred when executing or evaluating a Pool autoscale formula." + }, + "AutoScaleRun": { + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "title": "The time at which the autoscale formula was last evaluated." + }, + "results": { + "type": "string", + "title": "The final values of all variables used in the evaluation of the autoscale formula.", + "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons." + }, + "error": { + "$ref": "#/definitions/AutoScaleRunError", + "title": "Details of the error encountered evaluating the autoscale formula on the Pool, if the evaluation was unsuccessful." + } + }, + "required": [ + "timestamp" + ], + "title": "The results and errors from an execution of a Pool autoscale formula." + }, + "ResizeError": { + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Pool resize error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Pool resize error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "A list of additional error details related to the Pool resize error." + } + }, + "title": "An error that occurred when resizing a Pool." + }, + "CloudServiceConfiguration": { + "properties": { + "osFamily": { + "type": "string", + "title": "The Azure Guest OS family to be installed on the virtual machines in the Pool.", + "description": "Possible values are:\n2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.\n3 - OS Family 3, equivalent to Windows Server 2012.\n4 - OS Family 4, equivalent to Windows Server 2012 R2.\n5 - OS Family 5, equivalent to Windows Server 2016.\n6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + }, + "osVersion": { + "type": "string", + "title": "The Azure Guest OS version to be installed on the virtual machines in the Pool.", + "description": "The default value is * which specifies the latest operating system version for the specified OS family." + } + }, + "required": [ + "osFamily" + ], + "title": "The configuration for Compute Nodes in a Pool based on the Azure Cloud Services platform." + }, + "ImageReference": { + "properties": { + "publisher": { + "type": "string", + "title": "The publisher of the Azure Virtual Machines Marketplace Image.", + "description": "For example, Canonical or MicrosoftWindowsServer." + }, + "offer": { + "type": "string", + "title": "The offer type of the Azure Virtual Machines Marketplace Image.", + "description": "For example, UbuntuServer or WindowsServer." + }, + "sku": { + "type": "string", + "title": "The SKU of the Azure Virtual Machines Marketplace Image.", + "description": "For example, 18.04-LTS or 2019-Datacenter." + }, + "version": { + "type": "string", + "title": "The version of the Azure Virtual Machines Marketplace Image.", + "description": "A value of 'latest' can be specified to select the latest version of an Image. If omitted, the default is 'latest'." + }, + "virtualMachineImageId": { + "type": "string", + "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version.", + "description": "This property is mutually exclusive with other ImageReference properties. The Shared Image Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + } + }, + "title": "A reference to an Azure Virtual Machines Marketplace Image or a Shared Image Gallery Image. To get the list of all Azure Marketplace Image references verified by Azure Batch, see the 'List Supported Images' operation." + }, + "WindowsConfiguration": { + "properties": { + "enableAutomaticUpdates": { + "type": "boolean", + "title": "Whether automatic updates are enabled on the virtual machine.", + "description": "If omitted, the default value is true." + } + }, + "title": "Windows operating system settings to apply to the virtual machine." + }, + "DataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "title": "The logical unit number.", + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "The type of caching to be enabled for the data disks.", + "description": "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in gigabytes." + }, + "storageAccountType": { + "title": "The storage Account type to be used for the data disk.", + "description": "If omitted, the default is \"standard_lrs\".", + "$ref": "#/definitions/StorageAccountType" + } + }, + "required": [ + "lun", + "diskSizeGB" + ], + "title": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." + }, + "StorageAccountType": { + "type": "string", + "title": "The storage Account type for use in creating data disks.", + "enum": [ + "standard_lrs", + "premium_lrs" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": false, + "values": [ + { + "value": "standard_lrs", + "description": "The data disk should use standard locally redundant storage.", + "name": "StandardLRS" + }, + { + "value": "premium_lrs", + "description": "The data disk should use premium locally redundant storage.", + "name": "PremiumLRS" + } + ] + } + }, + "CachingType": { + "type": "string", + "title": "The type of caching to enable for the disk.", + "description": "The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.", + "enum": [ + "none", + "readonly", + "readwrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "readonly", + "description": "The caching mode for the disk is read only.", + "name": "readOnly" + }, + { + "value": "readwrite", + "description": "The caching mode for the disk is read and write.", + "name": "readWrite" + } + ] + } + }, + "VirtualMachineConfiguration": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use." + }, + "nodeAgentSKUId": { + "type": "string", + "title": "The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the Pool.", + "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "title": "Windows operating system settings on the virtual machine.", + "description": "This property must not be specified if the imageReference property specifies a Linux OS Image." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "title": "The configuration for data disks attached to the Compute Nodes in the Pool.", + "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine." + }, + "licenseType": { + "type": "string", + "title": "The type of on-premises license to be used when deploying the operating system.", + "description": "This only applies to Images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the Compute Nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n" + }, + "containerConfiguration": { + "$ref": "#/definitions/ContainerConfiguration", + "title": "The container configuration for the Pool.", + "description": "If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + } + }, + "required": [ + "nodeAgentSKUId", + "imageReference" + ], + "title": "The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines infrastructure." + }, + "ContainerRegistry": { + "properties": { + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The user name to log into the registry server." + }, + "password": { + "type": "string", + "title": "The password to log into the registry server." + } + }, + "required": [ + "username", + "password" + ], + "title": "A private container registry." + }, + "ContainerConfiguration": { + "properties": { + "type": { + "type": "string", + "title": "The container technology to be used.", + "enum": [ + "dockerCompatible" + ], + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false, + "values": [ + { + "value": "dockerCompatible", + "description": "A Docker compatible container technology will be used to launch the containers." + } + ] + } + }, + "containerImageNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of container Image names.", + "description": "This is the full Image reference, as would be specified to \"docker pull\". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry." + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "title": "Additional private registries from which containers can be pulled.", + "description": "If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." + } + }, + "required": [ + "type" + ], + "title": "The configuration for container-enabled Pools." + }, + "DiskEncryptionConfiguration": { + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "A disk to encrypt.", + "enum": [ + "osdisk", + "temporarydisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "osdisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "OsDisk" + }, + { + "value": "temporarydisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Shared Image Gallery Image." + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Pool.", + "enum": [ + "batchmanaged", + "usermanaged", + "nopublicipaddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "batchmanaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool.", + "name": "batchManaged" + }, + { + "value": "usermanaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes.", + "name": "userManaged" + }, + { + "value": "nopublicipaddresses", + "description": "No public IP Address will be created.", + "name": "noPublicIPAddresses" + } + ] + } + }, + "PublicIPAddressConfiguration": { + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the Pool.", + "description": "The default value is BatchManaged." + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, + "NetworkConfiguration": { + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for Pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For Pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNETs" + } + }, + "dynamicVNetAssignmentScope": { + "type": "string", + "title": "The scope of dynamic vnet assignment.", + "enum": [ + "none", + "job" + ], + "x-ms-enum": { + "name": "DynamicVNetAssignmentScope", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "No dynamic VNet assignment is enabled." + }, + { + "value": "job", + "description": "Dynamic VNet assignment is done per-job." + } + ] + } + }, + "endpointConfiguration": { + "$ref": "#/definitions/PoolEndpointConfiguration", + "title": "The configuration for endpoints on Compute Nodes in the Batch Pool.", + "description": "Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property." + } + }, + "description": "The network configuration for a Pool." + }, + "CloudPool": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Pool within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "url": { + "type": "string", + "title": "The URL of the Pool." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Pool.", + "description": "This is an opaque string. You can use it to detect whether the Pool has changed between requests. In particular, you can be pass the ETag when updating a Pool to specify that your changes should take effect only if nobody else has modified the Pool in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Pool.", + "description": "This is the last time at which the Pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a Compute Node changing state." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Pool." + }, + "state": { + "type": "string", + "title": "The current state of the Pool.", + "enum": [ + "active", + "deleting" + ], + "x-ms-enum": { + "name": "PoolState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Pool is available to run Tasks subject to the availability of Compute Nodes." + }, + { + "value": "deleting", + "description": "The user has requested that the Pool be deleted, but the delete operation has not yet completed." + } + ] + } + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Pool entered its current state." + }, + "allocationState": { + "type": "string", + "title": "Whether the Pool is resizing.", + "enum": [ + "steady", + "resizing", + "stopping" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false, + "values": [ + { + "value": "steady", + "description": "The Pool is not resizing. There are no changes to the number of Compute Nodes in the Pool in progress. A Pool enters this state when it is created and when no operations are being performed on the Pool to change the number of Compute Nodes." + }, + { + "value": "resizing", + "description": "The Pool is resizing; that is, Compute Nodes are being added to or removed from the Pool." + }, + { + "value": "stopping", + "description": "The Pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed." + } + ] + } + }, + "allocationStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Pool entered its current allocation state." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This is the timeout for the most recent resize operation. (The initial sizing when the Pool is created counts as a resize.) The default value is 15 minutes." + }, + "resizeErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "A list of errors encountered while performing the last resize on the Pool.", + "description": "This property is set only if one or more errors occurred during the last Pool resize, and only when the Pool allocationState is Steady." + }, + "currentDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The number of dedicated Compute Nodes currently in the Pool." + }, + "currentLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The number of low-priority Compute Nodes currently in the Pool.", + "description": "Low-priority Compute Nodes which have been preempted are included in this count." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority Compute Nodes in the Pool." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "A formula for the desired number of Compute Nodes in the Pool.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "autoScaleRun": { + "$ref": "#/definitions/AutoScaleRun", + "title": "The results and errors from the last execution of the autoscale formula.", + "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "This imposes restrictions on which Compute Nodes can be assigned to the Pool. Specifying this value can reduce the chance of the requested number of Compute Nodes to be allocated in the Pool." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task specified to run on each Compute Node as it joins the Pool." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata." + }, + "stats": { + "$ref": "#/definitions/PoolStatistics", + "title": "Utilization and resource usage statistics for the entire lifetime of the Pool.", + "description": "This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + } + }, + "title": "A Pool in the Azure Batch service." + }, + "PoolAddParameter": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Pool within the Account.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", + "description": "For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the Pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Compute Nodes to the Pool.", + "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both." + }, + "enableAutoScale": { + "type": "boolean", + "title": "Whether the Pool size should automatically adjust over time.", + "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false." + }, + "autoScaleFormula": { + "type": "string", + "title": "A formula for the desired number of Compute Nodes in the Pool.", + "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/)." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task specified to run on each Compute Node as it joins the Pool.", + "description": "The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates to be installed on each Compute Node in the Pool.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "Mount storage using specified file system for the entire lifetime of the pool.", + "description": "Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system." + } + }, + "required": [ + "id", + "vmSize" + ], + "title": "A Pool in the Azure Batch service to add." + }, + "ApplicationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationSummary" + }, + "title": "The list of applications available in the Account." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the applications available in an Account." + }, + "CloudPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudPool" + }, + "title": "The list of Pools." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Pools in an Account." + }, + "AffinityInformation": { + "properties": { + "affinityId": { + "type": "string", + "title": "An opaque string representing the location of a Compute Node or a Task that has run previously.", + "description": "You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere." + } + }, + "required": [ + "affinityId" + ], + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start a Task." + }, + "TaskExecutionInformation": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task started running.", + "description": "'Running' corresponds to the running state, so if the Task specifies resource files or Packages, then the start time reflects the time at which the Task started downloading or deploying these. If the Task has been restarted or retried, this is the most recent time at which the Task started running. This property is present only for Tasks that are in the running or completed state." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task completed.", + "description": "This property is set only if the Task is in the Completed state." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the Task command line.", + "description": "This property is set only if the Task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the Task (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Task started running.", + "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "requeueCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been requeued by the Batch service as the result of a user request.", + "description": "When the user removes Compute Nodes from a Pool (by resizing/shrinking the pool) or when the Job is being disabled, the user can specify that running Tasks on the Compute Nodes be requeued for execution. This count tracks how many times the Task has been requeued for these reasons." + }, + "lastRequeueTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which the Task has been requeued by the Batch service as the result of a user request.", + "description": "This property is set only if the requeueCount is nonzero." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "requeueCount", + "retryCount" + ], + "title": "Information about the execution of a Task." + }, + "ComputeNodeInformation": { + "properties": { + "affinityId": { + "type": "string", + "title": "An identifier for the Node on which the Task ran, which can be passed when adding a Task to request that the Task be scheduled on this Compute Node." + }, + "nodeUrl": { + "type": "string", + "title": "The URL of the Compute Node on which the Task ran. " + }, + "poolId": { + "type": "string", + "title": "The ID of the Pool on which the Task ran." + }, + "nodeId": { + "type": "string", + "title": "The ID of the Compute Node on which the Task ran." + }, + "taskRootDirectory": { + "type": "string", + "title": "The root directory of the Task on the Compute Node." + }, + "taskRootDirectoryUrl": { + "type": "string", + "title": "The URL to the root directory of the Task on the Compute Node." + } + }, + "title": "Information about the Compute Node on which a Task ran." + }, + "NodeAgentInformation": { + "properties": { + "version": { + "type": "string", + "title": "The version of the Batch Compute Node agent running on the Compute Node.", + "description": "This version number can be checked against the Compute Node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time when the Compute Node agent was updated on the Compute Node.", + "description": "This is the most recent time that the Compute Node agent was updated to a new version." + } + }, + "required": [ + "version", + "lastUpdateTime" + ], + "title": "Information about the Compute Node agent.", + "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool and provides Batch capability on the Compute Node." + }, + "MultiInstanceSettings": { + "properties": { + "numberOfInstances": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes required by the Task.", + "description": "If omitted, the default is 1." + }, + "coordinationCommandLine": { + "type": "string", + "title": "The command line to run on all the Compute Nodes to enable them to coordinate when the primary runs the main Task command.", + "description": "A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages." + }, + "commonResourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download before running the coordination command line.", + "description": "The difference between common resource files and Task resource files is that common resource files are downloaded for all subtasks including the primary, whereas Task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the Task working directory, but instead are downloaded to the Task root directory (one directory above the working directory). There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + } + }, + "required": [ + "coordinationCommandLine" + ], + "title": "Settings which specify how to run a multi-instance Task.", + "description": "Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, if any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire multi-instance Task fails. The multi-instance Task is then terminated and retried, up to its retry limit." + }, + "TaskStatistics": { + "properties": { + "url": { + "type": "string", + "title": "The URL of the statistics." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start time of the time range covered by the statistics." + }, + "lastUpdateTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime." + }, + "userCPUTime": { + "type": "string", + "format": "duration", + "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task." + }, + "kernelCPUTime": { + "type": "string", + "format": "duration", + "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task." + }, + "wallClockTime": { + "type": "string", + "format": "duration", + "title": "The total wall clock time of the Task.", + "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If the Task was retried, this includes the wall clock time of all the Task retries." + }, + "readIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk read operations made by the Task." + }, + "writeIOps": { + "type": "integer", + "format": "int64", + "title": "The total number of disk write operations made by the Task." + }, + "readIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes read from disk by the Task." + }, + "writeIOGiB": { + "type": "number", + "format": "double", + "title": "The total gibibytes written to disk by the Task." + }, + "waitTime": { + "type": "string", + "format": "duration", + "title": "The total wait time of the Task. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)" + } + }, + "required": [ + "url", + "startTime", + "lastUpdateTime", + "userCPUTime", + "kernelCPUTime", + "wallClockTime", + "readIOps", + "writeIOps", + "readIOGiB", + "writeIOGiB", + "waitTime" + ], + "title": "Resource usage statistics for a Task." + }, + "TaskDependencies": { + "properties": { + "taskIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of Task IDs that this Task depends on. All Tasks in this list must complete successfully before the dependent Task can be scheduled.", + "description": "The taskIds collection is limited to 64000 characters total (i.e. the combined length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using Task ID ranges instead." + }, + "taskIdRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskIdRange" + }, + "title": "The list of Task ID ranges that this Task depends on. All Tasks in all ranges must complete successfully before the dependent Task can be scheduled." + } + }, + "title": "Specifies any dependencies of a Task. Any Task that is explicitly specified or within a dependency range must complete before the dependant Task will be scheduled." + }, + "TaskIdRange": { + "properties": { + "start": { + "type": "integer", + "format": "int32", + "title": "The first Task ID in the range." + }, + "end": { + "type": "integer", + "format": "int32", + "title": "The last Task ID in the range." + } + }, + "title": "A range of Task IDs that a Task can depend on. All Tasks with IDs in the range must complete successfully before the dependent Task can be scheduled.", + "description": "The start and end of the range are inclusive. For example, if a range has start 9 and end 12, then it represents Tasks '9', '10', '11' and '12'.", + "required": [ + "start", + "end" + ] + }, + "CloudTask": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters." + }, + "displayName": { + "type": "string", + "title": "A display name for the Task.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "url": { + "type": "string", + "title": "The URL of the Task." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Task.", + "description": "This is an opaque string. You can use it to detect whether the Task has changed between requests. In particular, you can be pass the ETag when updating a Task to specify that your changes should take effect only if nobody else has modified the Task in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Task." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the Task." + }, + "exitConditions": { + "$ref": "#/definitions/ExitConditions", + "description": "How the Batch service should respond when the Task completes." + }, + "state": { + "title": "The current state of the Task.", + "$ref": "#/definitions/TaskState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task entered its current state." + }, + "previousState": { + "title": "The previous state of the Task.", + "description": "This property is not set if the Task is in its initial Active state.", + "$ref": "#/definitions/TaskState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Task entered its previous state.", + "description": "This property is not set if the Task is in its initial Active state." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Task.", + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Task." + }, + "affinityInfo": { + "$ref": "#/definitions/AffinityInformation", + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "The execution constraints that apply to this Task." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task requires to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "executionInfo": { + "$ref": "#/definitions/TaskExecutionInformation", + "title": "Information about the execution of the Task." + }, + "nodeInfo": { + "$ref": "#/definitions/ComputeNodeInformation", + "title": "Information about the Compute Node on which the Task ran." + }, + "multiInstanceSettings": { + "$ref": "#/definitions/MultiInstanceSettings", + "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task." + }, + "stats": { + "$ref": "#/definitions/TaskStatistics", + "title": "Resource usage statistics for the Task." + }, + "dependsOn": { + "$ref": "#/definitions/TaskDependencies", + "title": "The Tasks that this Task depends on.", + "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + } + }, + "title": "An Azure Batch Task.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "TaskAddParameter": { + "properties": { + "id": { + "type": "string", + "title": "A string that uniquely identifies the Task within the Job.", + "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case)." + }, + "displayName": { + "type": "string", + "title": "A display name for the Task.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "commandLine": { + "type": "string", + "title": "The command line of the Task.", + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the Task runs.", + "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files." + }, + "exitConditions": { + "$ref": "#/definitions/ExitConditions", + "description": "How the Batch service should respond when the Task completes." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the Compute Node before running the command line.", + "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers." + }, + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.", + "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the Task." + }, + "affinityInfo": { + "$ref": "#/definitions/AffinityInformation", + "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task." + }, + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "The execution constraints that apply to this Task.", + "description": "If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days." + }, + "requiredSlots": { + "type": "integer", + "format": "int32", + "title": "The number of scheduling slots that the Task required to run.", + "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the Task runs.", + "description": "If omitted, the Task runs as a non-administrative user unique to the Task." + }, + "multiInstanceSettings": { + "$ref": "#/definitions/MultiInstanceSettings", + "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task." + }, + "dependsOn": { + "$ref": "#/definitions/TaskDependencies", + "title": "The Tasks that this Task depends on.", + "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled. If the Job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.", + "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails." + }, + "authenticationTokenSettings": { + "title": "The settings for an authentication token that the Task can use to perform Batch service operations.", + "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.", + "$ref": "#/definitions/AuthenticationTokenSettings" + } + }, + "required": [ + "id", + "commandLine" + ], + "title": "An Azure Batch Task to add.", + "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing." + }, + "TaskAddCollectionParameter": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskAddParameter" + }, + "maxItems": 100, + "title": "The collection of Tasks to add. The maximum count of Tasks is 100.", + "description": "The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each Task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer Tasks." + } + }, + "required": [ + "value" + ], + "title": "A collection of Azure Batch Tasks to add." + }, + "TaskAddResult": { + "properties": { + "status": { + "type": "string", + "title": "The status of the add Task request.", + "enum": [ + "success", + "clienterror", + "servererror" + ], + "x-ms-enum": { + "name": "TaskAddStatus", + "modelAsString": false, + "values": [ + { + "value": "success", + "description": "The Task was added successfully." + }, + { + "value": "clienterror", + "description": "The Task failed to add due to a client error and should not be retried without modifying the request as appropriate.", + "name": "clientError" + }, + { + "value": "servererror", + "description": "Task failed to add due to a server error and can be retried without modification.", + "name": "serverError" + } + ] + } + }, + "taskId": { + "type": "string", + "title": "The ID of the Task for which this is the result." + }, + "eTag": { + "type": "string", + "title": "The ETag of the Task, if the Task was successfully added.", + "description": "You can use this to detect whether the Task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the Job in the meantime." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the Task." + }, + "location": { + "type": "string", + "title": "The URL of the Task, if the Task was successfully added." + }, + "error": { + "$ref": "#/definitions/BatchError", + "title": "The error encountered while attempting to add the Task." + } + }, + "required": [ + "status", + "taskId" + ], + "title": "Result for a single Task added as part of an add Task collection operation." + }, + "TaskAddCollectionResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskAddResult" + }, + "title": "The results of the add Task collection operation." + } + }, + "title": "The result of adding a collection of Tasks to a Job." + }, + "SubtaskInformation": { + "properties": { + "id": { + "type": "integer", + "format": "int32", + "title": "The ID of the subtask." + }, + "nodeInfo": { + "$ref": "#/definitions/ComputeNodeInformation", + "title": "Information about the Compute Node on which the subtask ran." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask completed.", + "description": "This property is set only if the subtask is in the Completed state." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the subtask command line.", + "description": "This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "state": { + "title": "The current state of the subtask.", + "$ref": "#/definitions/SubtaskState" + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask entered its current state." + }, + "previousState": { + "title": "The previous state of the subtask.", + "description": "This property is not set if the subtask is in its initial running state.", + "$ref": "#/definitions/SubtaskState" + }, + "previousStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the subtask entered its previous state.", + "description": "This property is not set if the subtask is in its initial running state." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "title": "Information about an Azure Batch subtask." + }, + "CloudTaskListSubtasksResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SubtaskInformation" + }, + "title": "The list of subtasks." + } + }, + "title": "The result of listing the subtasks of a Task." + }, + "CloudTaskListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudTask" + }, + "title": "The list of Tasks." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Tasks in a Job." + }, + "TaskInformation": { + "properties": { + "taskUrl": { + "type": "string", + "title": "The URL of the Task." + }, + "jobId": { + "type": "string", + "title": "The ID of the Job to which the Task belongs." + }, + "taskId": { + "type": "string", + "title": "The ID of the Task." + }, + "subtaskId": { + "type": "integer", + "format": "int32", + "title": "The ID of the subtask if the Task is a multi-instance Task." + }, + "taskState": { + "title": "The current state of the Task.", + "$ref": "#/definitions/TaskState" + }, + "executionInfo": { + "$ref": "#/definitions/TaskExecutionInformation", + "title": "Information about the execution of the Task." + } + }, + "required": [ + "taskState" + ], + "title": "Information about a Task running on a Compute Node." + }, + "StartTaskInformation": { + "properties": { + "state": { + "type": "string", + "title": "The state of the StartTask on the Compute Node.", + "enum": [ + "running", + "completed" + ], + "x-ms-enum": { + "name": "StartTaskState", + "modelAsString": false, + "values": [ + { + "value": "running", + "description": "The StartTask is currently running." + }, + { + "value": "completed", + "description": "The StartTask has exited with exit code 0, or the StartTask has failed and the retry limit has reached, or the StartTask process did not run due to Task preparation errors (such as resource file download failures)." + } + ] + } + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the StartTask started running.", + "description": "This value is reset every time the Task is restarted or retried (that is, this is the most recent time at which the StartTask started running)." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the StartTask stopped running.", + "description": "This is the end time of the most recent run of the StartTask, if that run has completed (even if that run failed and a retry is pending). This element is not present if the StartTask is currently running." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "title": "The exit code of the program specified on the StartTask command line.", + "description": "This property is set only if the StartTask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the StartTask (due to timeout, or user termination via the API) you may see an operating system-defined exit code." + }, + "containerInfo": { + "$ref": "#/definitions/TaskContainerExecutionInformation", + "title": "Information about the container under which the Task is executing.", + "description": "This property is set only if the Task runs in a container context." + }, + "failureInfo": { + "$ref": "#/definitions/TaskFailureInformation", + "title": "Information describing the Task failure, if any.", + "description": "This property is set only if the Task is in the completed state and encountered a failure." + }, + "retryCount": { + "type": "integer", + "format": "int32", + "title": "The number of times the Task has been retried by the Batch service.", + "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints." + }, + "lastRetryTime": { + "type": "string", + "format": "date-time", + "title": "The most recent time at which a retry of the Task started running.", + "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not." + }, + "result": { + "$ref": "#/definitions/TaskExecutionResult", + "title": "The result of the Task execution.", + "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property." + } + }, + "required": [ + "state", + "startTime", + "retryCount" + ], + "title": "Information about a StartTask running on a Compute Node." + }, + "ComputeNodeError": { + "properties": { + "code": { + "type": "string", + "title": "An identifier for the Compute Node error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "title": "A message describing the Compute Node error, intended to be suitable for display in a user interface." + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + }, + "title": "The list of additional error details related to the Compute Node error." + } + }, + "title": "An error encountered by a Compute Node." + }, + "ComputeNode": { + "properties": { + "id": { + "type": "string", + "title": "The ID of the Compute Node.", + "description": "Every Compute Node that is added to a Pool is assigned a unique ID. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new Compute Nodes." + }, + "url": { + "type": "string", + "title": "The URL of the Compute Node." + }, + "state": { + "type": "string", + "title": "The current state of the Compute Node.", + "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available.", + "enum": [ + "idle", + "rebooting", + "reimaging", + "running", + "unusable", + "creating", + "starting", + "waitingforstarttask", + "starttaskfailed", + "unknown", + "leavingpool", + "offline", + "preempted" + ], + "x-ms-enum": { + "name": "ComputeNodeState", + "modelAsString": false, + "values": [ + { + "value": "idle", + "description": "The Compute Node is not currently running a Task." + }, + { + "value": "rebooting", + "description": "The Compute Node is rebooting." + }, + { + "value": "reimaging", + "description": "The Compute Node is reimaging." + }, + { + "value": "running", + "description": "The Compute Node is running one or more Tasks (other than a StartTask)." + }, + { + "value": "unusable", + "description": "The Compute Node cannot be used for Task execution due to errors." + }, + { + "value": "creating", + "description": "The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the Pool." + }, + { + "value": "starting", + "description": "The Batch service is starting on the underlying virtual machine." + }, + { + "value": "waitingforstarttask", + "description": "The StartTask has started running on the Compute Node, but waitForSuccess is set and the StartTask has not yet completed.", + "name": "waitingForStartTask" + }, + { + "value": "starttaskfailed", + "description": "The StartTask has failed on the Compute Node (and exhausted all retries), and waitForSuccess is set. The Compute Node is not usable for running Tasks.", + "name": "startTaskFailed" + }, + { + "value": "unknown", + "description": "The Batch service has lost contact with the Compute Node, and does not know its true state." + }, + { + "value": "leavingpool", + "description": "The Compute Node is leaving the Pool, either because the user explicitly removed it or because the Pool is resizing or autoscaling down.", + "name": "leavingPool" + }, + { + "value": "offline", + "description": "The Compute Node is not currently running a Task, and scheduling of new Tasks to the Compute Node is disabled." + }, + { + "value": "preempted", + "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available." + } + ] + } + }, + "schedulingState": { + "type": "string", + "title": "Whether the Compute Node is available for Task scheduling.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "SchedulingState", + "modelAsString": false, + "values": [ + { + "value": "enabled", + "description": "Tasks can be scheduled on the Compute Node." + }, + { + "value": "disabled", + "description": "No new Tasks will be scheduled on the Compute Node. Tasks already running on the Compute Node may still run to completion. All Compute Nodes start with scheduling enabled." + } + ] + } + }, + "stateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Compute Node entered its current state." + }, + "lastBootTime": { + "type": "string", + "format": "date-time", + "title": "The last time at which the Compute Node was started.", + "description": "This property may not be present if the Compute Node state is unusable." + }, + "allocationTime": { + "type": "string", + "format": "date-time", + "title": "The time at which this Compute Node was allocated to the Pool.", + "description": "This is the time when the Compute Node was initially allocated and doesn't change once set. It is not updated when the Compute Node is service healed or preempted." + }, + "ipAddress": { + "type": "string", + "title": "The IP address that other Nodes can use to communicate with this Compute Node.", + "description": "Every Compute Node that is added to a Pool is assigned a unique IP address. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new Compute Nodes." + }, + "affinityId": { + "type": "string", + "title": "An identifier which can be passed when adding a Task to request that the Task be scheduled on this Compute Node.", + "description": "Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere." + }, + "vmSize": { + "type": "string", + "title": "The size of the virtual machine hosting the Compute Node.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." + }, + "totalTasksRun": { + "type": "integer", + "format": "int32", + "title": "The total number of Job Tasks completed on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "runningTasksCount": { + "type": "integer", + "format": "int32", + "title": "The total number of currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "runningTaskSlotsCount": { + "type": "integer", + "format": "int32", + "title": "The total number of scheduling slots used by currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "totalTasksSucceeded": { + "type": "integer", + "format": "int32", + "title": "The total number of Job Tasks which completed successfully (with exitCode 0) on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks." + }, + "recentTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/TaskInformation" + }, + "title": "A list of Tasks whose state has recently changed.", + "description": "This property is present only if at least one Task has run on this Compute Node since it was assigned to the Pool." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "The Task specified to run on the Compute Node as it joins the Pool." + }, + "startTaskInfo": { + "$ref": "#/definitions/StartTaskInformation", + "title": "Runtime information about the execution of the StartTask on the Compute Node." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of Certificates installed on the Compute Node.", + "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/ComputeNodeError" + }, + "title": "The list of errors that are currently being encountered by the Compute Node." + }, + "isDedicated": { + "type": "boolean", + "title": "Whether this Compute Node is a dedicated Compute Node. If false, the Compute Node is a low-priority Compute Node." + }, + "endpointConfiguration": { + "$ref": "#/definitions/ComputeNodeEndpointConfiguration", + "title": "The endpoint configuration for the Compute Node." + }, + "nodeAgentInfo": { + "$ref": "#/definitions/NodeAgentInformation", + "title": "Information about the Compute Node agent version and the time the Compute Node upgraded to a new version." + } + }, + "title": "A Compute Node in the Batch service." + }, + "PoolEndpointConfiguration": { + "properties": { + "inboundNATPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNATPool" + }, + "title": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally.", + "description": "The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." + } + }, + "required": [ + "inboundNATPools" + ], + "title": "The endpoint configuration for a Pool." + }, + "InboundNATPool": { + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint.", + "description": "The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400." + }, + "protocol": { + "$ref": "#/definitions/InboundEndpointProtocol", + "title": "The protocol of the endpoint." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The port number on the Compute Node.", + "description": "This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "networkSecurityGroupRules": { + "type": "array", + "title": "A list of network security group rules that will be applied to the endpoint.", + "description": "The maximum number of rules that can be specified across all the endpoints on a Batch Pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", + "items": { + "$ref": "#/definitions/NetworkSecurityGroupRule" + } + } + }, + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], + "title": "A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a Batch Pool externally." + }, + "NetworkSecurityGroupRule": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority for this rule.", + "description": "Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + }, + "access": { + "type": "string", + "title": "The action that should be taken for a specified IP address, subnet range or tag.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "NetworkSecurityGroupRuleAccess", + "modelAsString": false, + "values": [ + { + "value": "allow", + "description": "Allow access." + }, + { + "value": "deny", + "description": "Deny access." + } + ] + } + }, + "sourceAddressPrefix": { + "type": "string", + "title": "The source address prefix or tag to match for the rule.", + "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535), a specific port (i.e. 22), or a port range (i.e. 100-200). The ports must be in the range of 0 to 65535. Each entry in this collection must not overlap any other entry (either a range or an individual port). If any other values are provided the request fails with HTTP status code 400. The default value is '*'." + } + }, + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], + "title": "A network security group rule to apply to an inbound endpoint." + }, + "ComputeNodeEndpointConfiguration": { + "properties": { + "inboundEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundEndpoint" + }, + "title": "The list of inbound endpoints that are accessible on the Compute Node." + } + }, + "required": [ + "inboundEndpoints" + ], + "title": "The endpoint configuration for the Compute Node." + }, + "InboundEndpoint": { + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint." + }, + "protocol": { + "$ref": "#/definitions/InboundEndpointProtocol", + "title": "The protocol of the endpoint." + }, + "publicIPAddress": { + "type": "string", + "title": "The public IP address of the Compute Node." + }, + "publicFQDN": { + "type": "string", + "title": "The public fully qualified domain name for the Compute Node." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "title": "The public port number of the endpoint." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The backend port number of the endpoint." + } + }, + "required": [ + "name", + "protocol", + "publicIPAddress", + "publicFQDN", + "frontendPort", + "backendPort" + ], + "title": "An inbound endpoint on a Compute Node." + }, + "ComputeNodeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ComputeNode" + }, + "title": "The list of Compute Nodes." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Compute Nodes in a Pool." + }, + "ComputeNodeUser": { + "properties": { + "name": { + "type": "string", + "title": "The user name of the Account." + }, + "isAdmin": { + "type": "boolean", + "title": "Whether the Account should be an administrator on the Compute Node.", + "description": "The default value is false." + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Account should expire.", + "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day." + }, + "password": { + "type": "string", + "title": "The password of the Account.", + "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property." + }, + "sshPublicKey": { + "type": "string", + "title": "The SSH public key that can be used for remote login to the Compute Node.", + "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + } + }, + "required": [ + "name" + ], + "title": "A user Account for RDP or SSH access on a Compute Node." + }, + "ComputeNodeGetRemoteLoginSettingsResult": { + "properties": { + "remoteLoginIPAddress": { + "type": "string", + "title": "The IP address used for remote login to the Compute Node." + }, + "remoteLoginPort": { + "type": "integer", + "format": "int32", + "title": "The port used for remote login to the Compute Node." + } + }, + "required": [ + "remoteLoginIPAddress", + "remoteLoginPort" + ], + "title": "The remote login settings for a Compute Node." + }, + "JobSchedulePatchParameter": { + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "If you do not specify this element, the existing schedule is left unchanged." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "The details of the Jobs to be created on this schedule.", + "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job Schedule as metadata.", + "description": "If you do not specify this element, existing metadata is left unchanged." + } + }, + "title": "The set of changes to be made to a Job Schedule." + }, + "JobScheduleUpdateParameter": { + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "title": "The schedule according to which Jobs will be created.", + "description": "If you do not specify this element, it is equivalent to passing the default schedule: that is, a single Job scheduled to run immediately." + }, + "jobSpecification": { + "$ref": "#/definitions/JobSpecification", + "title": "Details of the Jobs to be created on this schedule.", + "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job Schedule as metadata.", + "description": "If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted." + } + }, + "required": [ + "schedule", + "jobSpecification" + ], + "title": "The set of changes to be made to a Job Schedule." + }, + "JobDisableParameter": { + "properties": { + "disableTasks": { + "type": "string", + "title": "What to do with active Tasks associated with the Job.", + "enum": [ + "requeue", + "terminate", + "wait" + ], + "x-ms-enum": { + "name": "DisableJobOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again." + }, + { + "value": "wait", + "description": "Allow currently running Tasks to complete." + } + ] + } + } + }, + "required": [ + "disableTasks" + ], + "title": "Options when disabling a Job." + }, + "JobTerminateParameter": { + "properties": { + "terminateReason": { + "type": "string", + "title": "The text you want to appear as the Job's TerminateReason. The default is 'UserTerminate'." + } + }, + "title": "Options when terminating a Job." + }, + "JobPatchParameter": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).", + "$ref": "#/definitions/OnAllTasksComplete" + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job.", + "description": "If omitted, the existing execution constraints are left unchanged." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks.", + "description": "You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "If omitted, the existing Job metadata is left unchanged." + } + }, + "title": "The set of changes to be made to a Job." + }, + "JobUpdateParameter": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority of the Job.", + "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0." + }, + "constraints": { + "$ref": "#/definitions/JobConstraints", + "title": "The execution constraints for the Job.", + "description": "If omitted, the constraints are cleared." + }, + "poolInfo": { + "$ref": "#/definitions/PoolInformation", + "title": "The Pool on which the Batch service runs the Job's Tasks.", + "description": "You may change the Pool for a Job only when the Job is disabled. The Update Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal)." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Job as metadata.", + "description": "If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted." + }, + "onAllTasksComplete": { + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "description": "If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a Job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob.", + "$ref": "#/definitions/OnAllTasksComplete" + } + }, + "required": [ + "poolInfo" + ], + "title": "The set of changes to be made to a Job." + }, + "PoolEnableAutoScaleParameter": { + "properties": { + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + }, + "autoScaleEvaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.", + "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued." + } + }, + "title": "Options for enabling automatic scaling on a Pool." + }, + "PoolEvaluateAutoScaleParameter": { + "properties": { + "autoScaleFormula": { + "type": "string", + "title": "The formula for the desired number of Compute Nodes in the Pool.", + "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + } + }, + "required": [ + "autoScaleFormula" + ], + "title": "Options for evaluating an automatic scaling formula on a Pool." + }, + "PoolResizeParameter": { + "properties": { + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated Compute Nodes in the Pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority Compute Nodes in the Pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "title": "Options for changing the size of a Pool." + }, + "PoolUpdatePropertiesParameter": { + "properties": { + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.", + "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is removed from the Pool." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "This list replaces any existing Certificate references configured on the Pool. If you specify an empty collection, any existing Certificate references are removed from the Pool. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of Application Packages to be installed on each Compute Node in the Pool.", + "description": "The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool." + } + }, + "required": [ + "certificateReferences", + "metadata", + "applicationPackageReferences" + ], + "title": "The set of changes to be made to a Pool." + }, + "PoolPatchParameter": { + "properties": { + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.", + "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged." + }, + "certificateReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "A list of Certificates to be installed on each Compute Node in the Pool.", + "description": "If this element is present, it replaces any existing Certificate references configured on the Pool. If omitted, any existing Certificate references are left unchanged. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory." + }, + "applicationPackageReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "A list of Packages to be installed on each Compute Node in the Pool.", + "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the Pool as metadata.", + "description": "If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged." + } + }, + "title": "The set of changes to be made to a Pool." + }, + "TaskUpdateParameter": { + "properties": { + "constraints": { + "$ref": "#/definitions/TaskConstraints", + "title": "Constraints that apply to this Task.", + "description": "If omitted, the Task is given the default constraints. For multi-instance Tasks, updating the retention time applies only to the primary Task and not subtasks." + } + }, + "title": "The set of changes to be made to a Task." + }, + "NodeUpdateUserParameter": { + "properties": { + "password": { + "type": "string", + "title": "The password of the Account.", + "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed." + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the Account should expire.", + "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day." + }, + "sshPublicKey": { + "type": "string", + "title": "The SSH public key that can be used for remote login to the Compute Node.", + "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed." + } + }, + "title": "The set of changes to be made to a user Account on a Compute Node." + }, + "NodeRebootParameter": { + "properties": { + "nodeRebootOption": { + "type": "string", + "title": "When to reboot the Compute Node and what to do with currently running Tasks.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeRebootOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + } + }, + "title": "Options for rebooting a Compute Node." + }, + "NodeReimageParameter": { + "properties": { + "nodeReimageOption": { + "type": "string", + "title": "When to reimage the Compute Node and what to do with currently running Tasks.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeReimageOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + } + }, + "title": "Options for reimaging a Compute Node." + }, + "NodeDisableSchedulingParameter": { + "properties": { + "nodeDisableSchedulingOption": { + "type": "string", + "title": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion" + ], + "x-ms-enum": { + "name": "DisableComputeNodeSchedulingOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks may run again on other Compute Nodes, or when Task scheduling is re-enabled on this Compute Node. Enter offline state as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed.", + "name": "taskCompletion" + } + ] + } + } + }, + "title": "Options for disabling scheduling on a Compute Node." + }, + "NodeRemoveParameter": { + "properties": { + "nodeList": { + "type": "array", + "maxItems": 100, + "items": { + "type": "string" + }, + "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for removal of Compute Nodes to the Pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "required": [ + "nodeList" + ], + "title": "Options for removing Compute Nodes from a Pool." + }, + "OutputFile": { + "properties": { + "filePattern": { + "type": "string", + "title": "A pattern indicating which file(s) to upload.", + "description": "Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied." + }, + "destination": { + "title": "The destination for the output file(s).", + "$ref": "#/definitions/OutputFileDestination" + }, + "uploadOptions": { + "title": "Additional options for the upload operation, including under what conditions to perform the upload.", + "$ref": "#/definitions/OutputFileUploadOptions" + } + }, + "required": [ + "filePattern", + "destination", + "uploadOptions" + ], + "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.", + "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure." + }, + "OutputFileDestination": { + "properties": { + "container": { + "title": "A location in Azure blob storage to which files are uploaded.", + "$ref": "#/definitions/OutputFileBlobContainerDestination" + } + }, + "title": "The destination to which a file should be uploaded." + }, + "OutputFileBlobContainerDestination": { + "properties": { + "path": { + "type": "string", + "title": "The destination blob or virtual directory within the Azure Storage container.", + "description": "If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name." + }, + "containerUrl": { + "type": "string", + "title": "The URL of the container within Azure Blob Storage to which to upload the file(s).", + "description": "The URL must include a Shared Access Signature (SAS) granting write permissions to the container." + } + }, + "required": [ + "containerUrl" + ], + "title": "Specifies a file upload destination within an Azure blob storage container." + }, + "OutputFileUploadOptions": { + "properties": { + "uploadCondition": { + "title": "The conditions under which the Task output file or set of files should be uploaded.", + "description": "The default is taskcompletion.", + "$ref": "#/definitions/OutputFileUploadCondition" + } + }, + "required": [ + "uploadCondition" + ], + "title": "Details about an output file upload operation, including under what conditions to perform the upload." + }, + "ErrorMessage": { + "properties": { + "lang": { + "type": "string", + "title": "The language code of the error message" + }, + "value": { + "type": "string", + "title": "The text of the message." + } + }, + "title": "An error message received in an Azure Batch error response." + }, + "BatchErrorDetail": { + "properties": { + "key": { + "type": "string", + "title": "An identifier specifying the meaning of the Value property." + }, + "value": { + "type": "string", + "title": "The additional information included with the error response." + } + }, + "title": "An item of additional information included in an Azure Batch error response." + }, + "BatchError": { + "properties": { + "code": { + "type": "string", + "title": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "$ref": "#/definitions/ErrorMessage", + "title": "A message describing the error, intended to be suitable for display in a user interface." + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/BatchErrorDetail" + }, + "title": "A collection of key-value pairs containing additional details about the error." + } + }, + "title": "An error response received from the Azure Batch service." + }, + "CertificateState": { + "type": "string", + "title": "The state of the Certificate.", + "enum": [ + "active", + "deleting", + "deletefailed" + ], + "x-ms-enum": { + "name": "CertificateState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Certificate is available for use in Pools." + }, + { + "value": "deleting", + "description": "The user has requested that the Certificate be deleted, but the delete operation has not yet completed. You may not reference the Certificate when creating or updating Pools." + }, + { + "value": "deletefailed", + "description": "The user requested that the Certificate be deleted, but there are Pools that still have references to the Certificate, or it is still installed on one or more Nodes. (The latter can occur if the Certificate has been removed from the Pool, but the Compute Node has not yet restarted. Compute Nodes refresh their Certificates only when they restart.) You may use the cancel Certificate delete operation to cancel the delete, or the delete Certificate operation to retry the delete.", + "name": "deleteFailed" + } + ] + } + }, + "ElevationLevel": { + "type": "string", + "title": "The elevation level of the user.", + "enum": [ + "nonadmin", + "admin" + ], + "x-ms-enum": { + "name": "ElevationLevel", + "modelAsString": false, + "values": [ + { + "value": "nonadmin", + "description": "The user is a standard user without elevated access.", + "name": "nonAdmin" + }, + { + "value": "admin", + "description": "The user is a user with elevated access and operates with full Administrator permissions." + } + ] + } + }, + "JobScheduleState": { + "type": "string", + "title": "The state of the Job Schedule.", + "enum": [ + "active", + "completed", + "disabled", + "terminating", + "deleting" + ], + "x-ms-enum": { + "name": "JobScheduleState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Job Schedule is active and will create Jobs as per its schedule." + }, + { + "value": "completed", + "description": "The Job Schedule has terminated, either by reaching its end time or by the user terminating it explicitly." + }, + { + "value": "disabled", + "description": "The user has disabled the Job Schedule. The scheduler will not initiate any new Jobs will on this schedule, but any existing active Job will continue to run." + }, + { + "value": "terminating", + "description": "The Job Schedule has no more work to do, or has been explicitly terminated by the user, but the termination operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, nor is any existing Job active." + }, + { + "value": "deleting", + "description": "The user has requested that the Job Schedule be deleted, but the delete operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, and will delete any existing Jobs and Tasks under the Job Schedule, including any active Job. The Job Schedule will be deleted when all Jobs and Tasks under the Job Schedule have been deleted." + } + ] + } + }, + "JobState": { + "type": "string", + "title": "The state of the Job.", + "enum": [ + "active", + "disabling", + "disabled", + "enabling", + "terminating", + "completed", + "deleting" + ], + "x-ms-enum": { + "name": "JobState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Job is available to have Tasks scheduled." + }, + { + "value": "disabling", + "description": "A user has requested that the Job be disabled, but the disable operation is still in progress (for example, waiting for Tasks to terminate)." + }, + { + "value": "disabled", + "description": "A user has disabled the Job. No Tasks are running, and no new Tasks will be scheduled." + }, + { + "value": "enabling", + "description": "A user has requested that the Job be enabled, but the enable operation is still in progress." + }, + { + "value": "terminating", + "description": "The Job is about to complete, either because a Job Manager Task has completed or because the user has terminated the Job, but the terminate operation is still in progress (for example, because Job Release Tasks are running)." + }, + { + "value": "completed", + "description": "All Tasks have terminated, and the system will not accept any more Tasks or any further changes to the Job." + }, + { + "value": "deleting", + "description": "A user has requested that the Job be deleted, but the delete operation is still in progress (for example, because the system is still terminating running Tasks)." + } + ] + } + }, + "OnAllTasksComplete": { + "type": "string", + "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.", + "enum": [ + "noaction", + "terminatejob" + ], + "x-ms-enum": { + "name": "OnAllTasksComplete", + "modelAsString": false, + "values": [ + { + "value": "noaction", + "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.", + "name": "noAction" + }, + { + "value": "terminatejob", + "description": "Terminate the Job. The Job's terminateReason is set to 'AllTasksComplete'.", + "name": "terminateJob" + } + ] + } + }, + "OnTaskFailure": { + "type": "string", + "title": "The action the Batch service should take when any Task in the Job fails.", + "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.", + "enum": [ + "noaction", + "performexitoptionsjobaction" + ], + "x-ms-enum": { + "name": "OnTaskFailure", + "modelAsString": false, + "values": [ + { + "value": "noaction", + "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.", + "name": "noAction" + }, + { + "value": "performexitoptionsjobaction", + "description": "Take the action associated with the Task exit condition in the Task's exitConditions collection. (This may still result in no action being taken, if that is what the Task specifies.)", + "name": "performExitOptionsJobAction" + } + ] + } + }, + "ErrorCategory": { + "type": "string", + "title": "The category of the error.", + "enum": [ + "usererror", + "servererror" + ], + "x-ms-enum": { + "name": "ErrorCategory", + "modelAsString": false, + "values": [ + { + "value": "usererror", + "description": "The error is due to a user issue, such as misconfiguration.", + "name": "userError" + }, + { + "value": "servererror", + "description": "The error is due to an internal server issue.", + "name": "serverError" + } + ] + } + }, + "TaskState": { + "type": "string", + "title": "The state of the Task.", + "enum": [ + "active", + "preparing", + "running", + "completed" + ], + "x-ms-enum": { + "name": "TaskState", + "modelAsString": false, + "values": [ + { + "value": "active", + "description": "The Task is queued and able to run, but is not currently assigned to a Compute Node. A Task enters this state when it is created, when it is enabled after being disabled, or when it is awaiting a retry after a failed run." + }, + { + "value": "preparing", + "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node." + }, + { + "value": "running", + "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing." + }, + { + "value": "completed", + "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated." + } + ] + } + }, + "SubtaskState": { + "type": "string", + "title": "The state of the subtask.", + "enum": [ + "preparing", + "running", + "completed" + ], + "x-ms-enum": { + "name": "SubtaskState", + "modelAsString": false, + "values": [ + { + "value": "preparing", + "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node." + }, + { + "value": "running", + "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing." + }, + { + "value": "completed", + "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated." + } + ] + } + }, + "ComputeNodeDeallocationOption": { + "type": "string", + "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocationOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + }, + "OutputFileUploadCondition": { + "type": "string", + "title": "The conditions under which a Task output file or set of files should be uploaded.", + "enum": [ + "tasksuccess", + "taskfailure", + "taskcompletion" + ], + "x-ms-enum": { + "name": "OutputFileUploadCondition", + "modelAsString": false, + "values": [ + { + "value": "tasksuccess", + "description": "Upload the file(s) only after the Task process exits with an exit code of 0.", + "name": "taskSuccess" + }, + { + "value": "taskfailure", + "description": "Upload the file(s) only after the Task process exits with a nonzero exit code.", + "name": "taskFailure" + }, + { + "value": "taskcompletion", + "description": "Upload the file(s) after the Task process exits, no matter what the exit code was.", + "name": "taskCompletion" + } + ] + } + }, + "TaskExecutionResult": { + "type": "string", + "title": "The result of Task execution.", + "enum": [ + "success", + "failure" + ], + "x-ms-enum": { + "name": "TaskExecutionResult", + "modelAsString": false, + "values": [ + { + "value": "success", + "description": "The Task ran successfully.", + "name": "success" + }, + { + "value": "failure", + "description": "There was an error during processing of the Task. The failure may have occurred before the Task process was launched, while the Task process was executing, or after the Task process exited.", + "name": "failure" + } + ] + } + }, + "InboundEndpointProtocol": { + "type": "string", + "title": "The protocol of the endpoint.", + "enum": [ + "tcp", + "udp" + ], + "x-ms-enum": { + "name": "InboundEndpointProtocol", + "modelAsString": false, + "values": [ + { + "value": "tcp", + "description": "Use TCP for the endpoint.", + "name": "tcp" + }, + { + "value": "udp", + "description": "Use UDP for the endpoint.", + "name": "udp" + } + ] + } + }, + "UploadBatchServiceLogsConfiguration": { + "properties": { + "containerUrl": { + "type": "string", + "title": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s).", + "description": "The URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified." + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The start of the time range from which to upload Batch Service log file(s).", + "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested." + }, + "endTime": { + "type": "string", + "format": "date-time", + "title": "The end of the time range from which to upload Batch Service log file(s).", + "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime." + } + }, + "required": [ + "containerUrl", + "startTime" + ], + "title": "The Azure Batch service log files upload configuration for a Compute Node." + }, + "UploadBatchServiceLogsResult": { + "properties": { + "virtualDirectoryName": { + "type": "string", + "title": "The virtual directory within Azure Blob Storage container to which the Batch Service log file(s) will be uploaded.", + "description": "The virtual directory name is part of the blob name for each log file uploaded, and it is built based poolId, nodeId and a unique identifier." + }, + "numberOfFilesUploaded": { + "type": "integer", + "format": "int32", + "title": "The number of log files which will be uploaded." + } + }, + "required": [ + "virtualDirectoryName", + "numberOfFilesUploaded" + ], + "title": "The result of uploading Batch service log files from a specific Compute Node." + }, + "PoolNodeCountsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PoolNodeCounts" + }, + "description": "A list of Compute Node counts by Pool." + }, + "odata.nextLink": { + "type": "string", + "title": "The URL to get the next set of results." + } + }, + "title": "The result of listing the Compute Node counts in the Account." + }, + "PoolNodeCounts": { + "properties": { + "poolId": { + "type": "string", + "title": "The ID of the Pool." + }, + "dedicated": { + "$ref": "#/definitions/NodeCounts", + "title": "The number of dedicated Compute Nodes in each state." + }, + "lowPriority": { + "$ref": "#/definitions/NodeCounts", + "title": "The number of low priority Compute Nodes in each state." + } + }, + "required": [ + "poolId" + ], + "title": "The number of Compute Nodes in each state for a Pool." + }, + "NodeCounts": { + "properties": { + "creating": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the creating state." + }, + "idle": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the idle state." + }, + "offline": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the offline state." + }, + "preempted": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the preempted state." + }, + "rebooting": { + "type": "integer", + "format": "int32", + "title": "The count of Compute Nodes in the rebooting state." + }, + "reimaging": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the reimaging state." + }, + "running": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the running state." + }, + "starting": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the starting state." + }, + "startTaskFailed": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the startTaskFailed state." + }, + "leavingPool": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the leavingPool state." + }, + "unknown": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the unknown state." + }, + "unusable": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the unusable state." + }, + "waitingForStartTask": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the waitingForStartTask state." + }, + "total": { + "type": "integer", + "format": "int32", + "title": "The total number of Compute Nodes." + } + }, + "required": [ + "creating", + "idle", + "offline", + "preempted", + "rebooting", + "reimaging", + "running", + "starting", + "startTaskFailed", + "leavingPool", + "unknown", + "unusable", + "waitingForStartTask", + "total" + ], + "title": "The number of Compute Nodes in each Compute Node state." + }, + "MountConfiguration": { + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with sasKey and one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with accountKey and one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API Version." + }, + "batchUrl": { + "name": "batchUrl", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "description": "The base URL for all Azure Batch service requests." + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json new file mode 100644 index 000000000000..fd5329b8a55d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListPoolNodeCounts.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "poolId": "pool1", + "dedicated": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 0 + }, + "lowPriority": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 2, + "starting": 1, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 3 + } + }, + { + "poolId": "pool2", + "dedicated": { + "creating": 0, + "idle": 1, + "leavingPool": 0, + "offline": 3, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 4 + }, + "lowPriority": { + "creating": 0, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 0 + } + }, + { + "poolId": "pool3", + "dedicated": { + "creating": 0, + "idle": 5, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 4, + "running": 0, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 9 + }, + "lowPriority": { + "creating": 7, + "idle": 0, + "leavingPool": 0, + "offline": 0, + "preempted": 0, + "rebooting": 0, + "reimaging": 0, + "running": 4, + "starting": 0, + "startTaskFailed": 0, + "unknown": 0, + "unusable": 0, + "waitingForStartTask": 0, + "total": 11 + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListSupportedImages.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListSupportedImages.json new file mode 100644 index 000000000000..9e44b35f461f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/AccountListSupportedImages.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "nodeAgentSKUId": "batch.node.centos 7", + "imageReference": { + "publisher": "OpenLogic", + "offer": "CentOS", + "sku": "7.2", + "version": "latest" + }, + "verificationType": "verified", + "capabilities": [ + "DockerCompatible", + "NvidiaTeslaDriverInstalled" + ], + "osType": "linux" + }, + { + "nodeAgentSKUId": "batch.node.centos 7", + "imageReference": { + "publisher": "OpenLogic", + "offer": "CentOS", + "sku": "7.1", + "version": "latest" + }, + "verificationType": "unverified", + "osType": "linux", + "batchSupportEndOfLife": "2019-11-01T00:00:00.0Z" + }, + { + "nodeAgentSKUId": "batch.node.debian 8", + "imageReference": { + "publisher": "Credativ", + "offer": "Debian", + "sku": "8", + "version": "latest" + }, + "verificationType": "verified", + "osType": "linux" + }, + { + "nodeAgentSKUId": "batch.node.windows amd64", + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-R2-Datacenter", + "version": "latest" + }, + "verificationType": "verified", + "osType": "windows" + }, + { + "nodeAgentSKUId": "batch.node.windows amd64", + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-Datacenter", + "version": "latest" + }, + "verificationType": "verified", + "osType": "windows" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationGet.json new file mode 100644 index 000000000000..c668e0cc8b5c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "applicationId": "my_application_id" + }, + "responses": { + "200": { + "body": { + "id": "my_application_id", + "versions": [ + "v1.0" + ], + "displayName": "my_display_name" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationList.json new file mode 100644 index 000000000000..6da4a4f8240c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/ApplicationList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "my_application_id", + "versions": [ + "v1.0" + ], + "displayName": "my_display_name" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateAdd.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateAdd.json new file mode 100644 index 000000000000..51d9f44dc128 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateAdd.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "certificate": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "data": "#####...", + "certificateFormat": "pfx", + "password": "certpassword" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json new file mode 100644 index 000000000000..5d12eb51782d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateCancelDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateDelete.json new file mode 100644 index 000000000000..d9a41ac18fd7 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateGet.json new file mode 100644 index 000000000000..4edfd98d70ec --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "thumbprintAlgorithm": "sha1", + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)", + "state": "deletefailed", + "stateTransitionTime": "2014-07-31T21:12:58.236Z", + "previousState": "deleting", + "previousStateTransitionTime": "2014-07-31T21:11:58.236Z", + "publicData": "#####...", + "deleteCertificateError": { + "code": "PoolsReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned pool(s)", + "values": [ + { + "name": "Pools", + "value": "mypool1" + } + ] + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateList.json new file mode 100644 index 000000000000..505982b557ec --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/CertificateList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)", + "state": "deletefailed", + "stateTransitionTime": "2014-07-31T21:12:58.236Z", + "previousState": "deleting", + "previousStateTransitionTime": "2014-07-31T21:11:58.236Z", + "publicData": "#####...", + "deleteCertificateError": { + "code": "PoolsReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned pool(s)", + "values": [ + { + "name": "Pools", + "value": "mypool1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromNode.json new file mode 100644 index 000000000000..7e50e97535b7 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromNode.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromTask.json new file mode 100644 index 000000000000..83cdc5d8a44d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileDeleteFromTask.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "task1", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromNode.json new file mode 100644 index 000000000000..5c8caab50236 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromNode.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "nodeId", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream", + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromTask.json new file mode 100644 index 000000000000..d91097ed9b81 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetFromTask.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "task1", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream", + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json new file mode 100644 index 000000000000..4018bb01a152 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromNode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "nodeId", + "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json new file mode 100644 index 000000000000..94a53b325051 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileGetPropertiesFromTask.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "filePath": "wd\\testFile.txt", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT", + "ocp-batch-file-isdirectory": "false", + "Content-Length": "17", + "Content-Type": "application/octet-stream" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromNode.json new file mode 100644 index 000000000000..4f7a05445642 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromNode.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "shared", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/shared", + "isDirectory": true + }, + { + "name": "startup\\ProcessEnv.cmd", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\ProcessEnv.cmd", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.679195Z", + "lastModified": "2014-09-19T21:56:17.679195Z", + "contentLength": 1813, + "contentType": "application/octet-stream" + } + }, + { + "name": "startup\\stderr.txt", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\stderr.txt", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.5590855Z", + "lastModified": "2014-09-19T21:56:17.5590855Z", + "contentLength": 0, + "contentType": "application/octet-stream" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromTask.json new file mode 100644 index 000000000000..641cb5c09b2c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/FileListFromTask.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "recursive": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "startup\\ProcessEnv.cmd", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\ProcessEnv.cmd", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.679195Z", + "lastModified": "2014-09-19T21:56:17.679195Z", + "contentLength": 1813, + "contentType": "application/octet-stream" + } + }, + { + "name": "startup\\stderr.txt", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\stderr.txt", + "isDirectory": false, + "properties": { + "creationTime": "2014-09-19T21:56:17.5590855Z", + "lastModified": "2014-09-19T21:56:17.5590855Z", + "contentLength": 0, + "contentType": "application/octet-stream" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Basic.json new file mode 100644 index 000000000000..bb1e4709ff40 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Basic.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "job": { + "id": "jobId", + "priority": 0, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Complex.json new file mode 100644 index 000000000000..dd0de6b2d6a7 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobAdd_Complex.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "job": { + "id": "jobId", + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "jobManagerTask": { + "id": "taskId", + "commandLine": "myprogram.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas", + "filePath": "myprogram.exe" + }, + { + "storageContainerUrl": "http://mystorage1.blob.core.windows.net/data?sas", + "filePath": "datafolder" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 0, + "retentionTime": "PT1H" + }, + "requiredSlots": 2, + "killJobOnCompletion": false, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "runExclusive": true + }, + "poolInfo": { + "autoPoolSpecification": { + "autoPoolIdPrefix": "mypool", + "poolLifetimeOption": "job", + "pool": { + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 2, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "startTask": { + "commandLine": "myprogram2.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas", + "filePath": "myprogram2.exe" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "maxTaskRetryCount": 2, + "waitForSuccess": true + }, + "certificateReferences": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "storeLocation": "localmachine", + "storeName": "Root", + "visibility": [ + "task" + ] + } + ], + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + } + }, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDelete.json new file mode 100644 index 000000000000..3b296a3c42c6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDisable.json new file mode 100644 index 000000000000..76e59fa0de45 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobDisable.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobDisableParameter": { + "disableTasks": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobEnable.json new file mode 100644 index 000000000000..3b296a3c42c6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobEnable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGet.json new file mode 100644 index 000000000000..b27d2338b3f9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC49F0278", + "lastModified": "2016-11-19T00:05:27.5391608Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "completed", + "stateTransitionTime": "2016-11-19T00:05:27.578581Z", + "previousState": "active", + "previousStateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "endTime": "2016-11-19T00:05:27.578581Z", + "poolId": "poolId", + "terminateReason": "UserTerminate" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json new file mode 100644 index 000000000000..906a39988de6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetLifetimeStatistics.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "url": "https://account.region.batch.core.windows.net/lifetimejobstats", + "startTime": "2014-08-01T18:30:00.4345729Z", + "lastUpdateTime": "2014-08-04T18:30:00.4345729Z", + "userCPUTime": "PT0S", + "kernelCPUTime": "PT0S", + "wallClockTime": "PT0S", + "readIOps": 0, + "writeIOps": 0, + "readIOGiB": 10.0, + "writeIOGiB": 5.0, + "numSucceededTasks": 0, + "numFailedTasks": 0, + "numTaskRetries": 0, + "waitTime": "PT0S" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetTaskCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetTaskCounts.json new file mode 100644 index 000000000000..2a4691f25abb --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobGetTaskCounts.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "taskCounts": { + "active": 5, + "running": 7, + "completed": 4, + "succeeded": 2, + "failed": 2 + }, + "taskSlotCounts": { + "active": 5, + "running": 7, + "completed": 4, + "succeeded": 2, + "failed": 2 + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobList.json new file mode 100644 index 000000000000..43990e520346 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC46D5BF4", + "lastModified": "2016-11-19T00:05:27.2137716Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "active", + "stateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z", + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "poolId": "poolId" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListFromJobSchedule.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListFromJobSchedule.json new file mode 100644 index 000000000000..67c7d3b4a2ea --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListFromJobSchedule.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobId", + "url": "https://account.region.batch.azure.com/jobs/jobId", + "eTag": "0x8D4100FC46D5BF4", + "lastModified": "2016-11-19T00:05:27.2137716Z", + "creationTime": "2016-11-19T00:05:25.311915Z", + "state": "active", + "stateTransitionTime": "2016-11-19T00:05:27.2137716Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z", + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + }, + "executionInfo": { + "startTime": "2016-11-19T00:05:25.3309105Z", + "poolId": "poolId" + }, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json new file mode 100644 index 000000000000..396b2e4581f1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobListPreparationAndReleaseTaskStatus.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "poolId": "poolId", + "nodeId": "tvm-2167304207_1-20140905t174658z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z", + "jobPreparationTaskExecutionInfo": { + "state": "completed", + "startTime": "2015-05-01T10:20:31Z", + "endTime": "2015-05-02T20:12:42Z", + "taskRootDirectory": "tasks/myjob/job-1/myjobpreptask", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobpreptask", + "exitCode": 0, + "retryCount": 0 + }, + "jobReleaseTaskExecutionInfo": { + "state": "completed", + "startTime": "2015-05-01T10:20:31Z", + "endTime": "2015-05-02T20:12:42Z", + "taskRootDirectory": "tasks/myjob/job-1/myjobreleasetask", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobreleasetask", + "exitCode": 0 + } + } + ], + "odata.nextLink": "https://account.region.batch.azure.com/jobs/myjob/jobpreparationandreleasestatus?$skipToken=tvm-2167304207_1-20140905t174658z&api-version=2020-09-01.12.0" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json new file mode 100644 index 000000000000..2e28d3734615 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobPatch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobPatchParameter": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json new file mode 100644 index 000000000000..8cef6bca6462 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Basic.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "cloudJobSchedule": { + "id": "jobScheduleId", + "schedule": { + "recurrenceInterval": "PT5M" + }, + "jobSpecification": { + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json new file mode 100644 index 000000000000..3a0ab999490a --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleAdd_Complex.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "cloudJobSchedule": { + "id": "jobScheduleId", + "schedule": { + "doNotRunUntil": "2014-09-10T02:30:00.000Z", + "doNotRunAfter": "2014-09-10T06:30:00.000Z", + "startWindow": "PT1M", + "recurrenceInterval": "PT5M" + }, + "jobSpecification": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "jobManagerTask": { + "id": "mytask1", + "commandLine": "myprogram.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas", + "filePath": "myprogram.exe" + }, + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/test.txt?sas", + "filePath": "test.txt" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 0, + "retentionTime": "PT1H" + }, + "requiredSlots": 2, + "killJobOnCompletion": true, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "runExclusive": true + }, + "poolInfo": { + "autoPoolSpecification": { + "autoPoolIdPrefix": "mypool", + "poolLifetimeOption": "jobschedule", + "pool": { + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 2, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "startTask": { + "commandLine": "myprogram2.exe", + "resourceFiles": [ + { + "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas", + "filePath": "myprogram2.exe" + } + ], + "environmentSettings": [ + { + "name": "myvariable", + "value": "myvalue" + } + ], + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "admin" + } + }, + "maxTaskRetryCount": 2, + "waitForSuccess": true + }, + "certificateReferences": [ + { + "thumbprint": "0123456789abcdef0123456789abcdef01234567", + "thumbprintAlgorithm": "sha1", + "storeLocation": "localmachine", + "storeName": "Root", + "visibility": [ + "task" + ] + } + ], + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + } + } + }, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDelete.json new file mode 100644 index 000000000000..14e0811ce888 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDisable.json new file mode 100644 index 000000000000..287b1c271025 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleDisable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleEnable.json new file mode 100644 index 000000000000..287b1c271025 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleEnable.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleExists.json new file mode 100644 index 000000000000..93bcdd818777 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleExists.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleGet.json new file mode 100644 index 000000000000..b169b3bef501 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "jobScheduleId", + "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId", + "eTag": "0x8D40FFD2E848323", + "lastModified": "2016-11-18T21:52:24.7661347Z", + "creationTime": "2016-11-18T21:52:22.5431125Z", + "state": "completed", + "stateTransitionTime": "2016-11-18T21:52:24.8371778Z", + "previousState": "active", + "previousStateTransitionTime": "2016-11-18T21:52:24.0064874Z", + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "testPool" + } + }, + "executionInfo": { + "recentJob": { + "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId:job-1", + "id": "jobScheduleId:job-1" + }, + "endTime": "2016-11-18T21:52:24.8371778Z" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleList.json new file mode 100644 index 000000000000..6cd0731819cc --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "jobSchedule1", + "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule1", + "eTag": "0x8D40FFD2E10996A", + "lastModified": "2016-11-18T21:52:24.0064874Z", + "creationTime": "2016-11-18T21:52:22.5431125Z", + "state": "active", + "stateTransitionTime": "2016-11-18T21:52:24.0064874Z", + "previousState": "disabled", + "previousStateTransitionTime": "2016-11-18T21:52:23.6471782Z", + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + }, + "executionInfo": { + "recentJob": { + "url": "https://account.region.batch.azure.com/jobs/jobSchedule1:job-1", + "id": "jobSchedule1:job-1" + } + } + }, + { + "id": "jobSchedule2", + "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule2", + "eTag": "0x8D40FFCFF760B51", + "lastModified": "2016-11-18T21:51:05.8184017Z", + "creationTime": "2016-11-18T21:51:05.8184017Z", + "state": "active", + "stateTransitionTime": "2016-11-18T21:51:05.8184017Z", + "schedule": { + "doNotRunUntil": "2020-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "onAllTasksComplete": "noaction", + "onTaskFailure": "noaction", + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "testPool2" + } + }, + "executionInfo": { + "nextRunTime": "2020-01-01T12:30:00Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobSchedulePatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobSchedulePatch.json new file mode 100644 index 000000000000..81a5508137af --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobSchedulePatch.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobSchedulePatchParameter": { + "schedule": { + "doNotRunUntil": "2025-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleTerminate.json new file mode 100644 index 000000000000..14e0811ce888 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleTerminate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleUpdate.json new file mode 100644 index 000000000000..f87cd8150731 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobScheduleUpdate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobScheduleId": "jobScheduleId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobScheduleUpdateParameter": { + "schedule": { + "doNotRunUntil": "2025-01-01T12:30:00Z" + }, + "jobSpecification": { + "priority": 0, + "usesTaskDependencies": false, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "poolInfo": { + "poolId": "poolId" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobTerminate.json new file mode 100644 index 000000000000..57f565f320b1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobTerminate.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobTerminateParameter": { + "terminateReason": "User supplied termination reason" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobUpdate.json new file mode 100644 index 000000000000..4719db878b12 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/JobUpdate.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "jobUpdateParameter": { + "priority": 100, + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": -1 + }, + "poolInfo": { + "poolId": "poolId" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeAddUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeAddUser.json new file mode 100644 index 000000000000..a7ab64e40b13 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeAddUser.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "user": { + "name": "userName", + "isAdmin": false, + "expiryTime": "2017-08-01T00:00:00Z", + "password": "Password" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDeleteUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDeleteUser.json new file mode 100644 index 000000000000..b0bee107d329 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDeleteUser.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "userName": "userName", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDisableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDisableScheduling.json new file mode 100644 index 000000000000..d079cb68ef08 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeDisableScheduling.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeDisableSchedulingParameter": { + "nodeDisableSchedulingOption": "terminate" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeEnableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeEnableScheduling.json new file mode 100644 index 000000000000..621b7944c0bd --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeEnableScheduling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json new file mode 100644 index 000000000000..e12b60648ab5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteDesktop.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json new file mode 100644 index 000000000000..5241f16fd45b --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGetRemoteLoginSettings.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "remoteLoginIPAddress": "1.1.1.1", + "remoteLoginPort": 50000 + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGet_Basic.json new file mode 100644 index 000000000000..d15497f19b9f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeGet_Basic.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "poolId": "poolId", + "nodeId": "tvm-1695681911_2-20161122t193202z", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "tvm-1695681911_2-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:37:31.4285526Z", + "lastBootTime": "2016-11-22T19:37:28.623369Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_2-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:37:31.4285526Z", + "endTime": "2016-11-22T19:37:31.838028Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T19:37:28.623369Z" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeList.json new file mode 100644 index 000000000000..4b2668f99f15 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeList.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "tvm-1695681911_1-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T22:22:27.2236818Z", + "lastBootTime": "2016-11-22T22:22:24.4634125Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_1-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T22:22:27.2236818Z", + "endTime": "2016-11-22T22:22:27.567189Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + }, + { + "id": "tvm-1695681911_2-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:37:31.4285526Z", + "lastBootTime": "2016-11-22T19:37:28.623369Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_2-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:37:31.4285526Z", + "endTime": "2016-11-22T19:37:31.838028Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + }, + { + "id": "tvm-1695681911_3-20161122t193202z", + "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z", + "state": "idle", + "schedulingState": "enabled", + "stateTransitionTime": "2016-11-22T19:36:51.0013378Z", + "lastBootTime": "2016-11-22T19:36:48.21721Z", + "allocationTime": "2016-11-22T19:32:02.8155319Z", + "ipAddress": "1.1.1.1", + "affinityId": "TVM:tvm-1695681911_3-20161122t193202z", + "vmSize": "small", + "totalTasksRun": 0, + "totalTasksSucceeded": 0, + "runningTasksCount": 0, + "runningTaskSlotsCount": 0, + "isDedicated": true, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "startTaskInfo": { + "state": "completed", + "startTime": "2016-11-22T19:36:51.0013378Z", + "endTime": "2016-11-22T19:36:51.2363447Z", + "exitCode": 0, + "retryCount": 0 + }, + "nodeAgentInfo": { + "version": "1.2.0.0", + "lastUpdateTime": "2016-11-22T22:22:24.4634125Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReboot.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReboot.json new file mode 100644 index 000000000000..964687451745 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReboot.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeRebootParameter": { + "nodeRebootOption": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReimage.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReimage.json new file mode 100644 index 000000000000..2afb95c328ca --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeReimage.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161122t193202z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeReimageParameter": { + "nodeReimageOption": "terminate" + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUpdateUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUpdateUser.json new file mode 100644 index 000000000000..c2e2a1e45e92 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUpdateUser.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "userName": "userName", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeUpdateUserParameter": { + "password": "12345", + "expiryTime": "2016-11-27T00:45:48.7320857Z" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json new file mode 100644 index 000000000000..ac9bf2557395 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/NodeUploadBatchServiceLogs.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "nodeId": "tvm-1695681911_1-20161121t182739z", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "uploadBatchServiceLogsConfiguration": { + "containerUrl": "https://somestorageacct.blob.core.windows.net/batch-compute-node-logs?se=2017-12-09T18%3A51%3A00Z&sp=w&sv=2016-05-31&sr=c&sig", + "startTime": "2017-11-27T00:00:00Z" + } + }, + "responses": { + "200": { + "body": { + "virtualDirectoryName": "poolId/tvm-1695681911-1-20161121t182739z/0795539d-82fe-48e3-bbff-2964905b6de0", + "numberOfFilesUploaded": 8 + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json new file mode 100644 index 000000000000..fcb99e19c195 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_CloudServiceConfiguration.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "poolId", + "vmSize": "small", + "cloudServiceConfiguration": { + "osFamily": "4" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json new file mode 100644 index 000000000000..57f9c0f2f58c --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_MountConfiguration.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-data": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04.0-LTS" + }, + "nodeAgentSKUId": "batch.node.ubuntu 16.04" + }, + "mountConfiguration": [ + { + "azureBlobFileSystemConfiguration": { + "accountName": "accountName", + "containerName": "blobContainerName", + "accountKey": "accountKey", + "relativeMountPath": "bfusepath" + } + }, + { + "azureFileShareConfiguration": { + "accountName": "accountName", + "azureFileUrl": "https://myaccount.file.core.windows.net/fileshare", + "accountKey": "accountKey", + "relativeMountPath": "filesharepath", + "mountOptions": "mount options ver=1.0" + } + }, + { + "nfsMountConfiguration": { + "source": "somesource nfs url", + "relativeMountPath": "mountpath", + "mountOptions": "mount options ver=1.0" + } + }, + { + "cifsMountConfiguration": { + "username": "accountName", + "password": "password", + "source": "//myaccount.file.core.windows.net/file", + "relativeMountPath": "mountpath", + "mountOptions": "mount options ver=1.0" + } + } + ], + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json new file mode 100644 index 000000000000..5bc7a4b886e0 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfiguration.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04.0-LTS" + }, + "nodeAgentSKUId": "batch.node.ubuntu 16.04" + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false, + "enableInterNodeCommunication": true, + "metadata": [ + { + "name": "myproperty", + "value": "myvalue" + } + ] + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json new file mode 100644 index 000000000000..88bca975c31f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "pool": { + "id": "pool2", + "vmSize": "standard_a1", + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04.0-LTS" + }, + "nodeAgentSKUId": "batch.node.ubuntu 16.04", + "containerConfiguration": { + "type": "dockerCompatible", + "containerImageNames": [ + "busybox" + ] + } + }, + "resizeTimeout": "PT15M", + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "taskSlotsPerNode": 3, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "enableAutoScale": false + } + }, + "responses": { + "201": { + "request-id": "00000000-0000-0000-0000-000000000000", + "ETag": "0x8D45765A6A2DC04", + "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT" + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDelete.json new file mode 100644 index 000000000000..ccc0b81b402e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDisableAutoScale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDisableAutoScale.json new file mode 100644 index 000000000000..1114a1ce73e3 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolDisableAutoScale.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEnableAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEnableAutoscale.json new file mode 100644 index 000000000000..f9308dbcd95f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEnableAutoscale.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolEnableAutoScaleParameter": { + "autoScaleFormula": "$TargetDedicated=0", + "autoScaleEvaluationInterval": "PT8M" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json new file mode 100644 index 000000000000..15e17c4821cd --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolEvaluateAutoscale.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolEvaluateAutoScaleParameter": { + "autoScaleFormula": "$TargetDedicated=1" + } + }, + "responses": { + "200": { + "body": { + "timestamp": "2016-11-22T19:39:28.5246331Z", + "results": "$TargetDedicated=1;$NodeDeallocationOption=requeue" + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolExists.json new file mode 100644 index 000000000000..041fca2f0bff --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolExists.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json new file mode 100644 index 000000000000..2f804d1809aa --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGetLifetimeStatistics.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "url": "https://account.region.batch.core.windows.net/lifetimepoolstats", + "startTime": "2014-08-01T18:30:00.4345729Z", + "lastUpdateTime": "2014-08-04T18:30:00.4345729Z", + "usageStats": { + "startTime": "2014-08-01T18:30:00.4345729Z", + "lastUpdateTime": "2014-08-04T18:30:00.4345729Z", + "dedicatedCoreTime": "PT0S" + }, + "resourceStats": { + "startTime": "2014-08-01T18:30:00.4345729Z", + "lastUpdateTime": "2014-08-04T18:30:00.4345729Z", + "avgCPUPercentage": 40.0, + "avgMemoryGiB": 2.0, + "peakMemoryGiB": 4.0, + "avgDiskGiB": 125.0, + "peakDiskGiB": 240.0, + "diskReadIOps": 0, + "diskWriteIOps": 0, + "diskReadGiB": 10.0, + "diskWriteGiB": 1.0, + "networkReadGiB": 20.0, + "networkWriteGiB": 25.0 + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGet_Basic.json new file mode 100644 index 000000000000..b397fd8c028e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolGet_Basic.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "pool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "pool", + "url": "https://account.region.batch.azure.com/pools/pool", + "eTag": "0x8D413091E739A56", + "lastModified": "2016-11-22T18:55:25.2608598Z", + "creationTime": "2016-11-22T18:55:24.2632496Z", + "state": "active", + "stateTransitionTime": "2016-11-22T18:55:24.2632496Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z", + "vmSize": "standard_a1", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "16.04.0-LTS", + "version": "latest" + }, + "nodeAgentSKUId": "batch.node.ubuntu 16.04" + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json new file mode 100644 index 000000000000..64b854240086 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolListUsageMetrics.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "startTime": "2013-04-01T00:00:00Z", + "endTime": "2013-04-01T00:30:00Z", + "poolId": "p1", + "vmSize": "a1", + "totalCoreHours": 39.384838 + }, + { + "startTime": "2013-04-01T00:30:00Z", + "endTime": "2013-04-01T01:00:00Z", + "poolId": "p2", + "vmSize": "a8", + "totalCoreHours": 3039.384838 + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolList_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolList_Basic.json new file mode 100644 index 000000000000..9871ed2b00a9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolList_Basic.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testPool", + "url": "https://accountname.region.batch.azure.com/pools/testPool", + "eTag": "0x8D4123BEF87D233", + "lastModified": "2016-11-21T18:26:39.7108787Z", + "creationTime": "2016-11-21T18:26:39.7108787Z", + "state": "active", + "stateTransitionTime": "2016-11-21T18:26:39.7108787Z", + "allocationState": "steady", + "allocationStateTransitionTime": "2016-11-21T18:27:40.287803Z", + "vmSize": "small", + "resizeTimeout": "PT15M", + "currentDedicatedNodes": 3, + "currentLowPriorityNodes": 0, + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "enableAutoScale": false, + "enableInterNodeCommunication": false, + "startTask": { + "commandLine": "cmd /c echo hello", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "maxTaskRetryCount": 0, + "waitForSuccess": false + }, + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "spread" + }, + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "*" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolPatch.json new file mode 100644 index 000000000000..b5f4a7e33be4 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolPatch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolPatchParameter": { + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolRemoveNodes.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolRemoveNodes.json new file mode 100644 index 000000000000..ec5a7f4d40ed --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolRemoveNodes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "nodeRemoveParameter": { + "nodeList": [ + "tvm-1695681911_1-20161122t224741z", + "tvm-1695681911_2-20161122t224741z" + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolResize.json new file mode 100644 index 000000000000..d6abe2d54922 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolResize.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "resizePool", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolResizeParameter": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0 + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolStopResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolStopResize.json new file mode 100644 index 000000000000..ccc0b81b402e --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolStopResize.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "202": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolUpdate.json new file mode 100644 index 000000000000..4be088f9c864 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/PoolUpdate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "poolId": "poolId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "poolUpdatePropertiesParameter": { + "startTask": { + "commandLine": "/bin/bash -c 'echo start task'" + }, + "certificateReferences": [], + "applicationPackageReferences": [], + "metadata": [] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Basic.json new file mode 100644 index 000000000000..f6f783ad9dcc --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Basic.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskCollection": { + "value": [ + { + "id": "simple1", + "commandLine": "cmd /c dir /s" + }, + { + "id": "simple2", + "commandLine": "cmd /c dir /s" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "status": "success", + "taskId": "simple1", + "eTag": "0x8D3D623CD661246", + "lastModified": "2016-09-06T07:02:44.7589958Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1" + }, + { + "status": "success", + "taskId": "simple2", + "eTag": "0x8D3D623CD7072CC", + "lastModified": "2016-09-06T07:02:44.8270028Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Complex.json new file mode 100644 index 000000000000..5a30f66ebcc9 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAddCollection_Complex.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskCollection": { + "value": [ + { + "id": "complex1", + "commandLine": "cmd /c dir /s", + "resourceFiles": [ + { + "autoStorageContainerName": "containerName", + "filePath": "data" + } + ], + "environmentSettings": [ + { + "name": "env1", + "value": "value1" + }, + { + "name": "env2", + "value": "value2" + } + ], + "affinityInfo": { + "affinityId": "affinityId" + }, + "constraints": { + "maxWallClockTime": "P1D", + "retentionTime": "P2D", + "maxTaskRetryCount": 5 + }, + "requiredSlots": 2, + "multiInstanceSettings": { + "numberOfInstances": 3, + "coordinationCommandLine": "cmd /c echo coordinating", + "commonResourceFiles": [ + { + "httpUrl": "https://common.blob.core.windows.net/", + "filePath": "common.exe" + } + ] + } + }, + { + "id": "simple3", + "commandLine": "cmd /c dir /s" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "taskId": "simple3", + "status": "success", + "eTag": "0x8D3D623CE295629", + "lastModified": "2016-09-06T07:02:46.0386857Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3" + }, + { + "taskId": "complex1", + "status": "success", + "eTag": "0x8D3D623CE29A412", + "lastModified": "2016-09-06T07:02:46.0406802Z", + "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1" + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_Basic.json new file mode 100644 index 000000000000..4f57f322e72d --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_Basic.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "task1", + "commandLine": "cmd /c echo task1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json new file mode 100644 index 000000000000..53369b6c6967 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ContainerSettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "taskId", + "commandLine": "bash -c 'echo hello'", + "containerSettings": { + "imageName": "ubuntu", + "containerRunOptions": "--rm" + }, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json new file mode 100644 index 000000000000..254568f2be10 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_ExitConditions.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "taskId", + "commandLine": "cmd /c exit 3", + "exitConditions": { + "exitCodeRanges": [ + { + "start": 2, + "end": 4, + "exitOptions": { + "jobAction": "terminate" + } + } + ] + }, + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json new file mode 100644 index 000000000000..927722fab1c5 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskAdd_RequiredSlots.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "task": { + "id": "task1", + "requiredSlots": 2, + "commandLine": "cmd /c echo task1" + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskDelete.json new file mode 100644 index 000000000000..e3bcdf4f63b6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskGet.json new file mode 100644 index 000000000000..eb32de875da8 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "id": "testTask", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId", + "eTag": "0x8D3D62350711C55", + "creationTime": "2016-09-06T06:59:15.1161429Z", + "lastModified": "2016-09-06T06:59:15.1161429Z", + "state": "active", + "stateTransitionTime": "2016-09-06T06:59:15.1161429Z", + "commandLine": "cmd /c hostname", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "multiInstanceSettings": { + "numberOfInstances": 3, + "coordinationCommandLine": "cmd /c echo coordinating" + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskList.json new file mode 100644 index 000000000000..520c4a707c8f --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "task1", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task1", + "eTag": "0x8D4125FD1A825A4", + "creationTime": "2016-11-21T22:43:31.4733476Z", + "lastModified": "2016-11-21T22:43:31.4733476Z", + "state": "active", + "stateTransitionTime": "2016-11-21T22:43:31.4733476Z", + "commandLine": "cmd /c echo task1", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 0 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + }, + { + "id": "task2", + "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task2", + "eTag": "0x8D4125FD2153345", + "creationTime": "2016-11-21T22:43:31.6736345Z", + "lastModified": "2016-11-21T22:43:32.1880389Z", + "state": "active", + "stateTransitionTime": "2016-11-21T22:43:31.6736345Z", + "commandLine": "cmd /c echo task2", + "userIdentity": { + "autoUser": { + "scope": "task", + "elevationLevel": "nonadmin" + } + }, + "constraints": { + "maxWallClockTime": "P10675199DT2H48M5.4775807S", + "retentionTime": "P10675199DT2H48M5.4775807S", + "maxTaskRetryCount": 3 + }, + "requiredSlots": 2, + "executionInfo": { + "retryCount": 0, + "requeueCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskListSubtasks.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskListSubtasks.json new file mode 100644 index 000000000000..e259e7461712 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskListSubtasks.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": 1, + "startTime": "2016-09-06T06:59:16.3139271Z", + "endTime": "2016-09-06T06:59:20.0242024Z", + "state": "completed", + "stateTransitionTime": "2016-09-06T06:59:20.0242024Z", + "previousState": "running", + "previousStateTransitionTime": "2016-09-06T06:59:16.3139271Z", + "exitCode": 0, + "nodeInfo": { + "affinityId": "TVM:tvm-2544493925_3-20160905t051718z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z", + "poolId": "mpiPool", + "nodeId": "tvm-2544493925_3-20160905t051718z", + "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\1", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z/files//workitems/jobId/job-1/taskId/1" + } + }, + { + "id": 2, + "startTime": "2016-09-06T06:59:16.9702844Z", + "state": "running", + "stateTransitionTime": "2016-09-06T06:59:16.9702844Z", + "nodeInfo": { + "affinityId": "TVM:tvm-2544493925_2-20160905t051718z", + "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z", + "poolId": "mpiPool", + "nodeId": "tvm-2544493925_2-20160905t051718z", + "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\2", + "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z/files//workitems/jobId/job-1/taskId/2" + } + } + ] + } + } + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskReactivate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskReactivate.json new file mode 100644 index 000000000000..22e0815189c1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskReactivate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskTerminate.json new file mode 100644 index 000000000000..22e0815189c1 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskTerminate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskUpdate.json new file mode 100644 index 000000000000..f46819eb85f6 --- /dev/null +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/examples/TaskUpdate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "batchUrl": "account.region.batch.azure.com", + "api-version": "2020-09-01.12.0", + "jobId": "jobId", + "taskId": "taskId", + "client-request-id": "00000000-0000-0000-0000-000000000000", + "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT", + "taskUpdateParameter": { + "constraints": { + "maxWallClockTime": "PT1H", + "maxTaskRetryCount": 3, + "retentionTime": "PT1H" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/batch/data-plane/readme.go.md b/specification/batch/data-plane/readme.go.md index 3f970038d20a..ce9f53e4369b 100644 --- a/specification/batch/data-plane/readme.go.md +++ b/specification/batch/data-plane/readme.go.md @@ -20,6 +20,16 @@ batch: - tag: package-2019-06.9.0 - tag: package-2019-08.10.0 - tag: package-2020-03.11.0 + - tag: package-2020-09.12.0 +``` + +### Tag: package-2020-09.12.0 and go + +These settings apply only when `--tag=package-2020-09.12.0 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-09.12.0' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/2020-09-01.12.0/$(namespace) ``` ### Tag: package-2020-03.11.0 and go diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md index adfd75a18255..d3d4c786623f 100644 --- a/specification/batch/data-plane/readme.md +++ b/specification/batch/data-plane/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Batch API. ``` yaml openapi-type: data-plane -tag: package-2020-03.11.0 +tag: package-2020-09.12.0 +``` + +### Tag: package-2020-09.12.0 + +These settings apply only when `--tag=package-2020-09.12.0` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09.12.0' +input-file: +- Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json ``` ### Tag: package-2020-03.11.0 @@ -360,6 +369,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json - $(this-folder)/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json - $(this-folder)/Microsoft.Batch/stable/2019-08-01.10.0/BatchService.json - $(this-folder)/Microsoft.Batch/stable/2019-06-01.9.0/BatchService.json diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json new file mode 100644 index 000000000000..b17f00cf9811 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/BatchManagement.json @@ -0,0 +1,5147 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchManagement", + "version": "2020-09-01", + "x-ms-code-generation-settings": { + "name": "BatchManagementClient" + } + }, + "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.Batch/batchAccounts/{accountName}": { + "put": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Create", + "x-ms-examples": { + "BatchAccountCreate_Default": { + "$ref": "./examples/BatchAccountCreate_Default.json" + }, + "BatchAccountCreate_BYOS": { + "$ref": "./examples/BatchAccountCreate_BYOS.json" + }, + "PrivateBatchAccountCreate": { + "$ref": "./examples/PrivateBatchAccountCreate.json" + }, + "BatchAccountCreate_SystemAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_SystemAssignedIdentity.json" + } + }, + "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountCreateParameters" + }, + "description": "Additional parameters for account creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Update", + "x-ms-examples": { + "BatchAccountUpdate": { + "$ref": "./examples/BatchAccountUpdate.json" + } + }, + "description": "Updates the properties of an existing Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountUpdateParameters" + }, + "description": "Additional parameters for account update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Delete", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/BatchAccountDelete.json" + } + }, + "description": "Deletes the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Get", + "x-ms-examples": { + "BatchAccountGet": { + "$ref": "./examples/BatchAccountGet.json" + }, + "PrivateBatchAccountGet": { + "$ref": "./examples/PrivateBatchAccountGet.json" + } + }, + "description": "Gets information about the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_List", + "x-ms-examples": { + "BatchAccountList": { + "$ref": "./examples/BatchAccountList.json" + } + }, + "description": "Gets information about the Batch accounts associated with the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_ListByResourceGroup", + "x-ms-examples": { + "BatchAccountListByResourceGroup": { + "$ref": "./examples/BatchAccountListByResourceGroup.json" + } + }, + "description": "Gets information about the Batch accounts associated with the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_SynchronizeAutoStorageKeys", + "x-ms-examples": { + "BatchAccountSynchronizeAutoStorageKeys": { + "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" + } + }, + "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_RegenerateKey", + "x-ms-examples": { + "BatchAccountRegenerateKey": { + "$ref": "./examples/BatchAccountRegenerateKey.json" + } + }, + "description": "Regenerates the specified account key for the Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountRegenerateKeyParameters" + }, + "description": "The type of key to regenerate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account keys.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_GetKeys", + "x-ms-examples": { + "BatchAccountGetKeys": { + "$ref": "./examples/BatchAccountGetKeys.json" + } + }, + "summary": "Gets the account keys for the specified Batch account.", + "description": "This operation applies only to Batch accounts created with a poolAllocationMode of 'BatchService'. If the Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to authenticate, and must use Azure Active Directory instead. In this case, getting the keys will fail.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the keys of the Batch account.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate": { + "post": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Activate", + "x-ms-examples": { + "ApplicationPackageActivate": { + "$ref": "./examples/ApplicationPackageActivate.json" + } + }, + "description": "Activates the specified application package. This should be done after the `ApplicationPackage` was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActivateApplicationPackageParameters" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}": { + "put": { + "tags": [ + "Application" + ], + "operationId": "Application_Create", + "x-ms-examples": { + "ApplicationCreate": { + "$ref": "./examples/ApplicationCreate.json" + } + }, + "description": "Adds an application to the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Application_Delete", + "x-ms-examples": { + "ApplicationDelete": { + "$ref": "./examples/ApplicationDelete.json" + } + }, + "description": "Deletes an application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_Get", + "x-ms-examples": { + "ApplicationGet": { + "$ref": "./examples/ApplicationGet.json" + } + }, + "description": "Gets information about the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Application_Update", + "x-ms-examples": { + "ApplicationUpdate": { + "$ref": "./examples/ApplicationUpdate.json" + } + }, + "description": "Updates settings for the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}": { + "put": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Create", + "x-ms-examples": { + "ApplicationPackageCreate": { + "$ref": "./examples/ApplicationPackageCreate.json" + } + }, + "description": "Creates an application package record. The record contains the SAS where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The parameters for the request." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Delete", + "x-ms-examples": { + "ApplicationPackageDelete": { + "$ref": "./examples/ApplicationPackageDelete.json" + } + }, + "description": "Deletes an application package record and its associated binary file.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Get", + "x-ms-examples": { + "ApplicationPackageGet": { + "$ref": "./examples/ApplicationPackageGet.json" + } + }, + "description": "Gets information about the specified application package.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_List", + "x-ms-examples": { + "ApplicationList": { + "$ref": "./examples/ApplicationList.json" + } + }, + "description": "Lists all of the applications in the specified account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.", + "schema": { + "$ref": "#/definitions/ListApplicationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions": { + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_List", + "x-ms-examples": { + "ApplicationList": { + "$ref": "./examples/ApplicationPackageList.json" + } + }, + "description": "Lists all of the application packages in the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application package entities associated with the specified application.", + "schema": { + "$ref": "#/definitions/ListApplicationPackagesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_GetQuotas", + "x-ms-examples": { + "LocationGetQuotas": { + "$ref": "./examples/LocationGetQuotas.json" + } + }, + "description": "Gets the Batch service quotas for the specified subscription at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service quotas." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service quotas for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/BatchLocationQuota" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Batch/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists available operations for the Microsoft.Batch 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}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability": { + "post": { + "operationId": "Location_CheckNameAvailability", + "description": "Checks whether the Batch account name is available in the specified region.", + "x-ms-examples": { + "LocationCheckNameAvailability_Available": { + "$ref": "./examples/LocationCheckNameAvailability_Available.json" + }, + "LocationCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" + } + }, + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region for the name check." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Properties needed to check the availability of a name." + } + ], + "responses": { + "200": { + "description": "Success. Returns details about whether a Batch account name is available.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_ListByBatchAccount", + "description": "Lists all of the certificates in the specified account.", + "x-ms-examples": { + "ListCertificates": { + "$ref": "./examples/CertificateList.json" + }, + "ListCertificates - Filter and Select": { + "$ref": "./examples/CertificateListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"properties/provisioningState\", \"properties/provisioningStateTransitionTime\", \"name\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListCertificatesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}": { + "put": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Create", + "description": "Creates a new certificate inside the specified account.", + "x-ms-examples": { + "CreateCertificate - Minimal Pfx": { + "$ref": "./examples/CertificateCreate_Minimal.json" + }, + "CreateCertificate - Minimal Cer": { + "$ref": "./examples/CertificateCreate_MinimalCer.json" + }, + "CreateCertificate - Full": { + "$ref": "./examples/CertificateCreate_Full.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Additional parameters for certificate creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. A value of \"*\" can be used to apply the operation only if the certificate already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new certificate to be created, but to prevent updating an existing certificate. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Update", + "description": "Updates the properties of an existing certificate.", + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/CertificateUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Certificate entity to update." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Delete", + "description": "Deletes the specified certificate.", + "x-ms-examples": { + "CertificateDelete": { + "$ref": "./examples/CertificateDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Get", + "description": "Gets information about the specified certificate.", + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/CertificateGet.json" + }, + "Get Certificate with Deletion Error": { + "$ref": "./examples/CertificateGetWithDeletionError.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_CancelDeletion", + "summary": "Cancels a failed deletion of a certificate from the specified account.", + "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.", + "x-ms-examples": { + "CertificateCancelDeletion": { + "$ref": "./examples/CertificateCancelDeletion.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_ListByBatchAccount", + "description": "Lists all of the private link resources in the specified account.", + "x-ms-examples": { + "ListPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateLinkResourcesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_Get", + "description": "Gets information about the specified private link resource.", + "x-ms-examples": { + "GetPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_ListByBatchAccount", + "description": "Lists all of the private endpoint connections in the specified account.", + "x-ms-examples": { + "ListPrivateEndpointConnections": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateEndpointConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Get", + "description": "Gets information about the specified private endpoint connection.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Update", + "description": "Updates the properties of an existing private endpoint connection.", + "x-ms-examples": { + "UpdatePrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "PrivateEndpointConnection properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The state (ETag) version of the private endpoint connection to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the PrivateEndpointConnection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "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.Batch/batchAccounts/{accountName}/pools": { + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_ListByBatchAccount", + "description": "Lists all of the pools in the specified account.", + "x-ms-examples": { + "ListPool": { + "$ref": "./examples/PoolList.json" + }, + "ListPoolWithFilter": { + "$ref": "./examples/PoolListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListPoolsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": { + "put": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Create", + "description": "Creates a new pool inside the specified account.", + "x-ms-examples": { + "CreatePool - Minimal CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" + }, + "CreatePool - Minimal VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" + }, + "CreatePool - Full Example": { + "$ref": "./examples/PoolCreate_FullExample.json" + }, + "CreatePool - Custom Image": { + "$ref": "./examples/PoolCreate_SharedImageGallery.json" + }, + "CreatePool - Public IPs": { + "$ref": "./examples/PoolCreate_PublicIPs.json" + }, + "CreatePool - Full VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" + }, + "CreatePool - No public IP": { + "$ref": "./examples/PoolCreate_NoPublicIPAddresses.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Additional parameters for pool creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Update", + "description": "Updates the properties of an existing pool.", + "x-ms-examples": { + "UpdatePool - Resize Pool": { + "$ref": "./examples/PoolUpdate_ResizePool.json" + }, + "UpdatePool - Enable Autoscale": { + "$ref": "./examples/PoolUpdate_EnableAutoScale.json" + }, + "UpdatePool - Remove Start Task": { + "$ref": "./examples/PoolUpdate_RemoveStartTask.json" + }, + "UpdatePool - Other Properties": { + "$ref": "./examples/PoolUpdate_OtherProperties.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Delete", + "description": "Deletes the specified pool.", + "x-ms-examples": { + "DeletePool": { + "$ref": "./examples/PoolDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Get", + "description": "Gets information about the specified pool.", + "x-ms-examples": { + "GetPool": { + "$ref": "./examples/PoolGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_DisableAutoScale", + "description": "Disables automatic scaling for a pool.", + "x-ms-examples": { + "Disable AutoScale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_StopResize", + "summary": "Stops an ongoing resize operation on the pool.", + "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.", + "x-ms-examples": { + "StopPoolResize": { + "$ref": "./examples/PoolStopResize.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AutoStorageBaseProperties": { + "properties": { + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to be used for auto-storage account." + } + }, + "required": [ + "storageAccountId" + ], + "description": "The properties related to the auto-storage account." + }, + "BatchAccountUpdateProperties": { + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + } + }, + "description": "The properties of a Batch account." + }, + "BatchAccountCreateProperties": { + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "poolAllocationMode": { + "title": "The allocation mode to use for creating pools in the Batch account.", + "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "$ref": "#/definitions/KeyVaultReference", + "description": "A reference to the Azure key vault associated with the Batch account." + }, + "publicNetworkAccess": { + "title": "The network access type for accessing Azure Batch account.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + } + }, + "description": "The properties of a Batch account." + }, + "BatchAccountCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountCreateProperties", + "description": "The properties of the Batch account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "KeyVaultReference": { + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the Azure key vault associated with the Batch account." + }, + "url": { + "type": "string", + "description": "The URL of the Azure key vault associated with the Batch account." + } + }, + "required": [ + "id", + "url" + ], + "description": "Identifies the Azure key vault associated with a Batch account." + }, + "AutoStorageProperties": { + "properties": { + "lastKeySync": { + "type": "string", + "format": "date-time", + "description": "The UTC time at which storage keys were last synchronized with the Batch account." + } + }, + "required": [ + "lastKeySync" + ], + "allOf": [ + { + "$ref": "#/definitions/AutoStorageBaseProperties" + } + ], + "description": "Contains information about the auto-storage account associated with a Batch account." + }, + "VirtualMachineFamilyCoreQuota": { + "properties": { + "name": { + "readOnly": true, + "x-nullable": false, + "type": "string", + "description": "The Virtual Machine family name." + }, + "coreQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "description": "The core quota for the VM family for the Batch account." + } + }, + "description": "A VM Family and its associated core quota for the Batch account." + }, + "BatchAccountIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the Batch account. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Batch account. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Batch account.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Batch account has a system assigned identity with it." + }, + { + "value": "None", + "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities." + } + ] + } + } + }, + "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration.", + "required": [ + "type" + ] + }, + "BatchAccountProperties": { + "properties": { + "accountEndpoint": { + "type": "string", + "readOnly": true, + "description": "The account endpoint used to interact with the Batch service." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the resource", + "enum": [ + "Invalid", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Cancelled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The account is in an invalid state." + }, + { + "value": "Creating", + "description": "The account is being created." + }, + { + "value": "Deleting", + "description": "The account is being deleted." + }, + { + "value": "Succeeded", + "description": "The account has been created and is ready for use." + }, + { + "value": "Failed", + "description": "The last operation for the account is failed." + }, + { + "value": "Cancelled", + "description": "The last operation for the account is cancelled." + } + ] + } + }, + "poolAllocationMode": { + "readOnly": true, + "x-nullable": false, + "title": "The allocation mode to use for creating pools in the Batch account.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "title": "A reference to the Azure key vault associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/KeyVaultReference" + }, + "publicNetworkAccess": { + "readOnly": true, + "x-nullable": true, + "title": "The network interface type for accessing Azure Batch service and Batch account operations.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateEndpointConnections": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connections associated with the Batch account" + }, + "autoStorage": { + "title": "The properties and status of any auto-storage account associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/AutoStorageProperties" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "readOnly": true, + "$ref": "#/definitions/EncryptionProperties" + }, + "dedicatedCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The dedicated core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "lowPriorityCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The low-priority core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamily": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineFamilyCoreQuota" + }, + "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamilyEnforced": { + "readOnly": true, + "x-nullable": false, + "type": "boolean", + "title": "A value indicating whether the core quota for the Batch Account is enforced per Virtual Machine family or not.", + "description": "Batch is transitioning its core quota system for dedicated cores to be enforced per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply." + }, + "poolQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The pool quota for the Batch account." + }, + "activeJobAndJobScheduleQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The active job and job schedule quota for the Batch account." + } + }, + "description": "Account specific properties." + }, + "BatchAccount": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountProperties", + "description": "The properties associated with the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Contains information about an Azure Batch account." + }, + "BatchAccountUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountUpdateProperties", + "description": "The properties of the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "description": "Parameters for updating an Azure Batch account." + }, + "BatchAccountListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BatchAccount" + }, + "description": "The collection of Batch accounts returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "EncryptionProperties": { + "properties": { + "keySource": { + "type": "string", + "description": "Type of the key source.", + "enum": [ + "Microsoft.Batch", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch", + "description": "Batch creates and manages the encryption keys used to protect the account data." + }, + { + "value": "Microsoft.KeyVault", + "description": "The encryption keys used to protect the account data are stored in an external key vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key Identifier must also be supplied under the keyVaultProperties." + } + ] + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Additional details when using Microsoft.KeyVault" + } + }, + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead." + }, + "KeyVaultProperties": { + "properties": { + "keyIdentifier": { + "type": "string", + "description": "Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following prerequisites must be met:\n\n The Batch Account has a System Assigned identity\n The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions\n The KeyVault has soft-delete and purge protection enabled" + } + }, + "description": "KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault." + }, + "BatchAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The type of account key to regenerate.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "AccountKeyType", + "modelAsString": false, + "values": [ + { + "value": "Primary", + "description": "The primary account key." + }, + { + "value": "Secondary", + "description": "The secondary account key." + } + ] + } + } + }, + "required": [ + "keyName" + ], + "description": "Parameters supplied to the RegenerateKey operation." + }, + "BatchAccountKeys": { + "properties": { + "accountName": { + "type": "string", + "readOnly": true, + "description": "The Batch account name." + }, + "primary": { + "type": "string", + "readOnly": true, + "description": "The primary key associated with the account." + }, + "secondary": { + "type": "string", + "readOnly": true, + "description": "The secondary key associated with the account." + } + }, + "description": "A set of Azure Batch account keys." + }, + "ActivateApplicationPackageParameters": { + "properties": { + "format": { + "type": "string", + "description": "The format of the application package binary file." + } + }, + "required": [ + "format" + ], + "description": "Parameters for an activating an application package." + }, + "Application": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The properties associated with the Application." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about an application in a Batch account." + }, + "ApplicationProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name for the application." + }, + "allowUpdates": { + "type": "boolean", + "description": "A value indicating whether packages within the application may be overwritten using the same version string." + }, + "defaultVersion": { + "type": "string", + "description": "The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package." + } + }, + "description": "The properties associated with the Application." + }, + "ApplicationPackage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPackageProperties", + "description": "The properties associated with the Application Package." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "An application package which represents a particular version of an application." + }, + "ApplicationPackageProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The current state of the application package.", + "enum": [ + "Pending", + "Active" + ], + "x-ms-enum": { + "name": "PackageState", + "modelAsString": false, + "values": [ + { + "value": "Pending", + "description": "The application package has been created but has not yet been activated." + }, + { + "value": "Active", + "description": "The application package is ready for use." + } + ] + } + }, + "format": { + "type": "string", + "readOnly": true, + "description": "The format of the application package, if the package is active." + }, + "storageUrl": { + "type": "string", + "readOnly": true, + "description": "The URL for the application package in Azure Storage." + }, + "storageUrlExpiry": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The UTC time at which the Azure Storage URL will expire." + }, + "lastActivationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the package was last activated, if the package is active." + } + }, + "description": "Properties of an application package" + }, + "ListApplicationsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The list of applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list applications." + }, + "ListApplicationPackagesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The list of application packages." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list application packages." + }, + "BatchLocationQuota": { + "properties": { + "accountQuota": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The number of Batch accounts that may be created under the subscription in the specified region." + } + }, + "description": "Quotas associated with a Batch region for a particular subscription." + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags of the resource." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The ETag of the resource, used for concurrency statements." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the resources in the Batch account.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Azure Batch through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource." + } + ] + } + }, + "PoolAllocationMode": { + "type": "string", + "description": "The allocation mode for creating pools in the Batch account.", + "enum": [ + "BatchService", + "UserSubscription" + ], + "x-ms-enum": { + "name": "PoolAllocationMode", + "modelAsString": false, + "values": [ + { + "value": "BatchService", + "description": "Pools will be allocated in subscriptions owned by the Batch service." + }, + { + "value": "UserSubscription", + "description": "Pools will be allocated in a subscription owned by the user." + } + ] + } + }, + "CertificateBaseProperties": { + "properties": { + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm of the certificate thumbprint.", + "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'." + }, + "thumbprint": { + "type": "string", + "title": "The thumbprint of the certificate.", + "description": "This must match the thumbprint from the name." + }, + "format": { + "type": "string", + "x-nullable": false, + "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.", + "enum": [ + "Pfx", + "Cer" + ], + "x-ms-enum": { + "name": "CertificateFormat", + "modelAsString": false, + "values": [ + { + "value": "Pfx", + "description": "The certificate is a PFX (PKCS#12) formatted certificate or certificate chain." + }, + { + "value": "Cer", + "description": "The certificate is a base64-encoded X.509 certificate." + } + ] + } + } + } + }, + "CertificateProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its current state.", + "readOnly": true + }, + "previousProvisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The previous provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "previousProvisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its previous state.", + "readOnly": true + }, + "publicData": { + "type": "string", + "readOnly": true, + "description": "The public key of the certificate." + }, + "deleteCertificateError": { + "readOnly": true, + "$ref": "#/definitions/DeleteCertificateError", + "title": "The error which occurred while deleting the certificate", + "description": "This is only returned when the certificate provisioningState is 'Failed'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "description": "Certificate properties." + }, + "CertificateCreateOrUpdateProperties": { + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "properties": { + "data": { + "type": "string", + "title": "The base64-encoded contents of the certificate.", + "description": "The maximum size is 10KB." + }, + "password": { + "type": "string", + "title": "The password to access the certificate's private key.", + "description": "This must not be specified if the certificate format is Cer." + } + }, + "description": "Certificate properties for create operations", + "required": [ + "data" + ] + }, + "Certificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "CertificateCreateOrUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateCreateOrUpdateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "ListCertificatesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "description": "The collection of returned certificates." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "DeleteCertificateError": { + "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/DeleteCertificateError" + }, + "description": "A list of additional details about the error." + } + }, + "required": [ + "code", + "message" + ], + "description": "An error response from the Batch service." + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The properties associated with the private link resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "type": "string", + "title": "The group id of the private link resource.", + "description": "The group id is used to establish the private link connection.", + "readOnly": true + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required members that are used to establish the private link connection.", + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required zone names for the private DNS resource name", + "readOnly": true + } + }, + "description": "Private link resource properties." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties associated with the private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioning state of the private endpoint connection.", + "enum": [ + "Succeeded", + "Updating", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The connection status is final and is ready for use if Status is Approved." + }, + { + "value": "Updating", + "description": "The user has requested that the connection status be updated, but the update operation has not yet completed. You may not reference the connection when connecting the Batch account." + }, + { + "value": "Failed", + "description": "The user requested that the connection be updated and it failed. You may retry the update operation." + } + ] + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "title": "The ARM resource identifier of the private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "title": "The private link service connection state of the private endpoint connection." + } + }, + "description": "Private endpoint connection properties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "type": "string", + "title": "The ARM resource identifier of the private endpoint. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}.", + "readOnly": true + } + }, + "description": "The private endpoint of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "title": "The status for the private endpoint connection of Batch account" + }, + "description": { + "type": "string", + "title": "Description of the private Connection state" + }, + "actionRequired": { + "type": "string", + "title": "Action required on the private connection state", + "readOnly": true + } + }, + "required": [ + "status" + ], + "description": "The private link service connection state of the private endpoint connection" + }, + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "title": "The status of the Batch private endpoint connection", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false, + "values": [ + { + "value": "Approved", + "description": "The private endpoint connection is approved and can be used to access Batch account" + }, + { + "value": "Pending", + "description": "The private endpoint connection is pending and cannot be used to access Batch account" + }, + { + "value": "Rejected", + "description": "The private endpoint connection is rejected and cannot be used to access Batch account" + }, + { + "value": "Disconnected", + "description": "The private endpoint connection is disconnected and cannot be used to access Batch account" + } + ] + } + }, + "Pool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolProperties", + "description": "The properties associated with the pool." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a pool." + }, + "PoolProperties": { + "properties": { + "displayName": { + "type": "string", + "title": "The display name for the pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the pool.", + "description": "This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state.", + "readOnly": true + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the pool.", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "title": "The current state of the pool.", + "enum": [ + "Succeeded", + "Deleting" + ], + "x-ms-enum": { + "name": "PoolProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The pool is available to run tasks subject to the availability of compute nodes." + }, + { + "value": "Deleting", + "description": "The user has requested that the pool be deleted, but the delete operation has not yet completed." + } + ] + }, + "readOnly": true + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current state.", + "readOnly": true + }, + "allocationState": { + "type": "string", + "title": "Whether the pool is resizing.", + "enum": [ + "Steady", + "Resizing", + "Stopping" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false, + "values": [ + { + "value": "Steady", + "description": "The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes." + }, + { + "value": "Resizing", + "description": "The pool is resizing; that is, compute nodes are being added to or removed from the pool." + }, + { + "value": "Stopping", + "description": "The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed." + } + ] + }, + "readOnly": true + }, + "allocationStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current allocation state.", + "readOnly": true + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.", + "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + }, + "deploymentConfiguration": { + "$ref": "#/definitions/DeploymentConfiguration", + "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.", + "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)." + }, + "currentDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The number of compute nodes currently in the pool.", + "readOnly": true + }, + "currentLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The number of low priority compute nodes currently in the pool.", + "readOnly": true + }, + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Settings which configure the number of nodes in the pool." + }, + "autoScaleRun": { + "$ref": "#/definitions/AutoScaleRun", + "title": "The results and errors from the last execution of the autoscale formula.", + "description": "This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.", + "readOnly": true + }, + "interNodeCommunication": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InterNodeCommunicationState", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enable network communication between virtual machines." + }, + { + "value": "Disabled", + "description": "Disable network communication between virtual machines." + } + ] + }, + "title": "Whether the pool permits direct communication between nodes.", + "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the pool." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How tasks are distributed across compute nodes in a pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user accounts to be created on each node in the pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "title": "A list of name-value pairs associated with the pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A task specified to run on each compute node as it joins the pool.", + "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool." + }, + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of certificates to be installed on each compute node in the pool.", + "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory." + }, + "applicationPackages": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of application packages to be installed on each compute node in the pool.", + "description": "Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each compute node in the pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail." + }, + "resizeOperationStatus": { + "$ref": "#/definitions/ResizeOperationStatus", + "title": "Contains details about the current or last completed resize operation.", + "readOnly": true + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + } + }, + "description": "Pool properties." + }, + "DeploymentConfiguration": { + "properties": { + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Deployment configuration properties." + }, + "ScaleSettings": { + "properties": { + "fixedScale": { + "$ref": "#/definitions/FixedScaleSettings", + "title": "Fixed scale settings for the pool.", + "description": "This property and autoScale are mutually exclusive and one of the properties must be specified." + }, + "autoScale": { + "$ref": "#/definitions/AutoScaleSettings", + "title": "AutoScale settings for the pool.", + "description": "This property and fixedScale are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Scale settings for the pool", + "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes." + }, + "AutoScaleSettings": { + "properties": { + "formula": { + "type": "string", + "title": "A formula for the desired number of compute nodes in the pool.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/batch/batch-automatic-scaling", + "description": "Create an automatic scaling formula for scaling compute nodes in a Batch pool" + } + }, + "evaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.", + "description": "If omitted, the default value is 15 minutes (PT15M)." + } + }, + "required": [ + "formula" + ], + "title": "AutoScale settings for the pool." + }, + "FixedScaleSettings": { + "properties": { + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool.", + "description": "The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "If omitted, the default value is Requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "title": "Fixed scale settings for the pool." + }, + "ComputeNodeDeallocationOption": { + "type": "string", + "title": "Determines what to do with a node and its running task(s) after it has been selected for deallocation.", + "enum": [ + "Requeue", + "Terminate", + "TaskCompletion", + "RetainedData" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocationOption", + "modelAsString": false, + "values": [ + { + "value": "Requeue", + "description": "Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "Terminate", + "description": "Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "TaskCompletion", + "description": "Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed." + }, + { + "value": "RetainedData", + "description": "Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired." + } + ] + } + }, + "CertificateReference": { + "properties": { + "id": { + "type": "string", + "title": "The fully qualified ID of the certificate to install on the pool. This must be inside the same batch account as the pool." + }, + "storeLocation": { + "type": "string", + "title": "The location of the certificate store on the compute node into which to install the certificate.", + "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.", + "enum": [ + "CurrentUser", + "LocalMachine" + ], + "x-ms-enum": { + "name": "CertificateStoreLocation", + "modelAsString": false, + "values": [ + { + "value": "CurrentUser", + "description": "Certificates should be installed to the CurrentUser certificate store." + }, + { + "value": "LocalMachine", + "description": "Certificates should be installed to the LocalMachine certificate store." + } + ] + } + }, + "storeName": { + "type": "string", + "title": "The name of the certificate store on the compute node into which to install the certificate.", + "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + }, + "visibility": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "StartTask", + "Task", + "RemoteUser" + ], + "x-ms-enum": { + "name": "CertificateVisibility", + "modelAsString": false, + "values": [ + { + "value": "StartTask", + "description": "The certificate should be visible to the user account under which the start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well." + }, + { + "value": "Task", + "description": "The certificate should be visible to the user accounts under which job tasks are run." + }, + { + "value": "RemoteUser", + "description": "The certificate should be visible to the user accounts under which users remotely access the node." + } + ] + } + }, + "title": "Which user accounts on the compute node should have access to the private data of the certificate." + } + }, + "required": [ + "id" + ], + "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool." + }, + "ApplicationPackageReference": { + "properties": { + "id": { + "type": "string", + "title": "The ID of the application package to install. This must be inside the same batch account as the pool. This can either be a reference to a specific version or the default version if one exists." + }, + "version": { + "type": "string", + "title": "The version of the application to deploy. If omitted, the default version is deployed.", + "description": "If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409." + } + }, + "title": "Link to an application package inside the batch account", + "required": [ + "id" + ] + }, + "ResizeError": { + "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." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when resizing a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRunError": { + "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." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoScaleRunError" + }, + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when autoscaling a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRun": { + "properties": { + "evaluationTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the autoscale formula was last evaluated." + }, + "results": { + "type": "string", + "title": "The final values of all variables used in the evaluation of the autoscale formula.", + "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons." + }, + "error": { + "$ref": "#/definitions/AutoScaleRunError", + "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful." + } + }, + "required": [ + "evaluationTime" + ], + "title": "The results and errors from an execution of a pool autoscale formula." + }, + "VirtualMachineConfiguration": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use." + }, + "nodeAgentSkuId": { + "type": "string", + "title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.", + "description": "The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "title": "Windows operating system settings on the virtual machine.", + "description": "This property must not be specified if the imageReference specifies a Linux OS image." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "title": "The configuration for data disks attached to the compute nodes in the pool.", + "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them." + }, + "licenseType": { + "type": "string", + "title": "The type of on-premises license to be used when deploying the operating system.", + "description": "This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n" + }, + "containerConfiguration": { + "$ref": "#/definitions/ContainerConfiguration", + "title": "The container configuration for the pool.", + "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + } + }, + "required": [ + "imageReference", + "nodeAgentSkuId" + ], + "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure." + }, + "ContainerRegistry": { + "properties": { + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The user name to log into the registry server." + }, + "password": { + "type": "string", + "title": "The password to log into the registry server." + } + }, + "required": [ + "username", + "password" + ], + "title": "A private container registry." + }, + "DiskEncryptionConfiguration": { + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "The disks to encrypt on each compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.", + "enum": [ + "OsDisk", + "TemporaryDisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "OsDisk", + "description": "The OS Disk on the compute node is encrypted.", + "name": "OsDisk" + }, + { + "value": "TemporaryDisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node", + "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image." + }, + "ContainerConfiguration": { + "properties": { + "type": { + "type": "string", + "title": "The container technology to be used.", + "enum": [ + "DockerCompatible" + ], + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false, + "values": [ + { + "value": "DockerCompatible", + "description": "A Docker compatible container technology will be used to launch the containers." + } + ] + } + }, + "containerImageNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of container image names.", + "description": "This is the full image reference, as would be specified to \"docker pull\". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry." + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "title": "Additional private registries from which containers can be pulled.", + "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." + } + }, + "required": [ + "type" + ], + "title": "The configuration for container-enabled pools." + }, + "WindowsConfiguration": { + "properties": { + "enableAutomaticUpdates": { + "type": "boolean", + "title": "Whether automatic updates are enabled on the virtual machine.", + "description": "If omitted, the default value is true." + } + }, + "title": "Windows operating system settings to apply to the virtual machine." + }, + "ImageReference": { + "properties": { + "publisher": { + "type": "string", + "title": "The publisher of the Azure Virtual Machines Marketplace image.", + "description": "For example, Canonical or MicrosoftWindowsServer." + }, + "offer": { + "type": "string", + "title": "The offer type of the Azure Virtual Machines Marketplace image.", + "description": "For example, UbuntuServer or WindowsServer." + }, + "sku": { + "type": "string", + "title": "The SKU of the Azure Virtual Machines Marketplace image.", + "description": "For example, 18.04-LTS or 2019-Datacenter." + }, + "version": { + "type": "string", + "title": "The version of the Azure Virtual Machines Marketplace image.", + "description": "A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "id": { + "type": "string", + "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.", + "description": "This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + } + }, + "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation." + }, + "DataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "title": "The logical unit number.", + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "The type of caching to be enabled for the data disks.", + "description": "Values are:\n\n none - The caching mode for the disk is not enabled.\n readOnly - The caching mode for the disk is read only.\n readWrite - The caching mode for the disk is read and write.\n\n The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in GB when creating new data disk." + }, + "storageAccountType": { + "title": "The storage account type to be used for the data disk.", + "description": "If omitted, the default is \"Standard_LRS\". Values are:\n\n Standard_LRS - The data disk should use standard locally redundant storage.\n Premium_LRS - The data disk should use premium locally redundant storage.", + "$ref": "#/definitions/StorageAccountType" + } + }, + "required": [ + "lun", + "diskSizeGB" + ], + "description": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." + }, + "TaskSchedulingPolicy": { + "properties": { + "nodeFillType": { + "type": "string", + "title": "How tasks should be distributed across compute nodes.", + "enum": [ + "Spread", + "Pack" + ], + "x-ms-enum": { + "name": "ComputeNodeFillType", + "modelAsString": false, + "values": [ + { + "value": "Spread", + "description": "Tasks should be assigned evenly across all nodes in the pool." + }, + { + "value": "Pack", + "description": "As many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool." + } + ] + } + } + }, + "required": [ + "nodeFillType" + ], + "title": "Specifies how tasks should be distributed across compute nodes." + }, + "LinuxUserConfiguration": { + "properties": { + "uid": { + "type": "integer", + "format": "int32", + "title": "The user ID of the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid." + }, + "gid": { + "type": "integer", + "format": "int32", + "title": "The group ID for the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid." + }, + "sshPrivateKey": { + "type": "string", + "title": "The SSH private key for the user account.", + "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done)." + } + }, + "title": "Properties used to create a user account on a Linux node." + }, + "WindowsUserConfiguration": { + "properties": { + "loginMode": { + "type": "string", + "title": "Login mode for user", + "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.", + "enum": [ + "Batch", + "Interactive" + ], + "x-ms-enum": { + "name": "LoginMode", + "modelAsString": false, + "values": [ + { + "value": "Batch", + "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes." + }, + { + "value": "Interactive", + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions associated with the interactive login mode. If this is the case for an application used in your task, then this option is recommended." + } + ] + } + } + }, + "title": "Properties used to create a user account on a Windows node." + }, + "UserAccount": { + "properties": { + "name": { + "type": "string", + "title": "The name of the user account." + }, + "password": { + "type": "string", + "title": "The password for the user account." + }, + "elevationLevel": { + "title": "The elevation level of the user account.", + "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + }, + "linuxUserConfiguration": { + "title": "The Linux-specific user configuration for the user account.", + "description": "This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.", + "$ref": "#/definitions/LinuxUserConfiguration" + }, + "windowsUserConfiguration": { + "title": "The Windows-specific user configuration for the user account.", + "description": "This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.", + "$ref": "#/definitions/WindowsUserConfiguration" + } + }, + "required": [ + "name", + "password" + ], + "title": "Properties used to create a user on an Azure Batch node." + }, + "StartTask": { + "properties": { + "commandLine": { + "type": "string", + "title": "The command line of the start task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. Required if any other properties of the startTask are specified." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "title": "A list of files that the Batch service will download to the compute node before running the command line." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "title": "A list of environment variable settings for the start task." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the start task runs.", + "description": "If omitted, the task runs as a non-administrative user unique to the task." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the task may be retried.", + "description": "The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.", + "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the start task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container." + } + }, + "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.", + "description": "In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task." + }, + "TaskContainerSettings": { + "properties": { + "containerRunOptions": { + "type": "string", + "title": "Additional options to the container create command.", + "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service." + }, + "imageName": { + "type": "string", + "title": "The image to use to create the container in which the task will run.", + "description": "This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default." + }, + "registry": { + "$ref": "#/definitions/ContainerRegistry", + "title": "The private registry which contains the container image.", + "description": "This setting can be omitted if was already provided at pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "A flag to indicate where the container task working directory is. The default is 'taskWorkingDirectory'.", + "enum": [ + "TaskWorkingDirectory", + "ContainerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "TaskWorkingDirectory", + "description": "Use the standard Batch service task working directory, which will contain the Task resource files populated by Batch." + }, + { + "value": "ContainerImageDefault", + "description": "Using container image defined working directory. Beware that this directory will not contain the resource files downloaded by Batch." + } + ] + } + } + }, + "required": [ + "imageName" + ], + "title": "The container settings for a task." + }, + "ResourceFile": { + "properties": { + "autoStorageContainerName": { + "type": "string", + "title": "The storage container name in the auto storage account.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified." + }, + "storageContainerUrl": { + "type": "string", + "title": "The URL of the blob container within Azure Blob Storage.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access." + }, + "httpUrl": { + "type": "string", + "title": "The URL of the file to download.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access." + }, + "blobPrefix": { + "type": "string", + "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.", + "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded." + }, + "filePath": { + "type": "string", + "title": "The location on the compute node to which to download the file, relative to the task's working directory.", + "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..')." + }, + "fileMode": { + "type": "string", + "title": "The file permission mode attribute in octal format.", + "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file." + } + }, + "title": "A single file or multiple files to be downloaded to a compute node." + }, + "EnvironmentSetting": { + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "title": "An environment variable to be set on a task process." + }, + "UserIdentity": { + "properties": { + "userName": { + "type": "string", + "title": "The name of the user identity under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + }, + "autoUser": { + "$ref": "#/definitions/AutoUserSpecification", + "title": "The auto user under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + } + }, + "title": "The definition of the user identity under which the task is run.", + "description": "Specify either the userName or autoUser property, but not both." + }, + "AutoUserSpecification": { + "properties": { + "scope": { + "type": "string", + "title": "The scope for the auto user", + "description": "The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.", + "enum": [ + "Task", + "Pool" + ], + "x-ms-enum": { + "name": "AutoUserScope", + "modelAsString": false, + "values": [ + { + "value": "Task", + "description": "Specifies that the service should create a new user for the task." + }, + { + "value": "Pool", + "description": "Specifies that the task runs as the common auto user account which is created on every node in a pool." + } + ] + } + }, + "elevationLevel": { + "title": "The elevation level of the auto user.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + } + }, + "title": "Specifies the parameters for the auto user that runs a task on the Batch service." + }, + "ElevationLevel": { + "type": "string", + "title": "The elevation level of the user.", + "enum": [ + "NonAdmin", + "Admin" + ], + "x-ms-enum": { + "name": "ElevationLevel", + "modelAsString": false, + "values": [ + { + "value": "NonAdmin", + "description": "The user is a standard user without elevated access." + }, + { + "value": "Admin", + "description": "The user is a user with elevated access and operates with full Administrator permissions." + } + ] + } + }, + "StorageAccountType": { + "type": "string", + "title": "The storage account type for use in creating data disks.", + "enum": [ + "Standard_LRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": false, + "values": [ + { + "value": "Standard_LRS", + "description": "The data disk should use standard locally redundant storage." + }, + { + "value": "Premium_LRS", + "description": "The data disk should use premium locally redundant storage." + } + ] + } + }, + "CachingType": { + "type": "string", + "title": "The type of caching to enable for the disk.", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "ReadOnly", + "description": "The caching mode for the disk is read only." + }, + { + "value": "ReadWrite", + "description": "The caching mode for the disk is read and write." + } + ] + } + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Batch Pool.", + "enum": [ + "BatchManaged", + "UserManaged", + "NoPublicIPAddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "BatchManaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool." + }, + { + "value": "UserManaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes." + }, + { + "value": "NoPublicIPAddresses", + "description": "No public IP Address will be created for the Compute Nodes in the Pool." + } + ] + } + }, + "PublicIPAddressConfiguration": { + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the pool", + "description": "The default value is BatchManaged" + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, + "NetworkConfiguration": { + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNets" + } + }, + "endpointConfiguration": { + "$ref": "#/definitions/PoolEndpointConfiguration", + "title": "The configuration for endpoints on compute nodes in the Batch pool.", + "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + } + }, + "description": "The network configuration for a pool." + }, + "CloudServiceConfiguration": { + "properties": { + "osFamily": { + "type": "string", + "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.", + "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + }, + "osVersion": { + "type": "string", + "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.", + "description": "The default value is * which specifies the latest operating system version for the specified OS family." + } + }, + "required": [ + "osFamily" + ], + "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform." + }, + "MetadataItem": { + "properties": { + "name": { + "type": "string", + "title": "The name of the metadata item." + }, + "value": { + "type": "string", + "title": "The value of the metadata item." + } + }, + "required": [ + "name", + "value" + ], + "title": "A name-value pair associated with a Batch service resource.", + "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." + }, + "ResizeOperationStatus": { + "properties": { + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of low-priority compute nodes in the pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time when this resize operation was started." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "title": "Details of any errors encountered while performing the last resize on the pool.", + "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady." + } + }, + "title": "Details about the current or last completed resize operation.", + "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)." + }, + "PoolEndpointConfiguration": { + "properties": { + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.", + "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." + } + }, + "required": [ + "inboundNatPools" + ], + "title": "The endpoint configuration for a pool." + }, + "InboundNatPool": { + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint.", + "description": "The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400." + }, + "protocol": { + "type": "string", + "title": "The protocol of the endpoint.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundEndpointProtocol", + "modelAsString": false, + "values": [ + { + "value": "TCP", + "description": "Use TCP for the endpoint." + }, + { + "value": "UDP", + "description": "Use UDP for the endpoint." + } + ] + } + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The port number on the compute node.", + "description": "This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "networkSecurityGroupRules": { + "type": "array", + "title": "A list of network security group rules that will be applied to the endpoint.", + "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", + "items": { + "$ref": "#/definitions/NetworkSecurityGroupRule" + } + } + }, + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], + "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally." + }, + "NetworkSecurityGroupRule": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority for this rule.", + "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + }, + "access": { + "type": "string", + "title": "The action that should be taken for a specified IP address, subnet range or tag.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkSecurityGroupRuleAccess", + "modelAsString": false, + "values": [ + { + "value": "Allow", + "description": "Allow access." + }, + { + "value": "Deny", + "description": "Deny access." + } + ] + } + }, + "sourceAddressPrefix": { + "type": "string", + "title": "The source address prefix or tag to match for the rule.", + "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *." + } + }, + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], + "title": "A network security group rule to apply to an inbound endpoint." + }, + "ListPrivateLinkResourcesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The collection of returned private link resources." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPrivateEndpointConnectionsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The collection of returned private endpoint connection." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPoolsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Pool" + }, + "description": "The collection of returned pools." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Batch 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 Batch service." + }, + "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, or listKeys/action", + "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" + } + } + }, + "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." + } + } + }, + "CheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Batch/batchAccounts" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch/batchAccounts", + "description": "The Batch account resource type.", + "name": "BatchAccounts" + } + ] + }, + "description": "The resource type." + } + }, + "required": [ + "name", + "type" + ], + "description": "Parameters for a check name availability request." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The requested name is invalid." + }, + { + "value": "AlreadyExists", + "description": "The requested name is already in use." + } + ] + }, + "description": "Gets the reason that a Batch account name could not be used. The Reason element is only returned if NameAvailable is false." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "MountConfiguration": { + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with sasKey and one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with accountKey and one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains the Batch account.", + "x-ms-parameter-location": "method" + }, + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "The name of the Batch account.", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[\\w]+-[\\w]+$", + "minLength": 5, + "maxLength": 45, + "description": "The identifier for the certificate. This must be made up of algorithm and thumbprint separated by a dash, and must match the certificate data in the request. For example SHA1-a3d1c5.", + "x-ms-parameter-location": "method" + }, + "PoolNameParameter": { + "name": "poolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The pool name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private link resource name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private endpoint connection name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the application. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "VersionNameParameter": { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$", + "minLength": 1, + "maxLength": 64, + "description": "The version of the application.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationCreate.json new file mode 100644 index 000000000000..6b8e8cd6dc8c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationCreate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F8EBB3DC411\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F8EBB3DC411\"", + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationDelete.json new file mode 100644 index 000000000000..9b227efde0f1 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json new file mode 100644 index 000000000000..741f95bce72b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "Sample Application" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationList.json new file mode 100644 index 000000000000..469e7cb6537e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "1" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app2", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "2.0", + "displayName": "myAppName" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageActivate.json new file mode 100644 index 000000000000..a83232097169 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageActivate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1", + "parameters": { + "format": "zip" + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageCreate.json new file mode 100644 index 000000000000..309a702809e9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageCreate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "storageUrl": "http://mystorage1.blob.core.windows.net/myapp?mysas", + "storageUrlExpiry": "2017-06-27T18:48:09.9330991Z", + "state": "Pending" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageDelete.json new file mode 100644 index 000000000000..6bcf59ddc31e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json new file mode 100644 index 000000000000..f3056d495ef3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageList.json new file mode 100644 index 000000000000..65a151f160bb --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationPackageList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1.0", + "name": "1.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Pending" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/2.0", + "name": "2.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationUpdate.json new file mode 100644 index 000000000000..b8c547c50f69 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/ApplicationUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_BYOS.json new file mode 100644 index 000000000000..432f68c14f1f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_BYOS.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "poolAllocationMode": "UserSubscription", + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_Default.json new file mode 100644 index 000000000000..3a615a73bbb3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_Default.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json new file mode 100644 index 000000000000..ccece80c6834 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountCreate_SystemAssignedIdentity.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "principalId": "1a2e532b-9900-414c-8600-cfc6126628d7", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "type": "SystemAssigned" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountDelete.json new file mode 100644 index 000000000000..10eaf26f009a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json new file mode 100644 index 000000000000..30f14fa187c2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGetKeys.json new file mode 100644 index 000000000000..7ab92a5b58e6 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountGetKeys.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json new file mode 100644 index 000000000000..703fc01822af --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountListByResourceGroup.json new file mode 100644 index 000000000000..15a83c30b5b9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountRegenerateKey.json new file mode 100644 index 000000000000..84ec60d93d81 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountRegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "keyName": "Primary" + } + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json new file mode 100644 index 000000000000..409b0dcc2a60 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountSynchronizeAutoStorageKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json new file mode 100644 index 000000000000..019431d6ed87 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/BatchAccountUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCancelDeletion.json new file mode 100644 index 000000000000..7c6934776ce4 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCancelDeletion.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD513C3EDBB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD513C3EDBB\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Failed", + "previousProvisioningStateTransitionTime": "2017-07-21T00:22:54.3299195Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Full.json new file mode 100644 index 000000000000..8d2d14c40ed4 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Full.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e...", + "format": "Pfx" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Minimal.json new file mode 100644 index 000000000000..51cbabcd15c2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_Minimal.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e..." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_MinimalCer.json new file mode 100644 index 000000000000..72ebf221b8f9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateCreate_MinimalCer.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIICrjCCAZagAwI...", + "format": "Cer" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Cer", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateDelete.json new file mode 100644 index 000000000000..000c37203a5f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/certificateOperationResults/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e-8D4EDFF164A11C9?api-version=2020-09-01" + } + }, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json new file mode 100644 index 000000000000..ada646b1975b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGetWithDeletionError.json new file mode 100644 index 000000000000..9ec5852cb349 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateGetWithDeletionError.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Failed", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Deleting", + "previousProvisioningStateTransitionTime": "2017-07-21T00:15:25.5625498Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI...", + "deleteCertificateError": { + "code": "NodesReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned node(s)\nRequestId:2dc78afc-b15b-42d2-8c85-39cb61a0799e\nTime:2017-08-28T10:22:52.8633406Z", + "target": "BatchAccount", + "details": [ + { + "code": "Nodes", + "message": "node1, node3" + } + ] + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateList.json new file mode 100644 index 000000000000..951e5eb3f632 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2020-09-01", + "maxResults": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates?api-version=2020-09-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json new file mode 100644 index 000000000000..e1b16b5bb131 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateListWithFilter.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2020-09-01", + "$filter": "properties/provisioningStateTransitionTime gt '2017-05-01' or properties/provisioningState eq 'Failed'", + "$select": "properties/format,properties/provisioningState" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "provisioningState": "Failed", + "format": "Pfx" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "name": "sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118572E0\"", + "properties": { + "provisioningState": "Failed", + "format": "Cer" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateUpdate.json new file mode 100644 index 000000000000..51cbabcd15c2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/CertificateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "KG0UY40e..." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..7e1fdb190047 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_AlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "existingaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "An account named 'existingaccountname' is already in use." + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_Available.json new file mode 100644 index 000000000000..ef9e76d6a14d --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationCheckNameAvailability_Available.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "newaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationGetQuotas.json new file mode 100644 index 000000000000..c81c5a8a984b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/LocationGetQuotas.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid", + "locationName": "japaneast" + }, + "responses": { + "200": { + "body": { + "accountQuota": 1 + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json new file mode 100644 index 000000000000..9e39e88a3411 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_FullExample.json @@ -0,0 +1,285 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "displayName": "my-pool-name", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + }, + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "password": "examplepassword", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "sshPrivateKey": "sshprivatekeyvalue", + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + }, + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json new file mode 100644 index 000000000000..17b557d1e4db --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3 + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 3, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json new file mode 100644 index 000000000000..923e04acfa53 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json new file mode 100644 index 000000000000..db0df277c332 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_NoPublicIPAddresses.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_PublicIPs.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_PublicIPs.json new file mode 100644 index 000000000000..9ee19fa36fae --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_PublicIPs.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_SharedImageGallery.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_SharedImageGallery.json new file mode 100644 index 000000000000..0ef1defe82af --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_SharedImageGallery.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json new file mode 100644 index 000000000000..21ac6ac44143 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolCreate_VirtualMachineConfiguration.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDelete.json new file mode 100644 index 000000000000..dfb2985cdb22 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/poolOperationResults/delete-testpool-8D4EDFF164A11C9?api-version=2020-09-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json new file mode 100644 index 000000000000..54cab4d6b157 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolDisableAutoScale.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolGet.json new file mode 100644 index 000000000000..293739c4017e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolGet.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "123", + "22" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolList.json new file mode 100644 index 000000000000..a6f3b005dd85 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolList.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M", + "errors": [ + { + "code": "AllocationTimedout", + "message": "Desired number of dedicated nodes could not be allocated as the resize timeout was reached" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolListWithFilter.json new file mode 100644 index 000000000000..778c32c45df0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolListWithFilter.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "$filter": "startswith(name, 'po') or (properties/allocationState eq 'Steady' and properties/provisioningStateTransitionTime lt datetime'2017-02-02')", + "$select": "properties/allocationState,properties/provisioningStateTransitionTime,properties/currentDedicatedNodes,properties/currentLowPriorityNodes", + "maxResults": "50" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 2 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/pooltest", + "name": "pooltest", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-26T10:22:55.9407275Z", + "allocationState": "Resizing", + "currentDedicatedNodes": 4, + "currentLowPriorityNodes": 0 + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolStopResize.json new file mode 100644 index 000000000000..436f16ba43ac --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolStopResize.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 1, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT10M" + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_EnableAutoScale.json new file mode 100644 index 000000000000..9bf3dbb6bf59 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_EnableAutoScale.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=34" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_OtherProperties.json new file mode 100644 index 000000000000..ef414fb391d0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_OtherProperties.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY" + } + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + }, + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "StartTask", + "Task", + "RemoteUser" + ] + } + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_RemoveStartTask.json new file mode 100644 index 000000000000..5db6199f7eef --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_RemoveStartTask.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "startTask": {} + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_ResizePool.json new file mode 100644 index 000000000000..7e1684e024b3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PoolUpdate_ResizePool.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountCreate.json new file mode 100644 index 000000000000..716388d7893c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountGet.json new file mode 100644 index 000000000000..1071b24004f3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateBatchAccountGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Disabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..f17e8b69bf4e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..9809c2408861 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnectionProxyResults/Updating$testprivateEndpointConnection5.24d6b4b5$e65c-4330-bbe9-3a290d62f8e0-8D4EDFF164A11C9?api-version=2020-09-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..708f8a563405 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection", + "name": "testprivateEndpointConnection", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourceGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..f6176752cb4f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "sampleacct", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/sampleacct", + "name": "sampleacct", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..79b710d45fb5 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-09-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "testprivateLinkResource", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/testprivateLinkResource", + "name": "testprivateLinkResource", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/readme.azureresourceschema.md b/specification/batch/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..54f7626e5744 --- /dev/null +++ b/specification/batch/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,132 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-batch-2020-09-01 + - tag: schema-batch-2020-05-01 + - tag: schema-batch-2020-03-01 + - tag: schema-batch-2019-08-01 + - tag: schema-batch-2019-04-01 + - tag: schema-batch-2018-12-01 + - tag: schema-batch-2017-09-01 + - tag: schema-batch-2017-05-01 + - tag: schema-batch-2017-01-01 + - tag: schema-batch-2015-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-batch-2020-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2020-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2020-09-01/BatchManagement.json + +``` + +### Tag: schema-batch-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2020-05-01/BatchManagement.json + +``` + +### Tag: schema-batch-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2020-03-01/BatchManagement.json + +``` + +### Tag: schema-batch-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2019-08-01/BatchManagement.json + +``` + +### Tag: schema-batch-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2019-04-01/BatchManagement.json + +``` + +### Tag: schema-batch-2018-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2018-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2018-12-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-09-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-05-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-01-01/BatchManagement.json + +``` + +### Tag: schema-batch-2015-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2015-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2015-12-01/BatchManagement.json + +``` diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md index 35692665cfa7..058ae96ce535 100644 --- a/specification/batch/resource-manager/readme.go.md +++ b/specification/batch/resource-manager/readme.go.md @@ -14,6 +14,8 @@ go: ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09 + - tag: package-2020-05 - tag: package-2020-03 - tag: package-2019-08 - tag: package-2019-04 @@ -24,6 +26,24 @@ batch: - tag: package-2015-12 ``` +### Tag: package-2020-09 and go + +These settings apply only when `--tag=package-2020-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace) +``` + +### Tag: package-2020-05 and go + +These settings apply only when `--tag=package-2020-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) +``` + ### Tag: package-2020-03 and go These settings apply only when `--tag=package-2020-03 --go` is specified on the command line. @@ -33,7 +53,6 @@ Please also specify `--go-sdk-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -``` yaml $(python) +``` yaml $(python) && !$(track2) python-mode: create python: azure-arm: true @@ -15,13 +15,27 @@ python: clear-output-folder: true ``` +``` yaml $(python) && $(track2) +python-mode: create +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.batch +package-name: azure-mgmt-batch +package-version: 14.0.0b1 +clear-output-folder: true +``` + ``` yaml $(python) && $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch python: no-namespace-folders: true output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch ``` ``` yaml $(python) && $(python-mode) == 'create' +basic-setup-py: true +output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch python: basic-setup-py: true output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch diff --git a/specification/batchai/resource-manager/readme.azureresourceschema.md b/specification/batchai/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..da50d317d24b --- /dev/null +++ b/specification/batchai/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-batchai-2018-05-01 + - tag: schema-batchai-2018-03-01 + - tag: schema-batchai-2017-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-batchai-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/stable/2018-05-01/BatchAI.json + +``` + +### Tag: schema-batchai-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json + +``` + +### Tag: schema-batchai-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json + +``` diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md index 64c9b649cdac..6c29bae8f5b6 100644 --- a/specification/batchai/resource-manager/readme.md +++ b/specification/batchai/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js batchai/resource-manager ``` @@ -183,29 +186,7 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.BatchAI/preview/2017-09-01-preview/BatchAI.json - - $(this-folder)/Microsoft.BatchAI/stable/2018-03-01/BatchAI.json - - $(this-folder)/Microsoft.BatchAI/stable/2018-05-01/BatchAI.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json index 94e961a7fdee..a4b03809ce4f 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json @@ -109,7 +109,7 @@ }, "parameters": [ { - "$ref": "#/parameters/subscriptionGuidParameter" + "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" @@ -171,7 +171,7 @@ }, "parameters": [ { - "$ref": "#/parameters/subscriptionGuidParameter" + "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" @@ -322,6 +322,11 @@ "description": "The target of the particular error.", "type": "string", "readOnly": true + }, + "details": { + "description": "The sub details of the error.", + "readOnly": true, + "$ref": "#/definitions/ErrorSubDetails" } } }, @@ -335,6 +340,29 @@ } } }, + "ErrorSubDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, "Resource": { "description": "The Resource model definition.", "properties": { @@ -365,10 +393,10 @@ "type": "string", "description": "Version of the API to be used with the client request. The current version is 2018-03-01-preview." }, - "subscriptionGuidParameter": { + "subscriptionIdParameter": { "name": "subscriptionId", "in": "path", - "description": "Azure Subscription ID.", + "description": "The ID that uniquely identifies an Azure subscription.", "required": true, "type": "string" } 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 38e006b05097..f9c58116ddc2 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 @@ -766,7 +766,7 @@ "Customers" ], "x-ms-examples": { - "CustomersListByBillingAccount": { + "CustomersListByBillingProfile": { "$ref": "./examples/CustomersListByBillingProfile.json" } }, @@ -1685,6 +1685,74 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "EAInvoiceDownload": { + "$ref": "./examples/MultipleInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleEAInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": { "get": { "tags": [ @@ -1724,6 +1792,74 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingSubscriptionInvoiceDownload": { + "$ref": "./examples/MultipleBillingSubscriptionInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingSubscriptionInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/pricesheet/default/download": { "post": { "tags": [ @@ -1900,6 +2036,77 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingProfileInvoiceDownload": { + "$ref": "./examples/MultipleModernInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingProfileInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents. The download url paths in the request body should match the path of the original request.", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}": { "get": { "tags": [ @@ -4473,6 +4680,52 @@ } } } + }, + "put": { + "tags": [ + "BillingRoleAssignments" + ], + "operationId": "RoleAssignments_Put", + "description": "Create or update a billing role assignment.", + "x-ms-examples": { + "PutEnrollmentAdministratorRoleAssignment": { + "$ref": "./examples/PutAdministratorRoleAssignment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "description": "The new or updated billing role assignment." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } } }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { @@ -4725,6 +4978,55 @@ } } } + }, + "put": { + "tags": [ + "BillingRoleAssignments" + ], + "operationId": "EnrollmentDepartmentRoleAssignments_Put", + "description": "Create or update a billing role assignment.", + "x-ms-examples": { + "PutEnrollmentDepartmentAdministratorRoleAssignment": { + "$ref": "./examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "description": "The new or updated billing role assignment." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } } }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { @@ -6909,6 +7211,11 @@ "description": "The target of the particular error.", "type": "string", "readOnly": true + }, + "details": { + "description": "The sub details of the error.", + "readOnly": true, + "$ref": "#/definitions/ErrorSubDetails" } } }, @@ -6922,6 +7229,29 @@ } } }, + "ErrorSubDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, "Reseller": { "description": "Details of the reseller.", "properties": { diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json new file mode 100644 index 000000000000..a810e1a7775d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleBillingSubscriptionInvoiceDownload.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "subscriptionId": "{subscriptionId}", + "downloadUrls": [ + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview" + ] + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sig=sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json new file mode 100644 index 000000000000..bd9e7f59f578 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleInvoiceDownload.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "downloadUrls": [ + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview" + ] + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json new file mode 100644 index 000000000000..cafb3e2cbaa7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/MultipleModernInvoiceDownload.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "downloadUrls": [ + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2019-10-01-preview" + ] + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}billingProfiles/{billingProfileName}/invoices/{invoiceName}/operationResults/invoiceDownload_{operationId}?api-version=2019-10-01-preview", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json new file mode 100644 index 000000000000..927ad134c30c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}", + "parameters": { + "properties": { + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2019-06-28T19:11:50.6168809+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json new file mode 100644 index 000000000000..ad30ee9ed1f0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}", + "parameters": { + "properties": { + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2019-06-28T19:11:50.6168809+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + } + } +} 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 965ec56e3691..ede1bac4407f 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 @@ -607,7 +607,7 @@ "Customers" ], "x-ms-examples": { - "CustomersListByBillingAccount": { + "CustomersListByBillingProfile": { "$ref": "./examples/CustomersListByBillingProfile.json" } }, @@ -1064,6 +1064,9 @@ "x-ms-examples": { "BillingAccountInvoicesList": { "$ref": "./examples/BillingAccountInvoicesList.json" + }, + "BillingAccountInvoicesListWithRebillDetails": { + "$ref": "./examples/BillingAccountInvoicesListWithRebillDetails.json" } }, "operationId": "Invoices_ListByBillingAccount", @@ -1120,6 +1123,9 @@ "x-ms-examples": { "InvoicesListByBillingProfile": { "$ref": "./examples/InvoicesListByBillingProfile.json" + }, + "InvoicesListByBillingProfileWithRebillDetails": { + "$ref": "./examples/InvoicesListByBillingProfileWithRebillDetails.json" } }, "operationId": "Invoices_ListByBillingProfile", @@ -1179,6 +1185,15 @@ "x-ms-examples": { "Invoice": { "$ref": "./examples/Invoice.json" + }, + "InvoiceWithRebillDetails": { + "$ref": "./examples/InvoiceWithRebillDetails.json" + }, + "VoidInvoice": { + "$ref": "./examples/VoidInvoice.json" + }, + "CreditNote": { + "$ref": "./examples/CreditNote.json" } }, "operationId": "Invoices_Get", @@ -1259,7 +1274,7 @@ ], "x-ms-examples": { "InvoiceDownload": { - "$ref": "./examples/InvoiceDownload.json" + "$ref": "./examples/ModernInvoiceDownload.json" } }, "operationId": "Invoices_DownloadInvoice", @@ -1318,6 +1333,74 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingProfileInvoiceDownload": { + "$ref": "./examples/MultipleModernInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingProfileInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions": { "get": { "tags": [ @@ -1524,6 +1607,74 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingSubscriptionInvoiceDownload": { + "$ref": "./examples/MultipleBillingSubscriptionInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingSubscriptionInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions": { "get": { "tags": [ @@ -4600,6 +4751,11 @@ "description": "The target of the particular error.", "type": "string", "readOnly": true + }, + "details": { + "description": "The sub details of the error.", + "readOnly": true, + "$ref": "#/definitions/ErrorSubDetails" } } }, @@ -4613,6 +4769,29 @@ } } }, + "ErrorSubDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, "Reseller": { "description": "Details of the reseller.", "properties": { @@ -4704,7 +4883,8 @@ "enum": [ "Due", "OverDue", - "Paid" + "Paid", + "Void" ], "readOnly": true, "x-ms-enum": { @@ -4814,6 +4994,38 @@ "$ref": "#/definitions/PaymentProperties" } }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + }, + "documentType": { + "description": "The type of the document.", + "type": "string", + "enum": [ + "Invoice", + "CreditNote" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceDocumentType", + "modelAsString": true + } + }, + "billedDocumentId": { + "description": "The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.", + "type": "string", + "readOnly": true + }, + "creditForDocumentId": { + "description": "The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.", + "type": "string", + "readOnly": true + }, "subscriptionId": { "description": "The ID of the subscription for which the invoice is generated.", "type": "string", @@ -4861,6 +5073,30 @@ } } }, + "RebillDetails": { + "description": "The rebill details of an invoice.", + "properties": { + "creditNoteDocumentId": { + "description": "The ID of credit note.", + "type": "string", + "readOnly": true + }, + "invoiceDocumentId": { + "description": "The ID of invoice.", + "type": "string", + "readOnly": true + }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + } + } + }, "Document": { "description": "The properties of a document.", "properties": { diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json index 843c4e2bc85a..d95c28a8d7a4 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json @@ -55,6 +55,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", @@ -122,6 +123,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "TaxReceipt", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json new file mode 100644 index 000000000000..6a6f68ce064d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "periodStartDate": "2018-01-01", + "periodEndDate": "2018-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003", + "name": "I000003", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "creditAmount": { + "currency": "USD", + "value": 1.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 1.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-02-01T17:32:28Z", + "status": "PastDue", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-28T17:32:28Z", + "isMonthlyInvoice": true, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxreceipt.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json index 226bfa9ef63e..1d2f434b068d 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingSubscriptionInvoiceDownload.json @@ -8,7 +8,7 @@ "responses": { "202": { "headers": { - "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11000000-0000-0000-0000-000000000000/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01", + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01", "Retry-After": "10" } }, diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json new file mode 100644 index 000000000000..436f1f56ee11 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Paid", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "CreditNote", + "creditForDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json index a956b6a06d95..431057fff203 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json @@ -7,7 +7,7 @@ "responses": { "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", "name": "{invoiceName}", "type": "Microsoft.Billing/billingAccounts/invoices", "properties": { @@ -52,6 +52,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json deleted file mode 100644 index 9bf994a947cb..000000000000 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceDownload.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "api-version": "2020-05-01", - "billingAccountName": "{billingAccountName}", - "invoiceName": "{invoiceName}", - "downloadToken": "DRS_12345" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_11000000-0000-0000-0000-000000000000?api-version=2020-05-01", - "Retry-After": "10" - } - }, - "200": { - "body": { - "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" - } - } - } -} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json new file mode 100644 index 000000000000..7d9962a235e2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json index f2dd0ffc9c42..c3300eaa6ae8 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json @@ -56,6 +56,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", @@ -128,6 +129,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json new file mode 100644 index 000000000000..e86609b85ef8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "periodStartDate": "2018-01-01", + "periodEndDate": "2018-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003", + "name": "I000003", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "creditAmount": { + "currency": "USD", + "value": 1.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 1.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-28T17:32:28Z", + "isMonthlyInvoice": true, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json new file mode 100644 index 000000000000..38774eb60736 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}", + "downloadToken": "DRS_12345" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json new file mode 100644 index 000000000000..00c11b106f6a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleBillingSubscriptionInvoiceDownload.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "{subscriptionId}", + "downloadUrls": [ + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01" + ] + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json new file mode 100644 index 000000000000..209820727664 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/MultipleModernInvoiceDownload.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "downloadUrls": [ + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01", + "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?downloadToken={downloadToken}&useCache=True&api-version=2020-05-01" + ] + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01", + "Retry-After": "10" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json new file mode 100644 index 000000000000..30e3f1b71cbe --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Void", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "billedDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/readme.az.md b/specification/billing/resource-manager/readme.az.md new file mode 100644 index 000000000000..824434fa5ef5 --- /dev/null +++ b/specification/billing/resource-manager/readme.az.md @@ -0,0 +1,208 @@ +## AZ +These settings apply only when `--az` is specified on the command line. +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: billing + namespace: azure.mgmt.billing + package-name: azure-mgmt-billing +az-output-folder: $(azure-cli-extension-folder)/src/billing +python-sdk-output-folder: "$(az-output-folder)/azext_billing/vendored_sdks/billing" +#cli: +# cli-directive: +# - where: +# group: MachineLearningCompute +# op: CreateOrUpdate +# param: properties +# poly-resource: true +``` +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: billing + namespace: azure.mgmt.billing + package-name: azure-mgmt-billing +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/billing +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/billing" +``` + +# Az.Billing +This directory contains the Cli common model for the Billing service. + +> Metadata +``` yaml +# Migrated from Powershell's readme + +extension-mode: stable + +directive: + - where: + group: billing invoice-section + set: + group: billing invoice section + +cli: + cli-directive: +# -------- DO NOT generate those command groups -------- + - select: 'operationGroup' + where: + operationGroup: BillingPeriods|EnrollmentAccounts|Agreements|BillingPermissions|BillingRoleAssignments|BillingRoleDefinitions|Instructions|Address.*$ + hidden: true + + # rename --billing-profile-name to --profile-name + - where: + param: billingProfileName + name: profile_name + + # -------- BillingAccounts -------- + # rename --billing-account-name to --account-name globally + - where: + param: billingAccountName + name: account_name + # shorten the name in billing account command group + - where: + group: billingAccounts + param: billingAccountName + alias: + - name + - n + - where: + operationGroup: billingAccounts + set: + groupExtensionMode: preview + - where: + operationGroup: BillingAccounts + name: account + # Shouldn't appear in accounts command group, the responses is not related to BollingAccount + - where: + group: BillingAccounts + op: ListInvoiceSectionsByCreateSubscriptionPermission + hidden: true + +# -------- BillingProfile -------- + - where: + operationGroup: BillingProfiles + set: + groupExtensionMode: preview + - where: + operationGroup: BillingProfiles + name: profile + - where: + group: billingProfiles + param: billingProfileName + alias: + - name + - n + - select: 'property' + where: + objectSchema: 'billingProfileCreationRequest' + property: 'poNumber' + set: + name: 'purchase_order_number' + +# -------- Balance -------- + - where: + group: 'availableBalances' + set: + name: 'balance' + - where: + group: availableBalances + set: + groupExtensionMode: preview + +# -------- Customer -------- + - where: + group: Customers + set: + groupExtensionMode: preview + +# -------- Invoice -------- + # customize for download command by manual for ungraceful implmentation by default + - where: + group: Invoices + op: DownloadInvoice + hidden: true + - where: + group: Invoices + op: DownloadMultipleBillingProfileInvoices + hidden: true + - where: + group: Invoices + op: DownloadBillingSubscriptionInvoice + hidden: true + - where: + group: Invoices + op: DownloadMultipleBillingSubscriptionInvoices + hidden: true + # customize for series of get commands by manual for ungraceful implmentation by default + - where: + group: Invoices + op: GetById + hidden: true + - where: + group: Invoices + op: GetBySubscriptionAndInvoiceId + hidden: true + - where: + group: Invoices + param: invoiceName + name: name + alias: # --invoice-name is unnecessary under "billing invoice" command group + - name + - n + +# -------- InvoiceSection -------- + - where: + group: InvoiceSections + set: + groupExtensionMode: preview # bug, won't take effect + +# -------- Policy ------- + - where: + group: Policies + set: + groupExtensionMode: preview + # GetByBillingProfile and GetByCustomer will be implemented in manually customized show command + - where: + group: Policies + op: GetByBillingProfile + hidden: true + - where: + group: Policies + op: GetByCustomer + hidden: true + - where: + group: Policies + op: UpdateCustomer + hidden: true + +# ------ Product ------ + - where: + group: Products + set: + groupExtensionMode: preview + +# ------ Subscription ------ + - where: + group: BillingSubscriptions + set: + name: subscription + groupExtensionMode: preview + +# ------ Property ------ + - where: + group: BillingProperty + set: + name: property + groupExtensionMode: preview + - select: 'property' + where: + objectSchema: 'BillingProfileProperties' + property: 'poNumber' + set: + name: 'purchase_order_number' + +# ------ Transaction ------ + - where: + group: Transactions + set: + groupExtensionMode: preview +``` diff --git a/specification/billing/resource-manager/readme.azureresourceschema.md b/specification/billing/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..e7e163b7b60e --- /dev/null +++ b/specification/billing/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,85 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-billing-2020-05-01 + - tag: schema-billing-2019-10-01-preview + - tag: schema-billing-2018-11-01-preview + - tag: schema-billing-2018-03-01-preview + - tag: schema-billing-2017-04-24-preview + - tag: schema-billing-2017-02-27-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-billing-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/stable/2020-05-01/billing.json + +``` + +### Tag: schema-billing-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2019-10-01-preview/billing.json + +``` + +### Tag: schema-billing-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2018-11-01-preview/billing.json + +``` + +### Tag: schema-billing-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json + - Microsoft.Billing/preview/2018-03-01-preview/billing.json + +``` + +### Tag: schema-billing-2017-04-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2017-04-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2017-04-24-preview/billing.json + +``` + +### Tag: schema-billing-2017-02-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2017-02-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2017-02-27-preview/billing.json + +``` diff --git a/specification/billing/resource-manager/readme.cli.md b/specification/billing/resource-manager/readme.cli.md index c13b35b5db95..0016d91bd5e7 100644 --- a/specification/billing/resource-manager/readme.cli.md +++ b/specification/billing/resource-manager/readme.cli.md @@ -1,33 +1,9 @@ -# Az.Aks -This directory contains the Cli common model for the Aks service. +# Az.Billing +This directory contains the Cli common model for the Billing service. > Metadata ``` yaml # Migrated from Powershell's readme -title: Billing -cli: - cli-directive: - - select: 'property' - where: - objectSchema: 'billingProfileCreationRequest' - property: 'poNumber' - set: - name: 'purchase_order_number' - - select: 'operationGroup' - where: - operationGroup: 'availableBalances' - set: - name: 'available_credit_balance' - - select: 'property' - where: - objectSchema: 'BillingProfileProperties' - property: 'poNumber' - set: - name: 'purchase_order_number' - - select: 'operationGroup' - where: - operationGroup: ^(?!^billingPeriod$)(?!^budget$)(?!^enrollmentAccounts$)(?!^invoices$)(?!^marketplace$)(?!^priceSheet$)(?!^reservationDetail$)(?!^reservationSummary$)(?!^usageAggregate$)(?!^usageDetail$).*$ - hidden: true ``` diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md index 0fcef38b70b7..f6bf507cb97e 100644 --- a/specification/billing/resource-manager/readme.go.md +++ b/specification/billing/resource-manager/readme.go.md @@ -26,7 +26,7 @@ These settings apply only when `--tag=package-2020-05 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-05' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace) ``` ### Tag: package-2018-11-preview and go diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md index f2031f4bbc94..54b10224deae 100644 --- a/specification/billing/resource-manager/readme.md +++ b/specification/billing/resource-manager/readme.md @@ -102,8 +102,12 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-cli-extensions after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_billing'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js billing/resource-manager ``` @@ -231,33 +235,6 @@ 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.Billing/stable/2020-05-01/billing.json - - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json - - $(this-folder)/Microsoft.Billing/preview/2019-10-01-preview/billing.json - - $(this-folder)/Microsoft.Billing/preview/2018-11-01-preview/billing.json - - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billing.json - - $(this-folder)/Microsoft.Billing/preview/2017-04-24-preview/billing.json - - $(this-folder)/Microsoft.Billing/preview/2017-02-27-preview/billing.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 -``` +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/blockchain/resource-manager/readme.azureresourceschema.md b/specification/blockchain/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..01c28ae04c95 --- /dev/null +++ b/specification/blockchain/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-blockchain-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-blockchain-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blockchain-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json + +``` diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md index 806fc6ac3e2d..ebea104cb0f2 100644 --- a/specification/blockchain/resource-manager/readme.md +++ b/specification/blockchain/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js blockchain/resource-manager ``` ## C# @@ -86,27 +89,7 @@ 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.Blockchain/preview/2018-06-01-preview/blockchain.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/blueprint/resource-manager/readme.azureresourceschema.md b/specification/blueprint/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4e9a1ed8e02a --- /dev/null +++ b/specification/blueprint/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,39 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-blueprint-2018-11-01-preview + - tag: schema-blueprint-2017-11-11-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-blueprint-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blueprint-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json + - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json + - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json + +``` + +### Tag: schema-blueprint-2017-11-11-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blueprint-2017-11-11-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json + - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json + +``` diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md index 5fbee9859aa1..e133f1b7ed9f 100644 --- a/specification/blueprint/resource-manager/readme.md +++ b/specification/blueprint/resource-manager/readme.md @@ -63,6 +63,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js blueprint/resource-manager ``` @@ -131,31 +134,7 @@ directive: reason: OperationsAPI for Microsoft.Management is out of scope. ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json - - $(this-folder)/Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json - - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json - - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json - - $(this-folder)/Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3e03a113a69a --- /dev/null +++ b/specification/botservice/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-botservice-2020-06-02 + - tag: schema-botservice-2018-07-12 + - tag: schema-botservice-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-botservice-2020-06-02 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/stable/2020-06-02/botservice.json + +``` + +### Tag: schema-botservice-2018-07-12 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2018-07-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/preview/2018-07-12/botservice.json + +``` + +### Tag: schema-botservice-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/preview/2017-12-01/botservice.json + +``` diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md index de1dff1bfa0b..f2d4bf12432c 100644 --- a/specification/botservice/resource-manager/readme.md +++ b/specification/botservice/resource-manager/readme.md @@ -96,6 +96,10 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js botservice/resource-manager + - repo: azure-sdk-for-js ``` ## C# @@ -124,28 +128,7 @@ See configuration in [readme.java.md](./readme.java.md) See readme.python.md file. -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.BotService/stable/2020-06-02/botservice.json - - $(this-folder)/Microsoft.BotService/preview/2018-07-12/botservice.json - - $(this-folder)/Microsoft.BotService/preview/2017-12-01/botservice.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/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json index e3ccabfbb2ca..72bfef245f21 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json @@ -2557,7 +2557,6 @@ "description": "Defines the parameters for RemoteAddress match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2604,7 +2603,6 @@ "description": "Defines the parameters for RequestMethod match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2651,7 +2649,6 @@ "description": "Defines the parameters for QueryString match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2704,8 +2701,6 @@ "description": "Defines the parameters for PostArgs match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -2762,7 +2757,6 @@ "description": "Defines the parameters for RequestUri match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2815,8 +2809,6 @@ "description": "Defines the parameters for RequestHeader match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -2873,7 +2865,6 @@ "description": "Defines the parameters for RequestBody match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2926,7 +2917,6 @@ "description": "Defines the parameters for RequestScheme match conditions ", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2964,7 +2954,6 @@ "description": "Defines the parameters for UrlPath match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3018,7 +3007,6 @@ "description": "Defines the parameters for UrlFileExtension match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3071,7 +3059,6 @@ "description": "Defines the parameters for UrlFilename match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3124,7 +3111,6 @@ "description": "Defines the parameters for HttpVersion match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3162,8 +3148,6 @@ "description": "Defines the parameters for Cookies match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3220,7 +3204,6 @@ "description": "Defines the parameters for IsDevice match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -4072,7 +4055,6 @@ "resourceGroupName", "vaultName", "secretName", - "secretVersion", "updateRule", "deleteRule" ], diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json index e2b319a2e9d7..85e58bdd2080 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json @@ -2567,7 +2567,6 @@ "description": "Defines the parameters for RemoteAddress match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2614,7 +2613,6 @@ "description": "Defines the parameters for RequestMethod match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2661,7 +2659,6 @@ "description": "Defines the parameters for QueryString match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2714,8 +2711,6 @@ "description": "Defines the parameters for PostArgs match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -2772,7 +2767,6 @@ "description": "Defines the parameters for RequestUri match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2825,8 +2819,6 @@ "description": "Defines the parameters for RequestHeader match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -2883,7 +2875,6 @@ "description": "Defines the parameters for RequestBody match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2936,7 +2927,6 @@ "description": "Defines the parameters for RequestScheme match conditions ", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -2974,7 +2964,6 @@ "description": "Defines the parameters for UrlPath match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3028,7 +3017,6 @@ "description": "Defines the parameters for UrlFileExtension match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3081,7 +3069,6 @@ "description": "Defines the parameters for UrlFilename match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3134,7 +3121,6 @@ "description": "Defines the parameters for HttpVersion match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3172,8 +3158,6 @@ "description": "Defines the parameters for Cookies match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3230,7 +3214,6 @@ "description": "Defines the parameters for IsDevice match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -4082,7 +4065,6 @@ "resourceGroupName", "vaultName", "secretName", - "secretVersion", "updateRule", "deleteRule" ], 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 4282327a5c0a..985cc15ee100 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 @@ -3037,7 +3037,6 @@ "description": "Defines the parameters for RemoteAddress match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3084,7 +3083,6 @@ "description": "Defines the parameters for RequestMethod match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3131,7 +3129,6 @@ "description": "Defines the parameters for QueryString match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3184,8 +3181,6 @@ "description": "Defines the parameters for PostArgs match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3242,7 +3237,6 @@ "description": "Defines the parameters for RequestUri match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3295,8 +3289,6 @@ "description": "Defines the parameters for RequestHeader match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3353,7 +3345,6 @@ "description": "Defines the parameters for RequestBody match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3406,7 +3397,6 @@ "description": "Defines the parameters for RequestScheme match conditions ", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3444,7 +3434,6 @@ "description": "Defines the parameters for UrlPath match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3498,7 +3487,6 @@ "description": "Defines the parameters for UrlFileExtension match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3551,7 +3539,6 @@ "description": "Defines the parameters for UrlFilename match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3604,7 +3591,6 @@ "description": "Defines the parameters for HttpVersion match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3642,8 +3628,6 @@ "description": "Defines the parameters for Cookies match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3700,7 +3684,6 @@ "description": "Defines the parameters for IsDevice match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -4868,7 +4851,6 @@ "resourceGroupName", "vaultName", "secretName", - "secretVersion", "updateRule", "deleteRule" ], 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 40bda7fa0c28..5b5bb55288fa 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 @@ -3054,7 +3054,6 @@ "description": "Defines the parameters for RemoteAddress match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3101,7 +3100,6 @@ "description": "Defines the parameters for RequestMethod match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3148,7 +3146,6 @@ "description": "Defines the parameters for QueryString match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3201,8 +3198,6 @@ "description": "Defines the parameters for PostArgs match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3259,7 +3254,6 @@ "description": "Defines the parameters for RequestUri match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3312,8 +3306,6 @@ "description": "Defines the parameters for RequestHeader match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3370,7 +3362,6 @@ "description": "Defines the parameters for RequestBody match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3423,7 +3414,6 @@ "description": "Defines the parameters for RequestScheme match conditions ", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3461,7 +3451,6 @@ "description": "Defines the parameters for UrlPath match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3515,7 +3504,6 @@ "description": "Defines the parameters for UrlFileExtension match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3568,7 +3556,6 @@ "description": "Defines the parameters for UrlFilename match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3621,7 +3608,6 @@ "description": "Defines the parameters for HttpVersion match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3659,8 +3645,6 @@ "description": "Defines the parameters for Cookies match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3717,7 +3701,6 @@ "description": "Defines the parameters for IsDevice match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -4982,7 +4965,6 @@ "resourceGroupName", "vaultName", "secretName", - "secretVersion", "updateRule", "deleteRule" ], 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 2fcd9a9690c9..24ba251127d2 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 @@ -3054,7 +3054,6 @@ "description": "Defines the parameters for RemoteAddress match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3101,7 +3100,6 @@ "description": "Defines the parameters for RequestMethod match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3148,7 +3146,6 @@ "description": "Defines the parameters for QueryString match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3201,8 +3198,6 @@ "description": "Defines the parameters for PostArgs match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3259,7 +3254,6 @@ "description": "Defines the parameters for RequestUri match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3312,8 +3306,6 @@ "description": "Defines the parameters for RequestHeader match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3370,7 +3362,6 @@ "description": "Defines the parameters for RequestBody match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3423,7 +3414,6 @@ "description": "Defines the parameters for RequestScheme match conditions ", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3461,7 +3451,6 @@ "description": "Defines the parameters for UrlPath match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3515,7 +3504,6 @@ "description": "Defines the parameters for UrlFileExtension match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3568,7 +3556,6 @@ "description": "Defines the parameters for UrlFilename match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3621,7 +3608,6 @@ "description": "Defines the parameters for HttpVersion match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -3659,8 +3645,6 @@ "description": "Defines the parameters for Cookies match conditions", "required": [ "operator", - "matchValues", - "selector", "@odata.type" ], "properties": { @@ -3717,7 +3701,6 @@ "description": "Defines the parameters for IsDevice match conditions", "required": [ "operator", - "matchValues", "@odata.type" ], "properties": { @@ -5038,7 +5021,6 @@ "resourceGroupName", "vaultName", "secretName", - "secretVersion", "updateRule", "deleteRule" ], diff --git a/specification/cdn/resource-manager/readme.azureresourceschema.md b/specification/cdn/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b4b719cb1979 --- /dev/null +++ b/specification/cdn/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,135 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cdn-2020-04-15 + - tag: schema-cdn-2019-12-31 + - tag: schema-cdn-2019-06-15-preview + - tag: schema-cdn-2019-06-15 + - tag: schema-cdn-2019-04-15 + - tag: schema-cdn-2017-10-12 + - tag: schema-cdn-2017-04-02 + - tag: schema-cdn-2016-10-02 + - tag: schema-cdn-2016-04-02 + - tag: schema-cdn-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cdn-2020-04-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2020-04-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2020-04-15/cdn.json + - Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-12-31 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-12-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-12-31/cdn.json + +``` + +### Tag: schema-cdn-2019-06-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-06-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json + - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-06-15/cdn.json + - Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-04-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-04-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-04-15/cdn.json + +``` + +### Tag: schema-cdn-2017-10-12 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2017-10-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2017-10-12/cdn.json + +``` + +### Tag: schema-cdn-2017-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2017-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2017-04-02/cdn.json + +``` + +### Tag: schema-cdn-2016-10-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2016-10-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2016-10-02/cdn.json + +``` + +### Tag: schema-cdn-2016-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2016-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2016-04-02/cdn.json + +``` + +### Tag: schema-cdn-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2015-06-01/cdn.json + +``` diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md index b53dccbfb0c7..a660c2a5dd61 100644 --- a/specification/cdn/resource-manager/readme.go.md +++ b/specification/cdn/resource-manager/readme.go.md @@ -29,7 +29,7 @@ These settings apply only when `--tag=package-2020-04 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-04' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-04-15/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-15/$(namespace) ``` ### Tag: package-2019-04 and go diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index 25bcc654b0cc..d7f99a1c0370 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -148,6 +148,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cdn/resource-manager ``` @@ -175,39 +178,7 @@ 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 +## AzureResourceSchema -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.Cdn/stable/2020-04-15/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json - - $(this-folder)/Microsoft.Cdn/stable/2019-12-31/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json - - $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdn.json - - $(this-folder)/Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json - - $(this-folder)/Microsoft.Cdn/stable/2019-04-15/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2017-10-12/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2017-04-02/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2016-10-02/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2016-04-02/cdn.json - - $(this-folder)/Microsoft.Cdn/stable/2015-06-01/cdn.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1ff06754928a --- /dev/null +++ b/specification/changeanalysis/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-changeanalysis-2020-04-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json + +``` diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md index 82bb9acfa298..d8cc3055ec39 100644 --- a/specification/changeanalysis/resource-manager/readme.md +++ b/specification/changeanalysis/resource-manager/readme.md @@ -57,6 +57,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_changeanalysis'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js changeanalysis/resource-manager ``` ## Go @@ -114,27 +117,7 @@ directive: } ``` -## 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.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/cloudshell/resource-manager/readme.azureresourceschema.md b/specification/cloudshell/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6f76c466351e --- /dev/null +++ b/specification/cloudshell/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-portal-2018-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-portal-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/stable/2018-10-01/CloudShell.json + +``` diff --git a/specification/cloudshell/resource-manager/readme.md b/specification/cloudshell/resource-manager/readme.md index 76ac94994ab1..d1f360640baa 100644 --- a/specification/cloudshell/resource-manager/readme.md +++ b/specification/cloudshell/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_cloudshell'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cloudshell/resource-manager ``` ## Go @@ -146,27 +149,7 @@ csharp: namespace: Microsoft.CloudShell output-folder: $(csharp-sdks-folder)/CloudShell/management/Microsoft.CloudShell/GeneratedProtocol ``` -## 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.Portal/stable/2018-10-01/CloudShell.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json index ac5d89494132..3c12b4188bed 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json @@ -31,7 +31,7 @@ "post": { "summary": "Detect anomalies for the entire series in batch.", "description": "This operation generates a model using an entire series, each point is detected with the same model. With this method, points before and after a certain point are used to determine whether it is an anomaly. The entire detection can give user an overall status of the time series.", - "operationId": "EntireDetect", + "operationId": "DetectEntireSeries", "parameters": [ { "name": "body", @@ -39,7 +39,7 @@ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", "required": true, "schema": { - "$ref": "#/definitions/Request" + "$ref": "#/definitions/DetectRequest" } } ], @@ -59,7 +59,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -74,7 +74,7 @@ "post": { "summary": "Detect anomaly status of the latest point in time series.", "description": "This operation generates a model using points before the latest one. With this method, only historical points are used to determine whether the target point is an anomaly. The latest point detecting operation matches the scenario of real-time monitoring of business metrics.", - "operationId": "LastDetect", + "operationId": "DetectLastPoint", "parameters": [ { "name": "body", @@ -82,7 +82,7 @@ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", "required": true, "schema": { - "$ref": "#/definitions/Request" + "$ref": "#/definitions/DetectRequest" } } ], @@ -102,7 +102,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -113,11 +113,11 @@ } } }, - "/timeseries/changePoint/detect": { + "/timeseries/changepoint/detect": { "post": { "summary": "Detect change point for the entire series", "description": "Evaluate change point score of every series point", - "operationId": "ChangePointDetect", + "operationId": "DetectChangePoint", "parameters": [ { "name": "body", @@ -145,7 +145,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -158,7 +158,7 @@ } }, "definitions": { - "APIError": { + "AnomalyDetectorError": { "type": "object", "description": "Error information returned by the API.", "properties": { @@ -186,13 +186,38 @@ } } }, - "Granularity": { + "TimeGranularity": { "type": "string", "description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid.", "x-nullable": false, "x-ms-enum": { - "name": "Granularity", - "modelAsString": false + "name": "TimeGranularity", + "modelAsString": false, + "values": [ + { + "value": "yearly" + }, + { + "value": "monthly" + }, + { + "value": "weekly" + }, + { + "value": "daily" + }, + { + "value": "hourly" + }, + { + "name": "perMinute", + "value": "minutely" + }, + { + "name": "perSecond", + "value": "secondly" + } + ] }, "enum": [ "yearly", @@ -210,7 +235,7 @@ "x-nullable": false, "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}." }, - "Request": { + "DetectRequest": { "type": "object", "required": [ "granularity", @@ -221,11 +246,11 @@ "type": "array", "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.", "items": { - "$ref": "#/definitions/Point" + "$ref": "#/definitions/TimeSeriesPoint" } }, "granularity": { - "$ref": "#/definitions/Granularity" + "$ref": "#/definitions/TimeGranularity" }, "customInterval": { "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.", @@ -248,7 +273,7 @@ } } }, - "Point": { + "TimeSeriesPoint": { "type": "object", "required": [ "timestamp", @@ -400,11 +425,11 @@ "type": "array", "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.", "items": { - "$ref": "#/definitions/Point" + "$ref": "#/definitions/TimeSeriesPoint" } }, "granularity": { - "$ref": "#/definitions/Granularity", + "$ref": "#/definitions/TimeGranularity", "description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid." }, "customInterval": { diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md index e698a92e151e..f02d74f86624 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md @@ -11,16 +11,16 @@ add-credentials: true credential-default-policy-type: AzureKeyCredentialPolicy credential-key-header-name: Ocp-Apim-Subscription-Key payload-flattening-threshold: 1 -namespace: azure.cognitiveservices.anomalydetector -package-name: azure-cognitiveservices-anomalydetector +namespace: azure.ai.anomalydetector +package-name: azure-ai-anomalydetector package-version: 0.2.0 clear-output-folder: true ``` ``` yaml $(python-mode) == 'update' no-namespace-folders: true -output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector +output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector ``` ``` yaml $(python-mode) == 'create' basic-setup-py: true -output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector +output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector ``` diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json new file mode 100644 index 000000000000..2cd2d43ed37c --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json @@ -0,0 +1,500 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.1-preview.2", + "title": "Computer Vision Client", + "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "host": "westcentralus.api.cognitive.microsoft.com", + "basePath": "/vision/v3.1-preview.2", + "schemes": [ + "https" + ], + "paths": { + "/read/analyze": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "Read", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + }, + { + "$ref": "#/parameters/Pages" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithUrl.json" + } + } + } + }, + "/read/analyzeResults/{operationId}": { + "get": { + "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.", + "operationId": "GetReadResult", + "parameters": [ + { + "name": "operationId", + "in": "path", + "description": "Id of read operation returned in the response of the 'Read' interface.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Returns the read operation status.", + "schema": { + "$ref": "#/definitions/ReadOperationResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Get Read Result request": { + "$ref": "./examples/SuccessfulGetReadResult.json" + } + } + } + } + }, + "x-ms-paths": { + "/read/analyze?overload=stream": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "ReadInStream", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + }, + { + "$ref": "#/parameters/Pages" + } + ], + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithStream.json" + } + } + } + } + }, + "definitions": { + "ReadOperationResult": { + "type": "object", + "description": "OCR result of the read operation.", + "properties": { + "status": { + "description": "Status of the read operation.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "type": "string", + "description": "Get UTC date time the batch operation was submitted.", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "type": "string", + "description": "Get last updated UTC date time of this batch operation.", + "x-nullable": false + }, + "analyzeResult": { + "description": "Analyze batch operation result.", + "type": "object", + "$ref": "#/definitions/analyzeResults" + } + } + }, + "OperationStatus": { + "type": "string", + "description": "Status code of the text operation.", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded" + ], + "x-ms-enum": { + "name": "OperationStatusCodes", + "modelAsString": false + }, + "x-nullable": false + }, + "ReadResult": { + "description": "Text extracted from a page in the input document.", + "type": "object", + "required": [ + "page", + "angle", + "width", + "height", + "unit", + "lines" + ], + "properties": { + "page": { + "description": "The 1-based page number of the recognition result.", + "type": "integer" + }, + "language": { + "description": "The BCP-47 language code of the recognized text page.", + "type": "string" + }, + "angle": { + "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).", + "type": "number" + }, + "width": { + "description": "The width of the image in pixels or the PDF in inches.", + "type": "number" + }, + "height": { + "description": "The height of the image in pixels or the PDF in inches.", + "type": "number" + }, + "unit": { + "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.", + "type": "string", + "enum": [ + "pixel", + "inch" + ], + "x-ms-enum": { + "name": "TextRecognitionResultDimensionUnit", + "modelAsString": false + }, + "x-nullable": false + }, + "lines": { + "description": "A list of recognized text lines.", + "type": "array", + "items": { + "$ref": "#/definitions/Line" + } + } + } + }, + "analyzeResults": { + "description": "Analyze batch operation result.", + "type": "object", + "required": [ + "version", + "readResults" + ], + "properties": { + "version": { + "description": "Version of schema used for this result.", + "type": "string" + }, + "readResults": { + "description": "Text extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadResult" + } + } + } + }, + "Line": { + "description": "An object representing a recognized text line.", + "type": "object", + "required": [ + "boundingBox", + "text", + "words" + ], + "properties": { + "language": { + "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of a recognized line.", + "$ref": "#/definitions/BoundingBox" + }, + "appearance": { + "description": "Style and styleConfidence of the text line.", + "type": "object", + "$ref": "#/definitions/Appearance" + }, + "text": { + "description": "The text content of the line.", + "type": "string" + }, + "words": { + "description": "List of words in the text line.", + "type": "array", + "items": { + "$ref": "#/definitions/Word" + } + } + } + }, + "Word": { + "description": "An object representing a recognized word.", + "type": "object", + "required": [ + "boundingBox", + "text", + "confidence" + ], + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized word.", + "$ref": "#/definitions/BoundingBox" + }, + "text": { + "description": "The text content of the word.", + "type": "string" + }, + "confidence": { + "description": "Qualitative confidence measure.", + "type": "number", + "format": "float" + } + } + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.", + "type": "array", + "items": { + "type": "number", + "x-nullable": false + } + }, + "Appearance": { + "description": "An object representing the style and styleConfidence.", + "type": "object", + "required": [ + "style", + "styleConfidence" + ], + "properties": { + "style": { + "description": "The text line style.", + "type": "string", + "enum": [ + "handwriting", + "print" + ] + }, + "styleConfidence": { + "description": "The confidence of text line style.", + "type": "number", + "format": "float" + } + } + }, + "ComputerVisionError": { + "description": "Details about the API request error.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "InvalidImageFormat", + "UnsupportedMediaType", + "InvalidImageUrl", + "NotSupportedFeature", + "NotSupportedImage", + "Timeout", + "InternalServerError", + "InvalidImageSize", + "BadArgument", + "DetectFaceError", + "NotSupportedLanguage", + "InvalidThumbnailSize", + "InvalidDetails", + "InvalidModel", + "CancelledRequest", + "NotSupportedVisualFeature", + "FailedToProcess", + "Unspecified", + "StorageException", + "InvalidPageRange" + ], + "x-ms-enum": { + "name": "ComputerVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + }, + "requestId": { + "description": "A unique request identifier.", + "type": "string" + } + } + }, + "ImageUrl": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + } + }, + "parameters": { + "OcrDetectionLanguage": { + "name": "language", + "in": "query", + "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch ('nl'), French ('fr'), German ('de'), Italian ('it'), Portuguese ('pt'), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.", + "required": false, + "default": "en", + "x-ms-parameter-location": "method", + "type": "string", + "x-ms-enum": { + "name": "OcrDetectionLanguage", + "modelAsString": true + }, + "enum": [ + "en", + "es", + "fr", + "de", + "it", + "nl", + "pt" + ] + }, + "ImageUrl": { + "name": "ImageUrl", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-client-flatten": true, + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + "ImageStream": { + "name": "Image", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "An image stream.", + "schema": { + "type": "object", + "format": "file" + } + }, + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoints.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "Pages": { + "name": "Pages", + "in": "query", + "description": "Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma or space.", + "required": false, + "x-ms-parameter-location": "method", + "type": "array", + "items": { + "type": "string", + "pattern": "(^[0-9]+-[0-9]+$)|(^[0-9]+$)" + }, + "collectionFormat": "csv" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json new file mode 100644 index 000000000000..a6ad36931547 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json @@ -0,0 +1,385 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "status": "succeeded", + "createdDateTime": "2019-10-03T14:32:04.236Z", + "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z", + "analyzeResult": { + "version": "v3.1", + "readResults": [ + { + "page": 1, + "language": "en", + "angle": 49.59, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 202, + 618, + 2047, + 643, + 2046, + 840, + 200, + 813 + ], + "appearance": { + "style": "print", + "styleConfidence": 0.995 + }, + "text": "Our greatest glory is not", + "words": [ + { + "boundingBox": [ + 204, + 627, + 481, + 628, + 481, + 830, + 204, + 829 + ], + "text": "Our", + "confidence": 0.164 + }, + { + "boundingBox": [ + 519, + 628, + 1057, + 630, + 1057, + 832, + 518, + 830 + ], + "text": "greatest", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1114, + 630, + 1549, + 631, + 1548, + 833, + 1114, + 832 + ], + "text": "glory", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1586, + 631, + 1785, + 632, + 1784, + 834, + 1586, + 833 + ], + "text": "is", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1822, + 632, + 2115, + 633, + 2115, + 835, + 1822, + 834 + ], + "text": "not", + "confidence": 0.164 + } + ] + }, + { + "boundingBox": [ + 420, + 1273, + 2954, + 1250, + 2958, + 1488, + 422, + 1511 + ], + "appearance": { + "style": "handwriting", + "styleConfidence": 0.985 + }, + "text": "but in rising every time we fall", + "words": [ + { + "boundingBox": [ + 423, + 1269, + 634, + 1268, + 635, + 1507, + 424, + 1508 + ], + "text": "but", + "confidence": 0.164 + }, + { + "boundingBox": [ + 667, + 1268, + 808, + 1268, + 809, + 1506, + 668, + 1507 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 874, + 1267, + 1289, + 1265, + 1290, + 1504, + 875, + 1506 + ], + "text": "rising", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1331, + 1265, + 1771, + 1263, + 1772, + 1502, + 1332, + 1504 + ], + "text": "every", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1812, + 1263, + 2178, + 1261, + 2179, + 1500, + 1813, + 1502 + ], + "text": "time", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2219, + 1261, + 2510, + 1260, + 2511, + 1498, + 2220, + 1500 + ], + "text": "we", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2551, + 1260, + 3016, + 1258, + 3017, + 1496, + 2552, + 1498 + ], + "text": "fall", + "confidence": 0.164 + } + ] + }, + { + "language": "es", + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "appearance": { + "style": "print", + "styleConfidence": 0.995 + }, + "text": "Viva la vida", + "words": [ + { + "boundingBox": [ + 323, + 454, + 416, + 449, + 418, + 494, + 325, + 501 + ], + "text": "Viva", + "confidence": 0.164 + }, + { + "boundingBox": [ + 92, + 550, + 429, + 541, + 430, + 591, + 94, + 600 + ], + "text": "la", + "confidence": 0.164 + }, + { + "boundingBox": [ + 58, + 466, + 268, + 458, + 270, + 505, + 161, + 512 + ], + "text": "vida", + "confidence": 0.164 + } + ] + } + ] + }, + { + "page": 2, + "language": "en", + "angle": 1.32, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "appearance": { + "style": "handwriting", + "styleConfidence": 0.855 + }, + "text": "in never failing ,", + "words": [ + { + "boundingBox": [ + 1611, + 934, + 1707, + 933, + 1708, + 1147, + 1613, + 1147 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1753, + 933, + 2132, + 930, + 2133, + 1144, + 1754, + 1146 + ], + "text": "never", + "confidence": 0.999 + }, + { + "boundingBox": [ + 2162, + 930, + 2673, + 927, + 2674, + 1140, + 2164, + 1144 + ], + "text": "failing", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2703, + 926, + 2788, + 926, + 2790, + 1139, + 2705, + 1140 + ], + "text": ",", + "confidence": 0.164 + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json new file mode 100644 index 000000000000..dc0a4f1675a1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "Image": "{binary}", + "Pages": [ + "2", + "3" + ] + }, + "responses": { + "202": { + "header": { + "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json new file mode 100644 index 000000000000..a8d69fc50abe --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "ImageUrl": { + "url": "{url}" + }, + "Pages": [ + "2", + "3" + ] + }, + "responses": { + "202": { + "header": { + "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md index 8fb795822422..1386894f71a3 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md @@ -16,6 +16,7 @@ batch: - tag: release_2_0 - tag: release_2_1 - tag: release_3_0 + - tag: release_3_1 ``` ### Tag: release_2_0 and go @@ -43,4 +44,22 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_1_preview_2' && $(go) +output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.1-preview.2/$(namespace) +``` + +### Tag: release_3_1 and go + +These settings apply only when `--tag=release_3_1 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_1' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.1/$(namespace) ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md index 020fca003e1d..aa285d970a63 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md @@ -4,11 +4,11 @@ Configuration for generating Computer Vision SDK. -The current release is `release_3_0`. +The current release is `release_3_1`. ``` yaml -tag: release_3_0 +tag: release_3_1 add-credentials: true openapi-type: data-plane ``` @@ -49,6 +49,23 @@ input-file: - stable/v3.0/Ocr.json ``` +### Release 3.1-preview.2 +These settings apply only when `--tag=release_3_1_preview_2` is specified on the command line. + +``` yaml $(tag) == 'release_3_1_preview_2' +input-file: + - preview/v3.1-preview.2/Ocr.json +``` + +### Release 3.1 +These settings apply only when `--tag=release_3_1` is specified on the command line. + +``` yaml $(tag) == 'release_3_1' +input-file: + - stable/v3.1/ComputerVision.json + - stable/v3.1/Ocr.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -166,6 +183,7 @@ input-file: - $(this-folder)/preview/v3.0-preview/Ocr.json - $(this-folder)/stable/v3.0/ComputerVision.json - $(this-folder)/stable/v3.0/Ocr.json + - $(this-folder)/preview/v3.1-preview.2/Ocr.json ``` diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md index 019525023fad..b93a320d0992 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md @@ -41,4 +41,15 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_3_1' && $(ruby) +namespace: "Azure::CognitiveServices::ComputerVision::V3_1" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_computervision/lib +title: "ComputerVisionClient" ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json new file mode 100644 index 000000000000..35ef27a5a632 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/ComputerVision.json @@ -0,0 +1,1840 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.1", + "title": "Computer Vision Client", + "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "host": "westcentralus.api.cognitive.microsoft.com", + "basePath": "/vision/v3.1", + "schemes": [ + "https" + ], + "paths": { + "/analyze": { + "post": { + "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/VisualFeatures" + }, + { + "name": "details", + "in": "query", + "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "Details", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.", + "schema": { + "$ref": "#/definitions/ImageAnalysis" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImage request": { + "$ref": "./examples/SuccessfulAnalyzeImageWithUrl.json" + } + } + } + }, + "/describe": { + "post": { + "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DescribeImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "maxCandidates", + "in": "query", + "description": "Maximum number of candidate descriptions to be returned. The default is 1.", + "required": false, + "type": "integer", + "format": "int32", + "default": 1, + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Image description object.", + "schema": { + "$ref": "#/definitions/ImageDescription" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DescribeImage request": { + "$ref": "./examples/SuccessfulDescribeImageWithUrl.json" + } + } + } + }, + "/detect": { + "post": { + "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DetectObjects", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response include the detected objects in JSON format.", + "schema": { + "$ref": "#/definitions/DetectResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectObjects request": { + "$ref": "./examples/SuccessfulDetectObjectsWithUrl.json" + } + } + } + }, + "/models": { + "get": { + "description": "This operation returns the list of domain-specific models that are supported by the Computer Vision API. Currently, the API supports following domain-specific models: celebrity recognizer, landmark recognizer.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "ListModels", + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "List of available domain models.", + "schema": { + "$ref": "#/definitions/ListModelsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful ListModels request": { + "$ref": "./examples/SuccessfulListModels.json" + } + } + } + }, + "/models/{model}/analyze": { + "post": { + "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageByDomain", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "The domain-specific content to recognize.", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Analysis result based on the domain model.", + "schema": { + "$ref": "#/definitions/DomainModelResults" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImageByDomain request": { + "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithUrl.json" + } + } + } + }, + "/ocr": { + "post": { + "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.", + "operationId": "RecognizePrintedText", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/DetectOrientation" + }, + { + "$ref": "#/parameters/OcrLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "schema": { + "$ref": "#/definitions/OcrResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful RecognizePrintedText request": { + "$ref": "./examples/SuccessfulRecognizePrintedTextWithUrl.json" + } + } + } + }, + "/tag": { + "post": { + "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "TagImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "Image tags object.", + "schema": { + "$ref": "#/definitions/TagResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful TagImage request": { + "$ref": "./examples/SuccessfulTagImageWithUrl.json" + } + } + } + }, + "/generateThumbnail": { + "post": { + "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GenerateThumbnail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "width", + "in": "query", + "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "height", + "in": "query", + "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "smartCropping", + "in": "query", + "description": "Boolean flag for enabling smart cropping.", + "required": false, + "type": "boolean", + "default": false, + "x-nullable": true + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The generated thumbnail in binary format.", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GenerateThumbnail request": { + "$ref": "./examples/SuccessfulGenerateThumbnailWithUrl.json" + } + } + } + }, + "/areaOfInterest": { + "post": { + "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GetAreaOfInterest", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageUrl" + } + ], + "responses": { + "200": { + "description": "The response includes the extracted area of interest in JSON format.", + "schema": { + "$ref": "#/definitions/AreaOfInterestResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetAreaOfInterest request": { + "$ref": "./examples/SuccessfulGetAreaOfInterestWithUrl.json" + } + } + } + } + }, + "definitions": { + "ImageAnalysis": { + "description": "Result of AnalyzeImage operation.", + "type": "object", + "properties": { + "categories": { + "description": "An array indicating identified categories.", + "type": "array", + "items": { + "$ref": "#/definitions/Category" + }, + "x-nullable": true + }, + "adult": { + "$ref": "#/definitions/AdultInfo", + "description": "An object describing whether the image contains adult-oriented content and/or is racy." + }, + "color": { + "$ref": "#/definitions/ColorInfo", + "description": "An object providing additional metadata describing color attributes." + }, + "imageType": { + "$ref": "#/definitions/ImageType", + "description": "An object providing possible image types and matching confidence levels." + }, + "tags": { + "description": "A list of tags with confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "x-nullable": true + }, + "description": { + "$ref": "#/definitions/ImageDescriptionDetails", + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata." + }, + "faces": { + "description": "An array of possible faces within the image.", + "type": "array", + "items": { + "$ref": "#/definitions/FaceDescription" + }, + "x-nullable": true + }, + "objects": { + "description": "Array of objects describing what was detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + }, + "x-nullable": true + }, + "brands": { + "description": "Array of brands detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedBrand" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "Category": { + "description": "An object describing identified category.", + "type": "object", + "properties": { + "name": { + "description": "Name of the category.", + "type": "string", + "x-nullable": true + }, + "score": { + "format": "double", + "description": "Scoring of the category.", + "type": "number", + "x-nullable": false + }, + "detail": { + "$ref": "#/definitions/CategoryDetail", + "description": "Details of the identified category." + } + }, + "x-nullable": true + }, + "AdultInfo": { + "description": "An object describing whether the image contains adult-oriented content and/or is racy.", + "type": "object", + "properties": { + "isAdultContent": { + "description": "A value indicating if the image contains adult-oriented content.", + "type": "boolean", + "x-nullable": false + }, + "isRacyContent": { + "description": "A value indicating if the image is racy.", + "type": "boolean", + "x-nullable": false + }, + "isGoryContent": { + "description": "A value indicating if the image is gory.", + "type": "boolean", + "x-nullable": false + }, + "adultScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how much the content is considered adult-oriented within the image.", + "type": "number", + "x-nullable": false + }, + "racyScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how suggestive is the image.", + "type": "number", + "x-nullable": false + }, + "goreScore": { + "format": "double", + "description": "Score from 0 to 1 that indicates how gory is the image.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ColorInfo": { + "description": "An object providing additional metadata describing color attributes.", + "type": "object", + "properties": { + "dominantColorForeground": { + "description": "Possible dominant foreground color.", + "type": "string", + "x-nullable": true + }, + "dominantColorBackground": { + "description": "Possible dominant background color.", + "type": "string", + "x-nullable": true + }, + "dominantColors": { + "description": "An array of possible dominant colors.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + }, + "accentColor": { + "description": "Possible accent color.", + "type": "string", + "x-nullable": true + }, + "isBWImg": { + "description": "A value indicating if the image is black and white.", + "type": "boolean", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageType": { + "description": "An object providing possible image types and matching confidence levels.", + "type": "object", + "properties": { + "clipArtType": { + "format": "int32", + "description": "Confidence level that the image is a clip art.", + "type": "integer", + "x-nullable": false + }, + "lineDrawingType": { + "format": "int32", + "description": "Confidence level that the image is a line drawing.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageTag": { + "description": "An entity observation in the image, along with the confidence score.", + "type": "object", + "properties": { + "name": { + "description": "Name of the entity.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "The level of confidence that the entity was observed.", + "type": "number", + "x-nullable": false + }, + "hint": { + "description": "Optional hint/details for this tag.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageDescriptionDetails": { + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "type": "object", + "properties": { + "tags": { + "description": "A collection of image tags.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + }, + "captions": { + "description": "A list of captions, sorted by confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageCaption" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "FaceDescription": { + "description": "An object describing a face identified in the image.", + "type": "object", + "properties": { + "age": { + "format": "int32", + "description": "Possible age of the face.", + "type": "integer", + "x-nullable": false + }, + "gender": { + "description": "Possible gender of the face.", + "enum": [ + "Male", + "Female" + ], + "type": "string", + "x-ms-enum": { + "name": "Gender", + "modelAsString": false + }, + "x-nullable": true + }, + "faceRectangle": { + "$ref": "#/definitions/FaceRectangle", + "description": "Rectangle in the image containing the identified face." + } + }, + "x-nullable": true + }, + "DetectedObject": { + "description": "An object detected in an image.", + "type": "object", + "properties": { + "rectangle": { + "$ref": "#/definitions/BoundingRect", + "description": "Approximate location of the detected object.", + "readOnly": true + }, + "object": { + "description": "Label for the object.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "parent": { + "$ref": "#/definitions/ObjectHierarchy", + "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'." + } + }, + "x-nullable": true + }, + "DetectedBrand": { + "description": "A brand detected in an image.", + "type": "object", + "properties": { + "name": { + "description": "Label for the brand.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the brand in the image, as a value ranging from 0 to 1.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "rectangle": { + "$ref": "#/definitions/BoundingRect", + "description": "Approximate location of the detected brand.", + "readOnly": true + } + }, + "x-nullable": true + }, + "ImageMetadata": { + "description": "Image metadata.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "Image width, in pixels.", + "type": "integer", + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Image height, in pixels.", + "type": "integer", + "x-nullable": false + }, + "format": { + "description": "Image format.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "CategoryDetail": { + "description": "An object describing additional category details.", + "type": "object", + "properties": { + "celebrities": { + "description": "An array of celebrities if any identified.", + "type": "array", + "items": { + "$ref": "#/definitions/CelebritiesModel" + }, + "x-nullable": true + }, + "landmarks": { + "description": "An array of landmarks if any identified.", + "type": "array", + "items": { + "$ref": "#/definitions/LandmarksModel" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageCaption": { + "description": "An image caption, i.e. a brief description of what the image depicts.", + "type": "object", + "properties": { + "text": { + "description": "The text of the caption.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "The level of confidence the service has in the caption.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "FaceRectangle": { + "description": "An object describing face rectangle.", + "type": "object", + "properties": { + "left": { + "format": "int32", + "description": "X-coordinate of the top left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "top": { + "format": "int32", + "description": "Y-coordinate of the top left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width measured from the top-left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height measured from the top-left point of the face, in pixels.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": true + }, + "BoundingRect": { + "description": "A bounding box for an area inside an image.", + "type": "object", + "properties": { + "x": { + "format": "int32", + "description": "X-coordinate of the top left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "y": { + "format": "int32", + "description": "Y-coordinate of the top left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "w": { + "format": "int32", + "description": "Width measured from the top-left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + }, + "h": { + "format": "int32", + "description": "Height measured from the top-left point of the area, in pixels.", + "type": "integer", + "x-nullable": false + } + }, + "x-nullable": false + }, + "ObjectHierarchy": { + "description": "An object detected inside an image.", + "type": "object", + "properties": { + "object": { + "description": "Label for the object.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the object in the image, as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "parent": { + "$ref": "#/definitions/ObjectHierarchy", + "description": "The parent object, from a taxonomy perspective.\r\nThe parent object is a more generic form of this object. For example, a 'bulldog' would have a parent of 'dog'." + } + }, + "x-nullable": true + }, + "CelebritiesModel": { + "description": "An object describing possible celebrity identification.", + "type": "object", + "properties": { + "name": { + "description": "Name of the celebrity.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence level for the celebrity recognition as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + }, + "faceRectangle": { + "$ref": "#/definitions/FaceRectangle", + "description": "Location of the identified face in the image." + } + }, + "x-nullable": true + }, + "LandmarksModel": { + "description": "A landmark recognized in the image.", + "type": "object", + "properties": { + "name": { + "description": "Name of the landmark.", + "type": "string", + "x-nullable": true + }, + "confidence": { + "format": "double", + "description": "Confidence level for the landmark recognition as a value ranging from 0 to 1.", + "type": "number", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageDescription": { + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/ImageDescriptionDetails", + "description": "A collection of content tags, along with a list of captions sorted by confidence level, and image metadata.", + "x-ms-client-flatten": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "DetectResult": { + "description": "Result of a DetectImage call.", + "type": "object", + "properties": { + "objects": { + "description": "An array of detected objects.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + }, + "readOnly": true, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "ListModelsResult": { + "description": "Result of the List Domain Models operation.", + "type": "object", + "properties": { + "models": { + "description": "An array of supported models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelDescription" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ModelDescription": { + "description": "An object describing supported model by name and categories.", + "type": "object", + "properties": { + "name": { + "description": "The name of the model.", + "type": "string", + "x-nullable": true + }, + "categories": { + "description": "Categories of the model.", + "type": "array", + "items": { + "type": "string", + "x-nullable": true + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "DomainModelResults": { + "description": "Result of image analysis using a specific domain model including additional metadata.", + "type": "object", + "properties": { + "result": { + "description": "Model-specific response.", + "type": "object", + "x-ms-client-flatten": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "OcrResult": { + "type": "object", + "properties": { + "language": { + "description": "The BCP-47 language code of the text in the image.", + "type": "string", + "x-nullable": true + }, + "textAngle": { + "format": "double", + "description": "The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "type": "number", + "x-nullable": false + }, + "orientation": { + "description": "Orientation of the text recognized in the image, if requested. The value (up, down, left, or right) refers to the direction that the top of the recognized text is facing, after the image has been rotated around its center according to the detected text angle (see textAngle property).\r\nIf detection of the orientation was not requested, or no text is detected, the value is 'NotDetected'.", + "type": "string", + "x-nullable": true + }, + "regions": { + "description": "An array of objects, where each object represents a region of recognized text.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrRegion" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrRegion": { + "description": "A region consists of multiple lines (e.g. a column of text in a multi-column document).", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized region. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "lines": { + "description": "An array of recognized lines of text.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrLine" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrLine": { + "description": "An object describing a single recognized line of text.", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized line. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "words": { + "description": "An array of objects, where each object represents a recognized word.", + "type": "array", + "items": { + "$ref": "#/definitions/OcrWord" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "OcrWord": { + "description": "Information on a recognized word.", + "type": "object", + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized word. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down.", + "type": "string", + "x-nullable": true + }, + "text": { + "description": "String value of a recognized word.", + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "TagResult": { + "description": "The results of a image tag operation, including any tags and image metadata.", + "type": "object", + "properties": { + "tags": { + "description": "A list of tags with confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "AreaOfInterestResult": { + "description": "Result of AreaOfInterest operation.", + "type": "object", + "properties": { + "areaOfInterest": { + "$ref": "#/definitions/BoundingRect", + "description": "A bounding box for an area of interest inside an image.", + "readOnly": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "ImageUrl": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + }, + "ComputerVisionError": { + "description": "Details about the API request error.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "InvalidImageFormat", + "UnsupportedMediaType", + "InvalidImageUrl", + "NotSupportedFeature", + "NotSupportedImage", + "Timeout", + "InternalServerError", + "InvalidImageSize", + "BadArgument", + "DetectFaceError", + "NotSupportedLanguage", + "InvalidThumbnailSize", + "InvalidDetails", + "InvalidModel", + "CancelledRequest", + "NotSupportedVisualFeature", + "FailedToProcess", + "Unspecified", + "StorageException" + ], + "x-ms-enum": { + "name": "ComputerVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + }, + "requestId": { + "description": "A unique request identifier.", + "type": "string" + } + } + }, + "LandmarkResults": { + "description": "Result of domain-specific classifications for the domain of landmarks.", + "type": "object", + "properties": { + "landmarks": { + "description": "List of landmarks recognized in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/LandmarksModel" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + }, + "CelebrityResults": { + "description": "Result of domain-specific classifications for the domain of celebrities.", + "type": "object", + "properties": { + "celebrities": { + "description": "List of celebrities recognized in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/CelebritiesModel" + }, + "x-nullable": true + }, + "requestId": { + "description": "Id of the REST API request.", + "type": "string", + "x-nullable": true + }, + "metadata": { + "$ref": "#/definitions/ImageMetadata" + } + }, + "x-nullable": true + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + }, + "ImageStream": { + "name": "Image", + "in": "body", + "description": "An image stream.", + "required": true, + "schema": { + "format": "file", + "type": "object" + }, + "x-ms-parameter-location": "method" + }, + "ImageUrl": { + "name": "ImageUrl", + "in": "body", + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + }, + "x-ms-parameter-location": "method", + "x-ms-client-flatten": true + }, + "ServiceLanguage": { + "name": "language", + "in": "query", + "description": "The desired language for output generation. If this parameter is not specified, the default value is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, zh - Simplified Chinese.", + "required": false, + "type": "string", + "default": "en", + "enum": [ + "en", + "es", + "ja", + "pt", + "zh" + ], + "x-ms-parameter-location": "method", + "x-nullable": false + }, + "DescriptionExclude": { + "name": "descriptionExclude", + "in": "query", + "description": "Turn off specified domain models when generating the description.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "DescriptionExclude", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true, + "x-ms-parameter-location": "method" + }, + "OcrLanguage": { + "name": "language", + "in": "query", + "description": "The BCP-47 language code of the text to be detected in the image. The default value is 'unk'.", + "required": false, + "type": "string", + "default": "unk", + "enum": [ + "unk", + "zh-Hans", + "zh-Hant", + "cs", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "nb", + "pl", + "pt", + "ru", + "es", + "sv", + "tr", + "ar", + "ro", + "sr-Cyrl", + "sr-Latn", + "sk" + ], + "x-ms-parameter-location": "method", + "x-nullable": false, + "x-ms-enum": { + "name": "OcrLanguages", + "modelAsString": false + } + }, + "VisualFeatures": { + "name": "visualFeatures", + "in": "query", + "description": "A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include: Categories - categorizes image content according to a taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image content. Description - describes the image content with a complete English sentence. Faces - detects if faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart or a line drawing. Color - determines the accent color, dominant color, and whether an image is black&white. Adult - detects if the image is pornographic in nature (depicts nudity or a sex act), or is gory (depicts extreme violence or blood). Sexually suggestive content (aka racy content) is also detected. Objects - detects various objects within an image, including the approximate location. The Objects argument is only available in English. Brands - detects various brands within an image, including the approximate location. The Brands argument is only available in English.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ImageType", + "Faces", + "Adult", + "Categories", + "Color", + "Tags", + "Description", + "Objects", + "Brands" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "VisualFeatureTypes", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "DetectOrientation": { + "name": "detectOrientation", + "in": "query", + "description": "Whether detect the text orientation in the image. With detectOrientation=true the OCR service tries to detect the image orientation and correct it before further processing (e.g. if it's upside-down).", + "required": true, + "type": "boolean", + "default": true, + "x-ms-parameter-location": "method" + } + }, + "x-ms-paths": { + "/analyze?overload=stream": { + "post": { + "description": "This operation extracts a rich set of visual features based on the image content.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional parameter to allow you to choose which features to return. By default, image categories are returned in the response.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/VisualFeatures" + }, + { + "name": "details", + "in": "query", + "description": "A string indicating which domain-specific details to return. Multiple values should be comma-separated. Valid visual feature types include: Celebrities - identifies celebrities if detected in the image, Landmarks - identifies notable landmarks in the image.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Celebrities", + "Landmarks" + ], + "x-nullable": false, + "x-ms-enum": { + "name": "Details", + "modelAsString": false + } + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response include the extracted features in JSON format. Here is the definitions for enumeration types:\r\n ClipartType\r\n Non - clipart = 0, ambiguous = 1, normal - clipart = 2, good - clipart = 3. LineDrawingTypeNon - LineDrawing = 0, LineDrawing = 1.", + "schema": { + "$ref": "#/definitions/ImageAnalysis" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImage request": { + "$ref": "./examples/SuccessfulAnalyzeImageWithStream.json" + } + } + } + }, + "/areaOfInterest?overload=stream": { + "post": { + "description": "This operation returns a bounding box around the most important area of the image.\r\nA successful response will be returned in JSON. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GetAreaOfInterestInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response includes the extracted area of interest in JSON format.", + "schema": { + "$ref": "#/definitions/AreaOfInterestResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetAreaOfInterest request": { + "$ref": "./examples/SuccessfulGetAreaOfInterestWithStream.json" + } + } + } + }, + "/describe?overload=stream": { + "post": { + "description": "This operation generates a description of an image in human readable language with complete sentences. The description is based on a collection of content tags, which are also returned by the operation. More than one description can be generated for each image. Descriptions are ordered by their confidence score. Descriptions may include results from celebrity and landmark domain models, if applicable.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DescribeImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "maxCandidates", + "in": "query", + "description": "Maximum number of candidate descriptions to be returned. The default is 1.", + "required": false, + "type": "integer", + "format": "int32", + "default": 1, + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/DescriptionExclude" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Image description object.", + "schema": { + "$ref": "#/definitions/ImageDescription" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DescribeImage request": { + "$ref": "./examples/SuccessfulDescribeImageWithStream.json" + } + } + } + }, + "/detect?overload=stream": { + "post": { + "description": "Performs object detection on the specified image.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "DetectObjectsInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The response include the detected objects in JSON format.", + "schema": { + "$ref": "#/definitions/DetectResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful DetectObjects request": { + "$ref": "./examples/SuccessfulDetectObjectsWithStream.json" + } + } + } + }, + "/generateThumbnail?overload=stream": { + "post": { + "description": "This operation generates a thumbnail image with the user-specified width and height. By default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image.\r\nA successful response contains the thumbnail image binary. If the request failed, the response contains an error code and a message to help determine what went wrong.\r\nUpon failure, the error code and an error message are returned. The error code could be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, InvalidThumbnailSize, NotSupportedImage, FailedToProcess, Timeout, or InternalServerError.", + "operationId": "GenerateThumbnailInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "width", + "in": "query", + "description": "Width of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "height", + "in": "query", + "description": "Height of the thumbnail, in pixels. It must be between 1 and 1024. Recommended minimum of 50.", + "required": true, + "type": "integer", + "format": "int32", + "maximum": 1024, + "minimum": 1, + "x-nullable": false + }, + { + "name": "smartCropping", + "in": "query", + "description": "Boolean flag for enabling smart cropping.", + "required": false, + "type": "boolean", + "default": false, + "x-nullable": true + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The generated thumbnail in binary format.", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful GenerateThumbnail request": { + "$ref": "./examples/SuccessfulGenerateThumbnailWithStream.json" + } + } + } + }, + "/models/{model}/analyze?overload=stream": { + "post": { + "description": "This operation recognizes content within an image by applying a domain-specific model. The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request. Currently, the API provides following domain-specific models: celebrities, landmarks.\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON.\r\nIf the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "AnalyzeImageByDomainInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "model", + "in": "path", + "description": "The domain-specific content to recognize.", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Analysis result based on the domain model.", + "schema": { + "$ref": "#/definitions/DomainModelResults" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful AnalyzeImageByDomain request": { + "$ref": "./examples/SuccessfulAnalyzeImageByDomainWithStream.json" + } + } + } + }, + "/ocr?overload=stream": { + "post": { + "description": "Optical Character Recognition (OCR) detects text in an image and extracts the recognized characters into a machine-usable character stream.\r\nUpon success, the OCR results will be returned.\r\nUpon failure, the error code together with an error message will be returned. The error code can be one of InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or InternalServerError.", + "operationId": "RecognizePrintedTextInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/DetectOrientation" + }, + { + "$ref": "#/parameters/OcrLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "The OCR results in the hierarchy of region/line/word. The results include text, bounding box for regions, lines and words. The angle, in radians, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly.", + "schema": { + "$ref": "#/definitions/OcrResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful RecognizePrintedText request": { + "$ref": "./examples/SuccessfulRecognizePrintedTextWithStream.json" + } + } + } + }, + "/tag?overload=stream": { + "post": { + "description": "This operation generates a list of words, or tags, that are relevant to the content of the supplied image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image content. Tags may contain hints to avoid ambiguity or provide context, for example the tag \"ascomycete\" may be accompanied by the hint \"fungus\".\r\nTwo input methods are supported -- (1) Uploading an image or (2) specifying an image URL.\r\nA successful response will be returned in JSON. If the request failed, the response will contain an error code and a message to help understand what went wrong.", + "operationId": "TagImageInStream", + "consumes": [ + "application/octet-stream", + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ServiceLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "responses": { + "200": { + "description": "Image tags object.", + "schema": { + "$ref": "#/definitions/TagResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful TagImage request": { + "$ref": "./examples/SuccessfulTagImageWithStream.json" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json new file mode 100644 index 000000000000..9d0e2df9700a --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/Ocr.json @@ -0,0 +1,452 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.1", + "title": "Computer Vision Client", + "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "host": "westcentralus.api.cognitive.microsoft.com", + "basePath": "/vision/v3.1", + "schemes": [ + "https" + ], + "paths": { + "/read/analyze": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "Read", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithUrl.json" + } + } + } + }, + "/read/analyzeResults/{operationId}": { + "get": { + "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.", + "operationId": "GetReadResult", + "parameters": [ + { + "name": "operationId", + "in": "path", + "description": "Id of read operation returned in the response of the 'Read' interface.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Returns the read operation status.", + "schema": { + "$ref": "#/definitions/ReadOperationResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Get Read Result request": { + "$ref": "./examples/SuccessfulGetReadResult.json" + } + } + } + } + }, + "x-ms-paths": { + "/read/analyze?overload=stream": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "ReadInStream", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + } + ], + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithStream.json" + } + } + } + } + }, + "definitions": { + "ReadOperationResult": { + "type": "object", + "description": "OCR result of the read operation.", + "properties": { + "status": { + "description": "Status of the read operation.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "type": "string", + "description": "Get UTC date time the batch operation was submitted.", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "type": "string", + "description": "Get last updated UTC date time of this batch operation.", + "x-nullable": false + }, + "analyzeResult": { + "description": "Analyze batch operation result.", + "type": "object", + "$ref": "#/definitions/analyzeResults" + } + } + }, + "OperationStatus": { + "type": "string", + "description": "Status code of the text operation.", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded" + ], + "x-ms-enum": { + "name": "OperationStatusCodes", + "modelAsString": false + }, + "x-nullable": false + }, + "ReadResult": { + "description": "Text extracted from a page in the input document.", + "type": "object", + "required": [ + "page", + "angle", + "width", + "height", + "unit", + "lines" + ], + "properties": { + "page": { + "description": "The 1-based page number of the recognition result.", + "type": "integer" + }, + "language": { + "description": "The BCP-47 language code of the recognized text page.", + "type": "string" + }, + "angle": { + "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).", + "type": "number" + }, + "width": { + "description": "The width of the image in pixels or the PDF in inches.", + "type": "number" + }, + "height": { + "description": "The height of the image in pixels or the PDF in inches.", + "type": "number" + }, + "unit": { + "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.", + "type": "string", + "enum": [ + "pixel", + "inch" + ], + "x-ms-enum": { + "name": "TextRecognitionResultDimensionUnit", + "modelAsString": false + }, + "x-nullable": false + }, + "lines": { + "description": "A list of recognized text lines.", + "type": "array", + "items": { + "$ref": "#/definitions/Line" + } + } + } + }, + "analyzeResults": { + "description": "Analyze batch operation result.", + "type": "object", + "required": [ + "version", + "readResults" + ], + "properties": { + "version": { + "description": "Version of schema used for this result.", + "type": "string" + }, + "readResults": { + "description": "Text extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadResult" + } + } + } + }, + "Line": { + "description": "An object representing a recognized text line.", + "type": "object", + "required": [ + "boundingBox", + "text", + "words" + ], + "properties": { + "language": { + "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of a recognized line.", + "$ref": "#/definitions/BoundingBox" + }, + "text": { + "description": "The text content of the line.", + "type": "string" + }, + "words": { + "description": "List of words in the text line.", + "type": "array", + "items": { + "$ref": "#/definitions/Word" + } + } + } + }, + "Word": { + "description": "An object representing a recognized word.", + "type": "object", + "required": [ + "boundingBox", + "text", + "confidence" + ], + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized word.", + "$ref": "#/definitions/BoundingBox" + }, + "text": { + "description": "The text content of the word.", + "type": "string" + }, + "confidence": { + "description": "Qualitative confidence measure.", + "type": "number", + "format": "float" + } + } + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.", + "type": "array", + "items": { + "type": "number", + "x-nullable": false + } + }, + "ComputerVisionError": { + "description": "Details about the API request error.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "InvalidImageFormat", + "UnsupportedMediaType", + "InvalidImageUrl", + "NotSupportedFeature", + "NotSupportedImage", + "Timeout", + "InternalServerError", + "InvalidImageSize", + "BadArgument", + "DetectFaceError", + "NotSupportedLanguage", + "InvalidThumbnailSize", + "InvalidDetails", + "InvalidModel", + "CancelledRequest", + "NotSupportedVisualFeature", + "FailedToProcess", + "Unspecified", + "StorageException" + ], + "x-ms-enum": { + "name": "ComputerVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + }, + "requestId": { + "description": "A unique request identifier.", + "type": "string" + } + } + }, + "ImageUrl": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + } + }, + "parameters": { + "OcrDetectionLanguage": { + "name": "language", + "in": "query", + "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch (‘nl’), French (‘fr’), German (‘de’), Italian (‘it’), Portuguese (‘pt), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.", + "required": false, + "default": "en", + "x-ms-parameter-location": "method", + "type": "string", + "x-ms-enum": { + "name": "OcrDetectionLanguage", + "modelAsString": true + }, + "enum": [ + "en", + "es", + "fr", + "de", + "it", + "nl", + "pt" + ] + }, + "ImageUrl": { + "name": "ImageUrl", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-client-flatten": true, + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + "ImageStream": { + "name": "Image", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "An image stream.", + "schema": { + "type": "object", + "format": "file" + } + }, + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoints.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json new file mode 100644 index 000000000000..a3cd00555cc6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithStream.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "model": "Celebrities", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "result": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json new file mode 100644 index 000000000000..92ead72b5f8f --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageByDomainWithUrl.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "model": "Celebrities", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "requestId": "f0027b4b-dc0d-4082-9228-1545ed246b03", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "result": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json new file mode 100644 index 000000000000..ba86791a7e36 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithStream.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "visualFeatures": [ + "Categories", + "Adult", + "Tags", + "Description", + "Faces", + "Color", + "ImageType", + "Objects", + "Brands" + ], + "details": [ + "Celebrities", + "Landmarks" + ], + "language": "en", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "categories": [ + { + "name": "abstract_", + "score": 0.00390625 + }, + { + "name": "people_", + "score": 0.83984375, + "detail": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ], + "landmarks": [ + { + "name": "Forbidden City", + "confidence": 0.9978346 + } + ] + } + } + ], + "adult": { + "isAdultContent": false, + "isRacyContent": false, + "isGoryContent": false, + "adultScore": 0.0934349000453949, + "racyScore": 0.068613491952419281, + "goreScore": 0.012872257380997575 + }, + "tags": [ + { + "name": "person", + "confidence": 0.98979085683822632 + }, + { + "name": "man", + "confidence": 0.94493889808654785 + }, + { + "name": "outdoor", + "confidence": 0.938492476940155 + }, + { + "name": "window", + "confidence": 0.89513939619064331 + }, + { + "name": "pangolin", + "confidence": 0.7250059783791661, + "hint": "mammal" + } + ], + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + } + ] + }, + "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "faces": [ + { + "age": 44, + "gender": "Male", + "faceRectangle": { + "left": 593, + "top": 160, + "width": 250, + "height": 250 + } + } + ], + "color": { + "dominantColorForeground": "Brown", + "dominantColorBackground": "Brown", + "dominantColors": [ + "Brown", + "Black" + ], + "accentColor": "873B59", + "isBWImg": false + }, + "imageType": { + "clipArtType": 0, + "lineDrawingType": 0 + }, + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "brands": [ + { + "name": "Pepsi", + "confidence": 0.857, + "rectangle": { + "x": 489, + "y": 79, + "w": 161, + "h": 177 + } + }, + { + "name": "Coca-Cola", + "confidence": 0.893, + "rectangle": { + "x": 216, + "y": 55, + "w": 171, + "h": 372 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json new file mode 100644 index 000000000000..be78226e0e16 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulAnalyzeImageWithUrl.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "visualFeatures": [ + "Categories", + "Adult", + "Tags", + "Description", + "Faces", + "Color", + "ImageType", + "Objects", + "Brands" + ], + "details": [ + "Celebrities", + "Landmarks" + ], + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "categories": [ + { + "name": "abstract_", + "score": 0.00390625 + }, + { + "name": "people_", + "score": 0.83984375, + "detail": { + "celebrities": [ + { + "name": "Satya Nadella", + "faceRectangle": { + "left": 597, + "top": 162, + "width": 248, + "height": 248 + }, + "confidence": 0.999028444 + } + ] + } + }, + { + "name": "building_", + "score": 0.984375, + "detail": { + "landmarks": [ + { + "name": "Forbidden City", + "confidence": 0.98290169239044189 + } + ] + } + } + ], + "adult": { + "isAdultContent": false, + "isRacyContent": false, + "isGoryContent": false, + "adultScore": 0.0934349000453949, + "racyScore": 0.068613491952419281, + "goreScore": 0.012872257380997575 + }, + "tags": [ + { + "name": "person", + "confidence": 0.98979085683822632 + }, + { + "name": "man", + "confidence": 0.94493889808654785 + }, + { + "name": "outdoor", + "confidence": 0.938492476940155 + }, + { + "name": "window", + "confidence": 0.89513939619064331 + }, + { + "name": "pangolin", + "confidence": 0.7250059783791661, + "hint": "mammal" + } + ], + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + } + ] + }, + "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + }, + "faces": [ + { + "age": 44, + "gender": "Male", + "faceRectangle": { + "left": 593, + "top": 160, + "width": 250, + "height": 250 + } + } + ], + "color": { + "dominantColorForeground": "Brown", + "dominantColorBackground": "Brown", + "dominantColors": [ + "Brown", + "Black" + ], + "accentColor": "873B59", + "isBWImg": false + }, + "imageType": { + "clipArtType": 0, + "lineDrawingType": 0 + }, + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "brands": [ + { + "name": "Pepsi", + "confidence": 0.857, + "rectangle": { + "x": 489, + "y": 79, + "w": 161, + "h": 177 + } + }, + { + "name": "Coca-Cola", + "confidence": 0.893, + "rectangle": { + "x": 216, + "y": 55, + "w": 171, + "h": 372 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json new file mode 100644 index 000000000000..071248140600 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithStream.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "maxCandidates": 1, + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + }, + { + "text": "Satya Nadella is sitting on a bench", + "confidence": 0.40037006815422832 + }, + { + "text": "Satya Nadella sitting in front of a building", + "confidence": 0.38035155997373377 + } + ] + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json new file mode 100644 index 000000000000..087ac0515231 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDescribeImageWithUrl.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "maxCandidates": 1, + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "description": { + "tags": [ + "person", + "man", + "outdoor", + "window", + "glasses" + ], + "captions": [ + { + "text": "Satya Nadella sitting on a bench", + "confidence": 0.48293603002174407 + }, + { + "text": "Satya Nadella is sitting on a bench", + "confidence": 0.40037006815422832 + }, + { + "text": "Satya Nadella sitting in front of a building", + "confidence": 0.38035155997373377 + } + ] + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "width": 1500, + "height": 1000, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json new file mode 100644 index 000000000000..8f4ad7fd73aa --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithStream.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 100, + "height": 100, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json new file mode 100644 index 000000000000..7ea387eb41be --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulDetectObjectsWithUrl.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "objects": [ + { + "rectangle": { + "x": 0, + "y": 0, + "w": 50, + "h": 50 + }, + "object": "tree", + "confidence": 0.9, + "parent": { + "object": "plant", + "confidence": 0.95 + } + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 100, + "height": 100, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json new file mode 100644 index 000000000000..22d52fbe7644 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithStream.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "width": "500", + "height": "500", + "smartCropping": true, + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": "{binary}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json new file mode 100644 index 000000000000..28744179ecb8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGenerateThumbnailWithUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "width": "500", + "height": "500", + "smartCropping": true, + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": "{Binary}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json new file mode 100644 index 000000000000..ae32a21a551e --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithStream.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "areaOfInterest": { + "h": 951, + "w": 950, + "x": 160, + "y": 0 + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "format": "Jpeg", + "height": 951, + "width": 1378 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json new file mode 100644 index 000000000000..7d6d08208836 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetAreaOfInterestWithUrl.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "areaOfInterest": { + "h": 951, + "w": 950, + "x": 160, + "y": 0 + }, + "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f", + "metadata": { + "format": "Jpeg", + "height": 951, + "width": 1378 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json new file mode 100644 index 000000000000..944e52b9d113 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulGetReadResult.json @@ -0,0 +1,369 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "status": "succeeded", + "createdDateTime": "2019-10-03T14:32:04.236Z", + "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z", + "analyzeResult": { + "version": "v3.1", + "readResults": [ + { + "page": 1, + "language": "en", + "angle": 49.59, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 202, + 618, + 2047, + 643, + 2046, + 840, + 200, + 813 + ], + "text": "Our greatest glory is not", + "words": [ + { + "boundingBox": [ + 204, + 627, + 481, + 628, + 481, + 830, + 204, + 829 + ], + "text": "Our", + "confidence": 0.164 + }, + { + "boundingBox": [ + 519, + 628, + 1057, + 630, + 1057, + 832, + 518, + 830 + ], + "text": "greatest", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1114, + 630, + 1549, + 631, + 1548, + 833, + 1114, + 832 + ], + "text": "glory", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1586, + 631, + 1785, + 632, + 1784, + 834, + 1586, + 833 + ], + "text": "is", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1822, + 632, + 2115, + 633, + 2115, + 835, + 1822, + 834 + ], + "text": "not", + "confidence": 0.164 + } + ] + }, + { + "boundingBox": [ + 420, + 1273, + 2954, + 1250, + 2958, + 1488, + 422, + 1511 + ], + "text": "but in rising every time we fall", + "words": [ + { + "boundingBox": [ + 423, + 1269, + 634, + 1268, + 635, + 1507, + 424, + 1508 + ], + "text": "but", + "confidence": 0.164 + }, + { + "boundingBox": [ + 667, + 1268, + 808, + 1268, + 809, + 1506, + 668, + 1507 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 874, + 1267, + 1289, + 1265, + 1290, + 1504, + 875, + 1506 + ], + "text": "rising", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1331, + 1265, + 1771, + 1263, + 1772, + 1502, + 1332, + 1504 + ], + "text": "every", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1812, + 1263, + 2178, + 1261, + 2179, + 1500, + 1813, + 1502 + ], + "text": "time", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2219, + 1261, + 2510, + 1260, + 2511, + 1498, + 2220, + 1500 + ], + "text": "we", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2551, + 1260, + 3016, + 1258, + 3017, + 1496, + 2552, + 1498 + ], + "text": "fall", + "confidence": 0.164 + } + ] + }, + { + "language": "es", + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "text": "Viva la vida", + "words": [ + { + "boundingBox": [ + 323, + 454, + 416, + 449, + 418, + 494, + 325, + 501 + ], + "text": "Viva", + "confidence": 0.164 + }, + { + "boundingBox": [ + 92, + 550, + 429, + 541, + 430, + 591, + 94, + 600 + ], + "text": "la", + "confidence": 0.164 + }, + { + "boundingBox": [ + 58, + 466, + 268, + 458, + 270, + 505, + 161, + 512 + ], + "text": "vida", + "confidence": 0.164 + } + ] + } + ] + }, + { + "page": 2, + "language": "en", + "angle": 1.32, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "text": "in never failing ,", + "words": [ + { + "boundingBox": [ + 1611, + 934, + 1707, + 933, + 1708, + 1147, + 1613, + 1147 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1753, + 933, + 2132, + 930, + 2133, + 1144, + 1754, + 1146 + ], + "text": "never", + "confidence": 0.999 + }, + { + "boundingBox": [ + 2162, + 930, + 2673, + 927, + 2674, + 1140, + 2164, + 1144 + ], + "text": "failing", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2703, + 926, + 2788, + 926, + 2790, + 1139, + 2705, + 1140 + ], + "text": ",", + "confidence": 0.164 + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json new file mode 100644 index 000000000000..54e72d376431 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulListModels.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "models": [ + { + "name": "celebrities", + "categories": [ + "people_" + ] + }, + { + "name": "landmarks", + "categories": [ + "building_" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json new file mode 100644 index 000000000000..a9728b640867 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithStream.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "Image": "{binary}" + }, + "responses": { + "202": { + "header": { + "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json new file mode 100644 index 000000000000..60c4dc56a96c --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulReadWithUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "202": { + "header": { + "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json new file mode 100644 index 000000000000..201d0fe48254 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithStream.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "detectOrientation": "true", + "language": "en", + "Image": "{binary}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "language": "en", + "textAngle": -2.0000000000000338, + "orientation": "Up", + "regions": [ + { + "boundingBox": "462,379,497,258", + "lines": [ + { + "boundingBox": "462,379,497,74", + "words": [ + { + "boundingBox": "462,379,41,73", + "text": "A" + }, + { + "boundingBox": "523,379,153,73", + "text": "GOAL" + }, + { + "boundingBox": "694,379,265,74", + "text": "WITHOUT" + } + ] + }, + { + "boundingBox": "565,471,289,74", + "words": [ + { + "boundingBox": "565,471,41,73", + "text": "A" + }, + { + "boundingBox": "626,471,150,73", + "text": "PLAN" + }, + { + "boundingBox": "801,472,53,73", + "text": "IS" + } + ] + }, + { + "boundingBox": "519,563,375,74", + "words": [ + { + "boundingBox": "519,563,149,74", + "text": "JUST" + }, + { + "boundingBox": "683,564,41,72", + "text": "A" + }, + { + "boundingBox": "741,564,153,73", + "text": "WISH" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json new file mode 100644 index 000000000000..a0b8bc84e37b --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulRecognizePrintedTextWithUrl.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "detectOrientation": "true", + "language": "en", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "language": "en", + "textAngle": -2.0000000000000338, + "orientation": "Up", + "regions": [ + { + "boundingBox": "462,379,497,258", + "lines": [ + { + "boundingBox": "462,379,497,74", + "words": [ + { + "boundingBox": "462,379,41,73", + "text": "A" + }, + { + "boundingBox": "523,379,153,73", + "text": "GOAL" + }, + { + "boundingBox": "694,379,265,74", + "text": "WITHOUT" + } + ] + }, + { + "boundingBox": "565,471,289,74", + "words": [ + { + "boundingBox": "565,471,41,73", + "text": "A" + }, + { + "boundingBox": "626,471,150,73", + "text": "PLAN" + }, + { + "boundingBox": "801,472,53,73", + "text": "IS" + } + ] + }, + { + "boundingBox": "519,563,375,74", + "words": [ + { + "boundingBox": "519,563,149,74", + "text": "JUST" + }, + { + "boundingBox": "683,564,41,72", + "text": "A" + }, + { + "boundingBox": "741,564,153,73", + "text": "WISH" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json new file mode 100644 index 000000000000..813a645d0086 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithStream.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "Image": "{binary}" + }, + "responses": { + "200": { + "body": { + "tags": [ + { + "name": "grass", + "confidence": 0.9999997615814209 + }, + { + "name": "outdoor", + "confidence": 0.99997067451477051 + }, + { + "name": "sky", + "confidence": 0.99928975105285645 + }, + { + "name": "building", + "confidence": 0.99646323919296265 + }, + { + "name": "house", + "confidence": 0.99279803037643433 + }, + { + "name": "lawn", + "confidence": 0.82268029451370239 + }, + { + "name": "green", + "confidence": 0.64122253656387329 + }, + { + "name": "residential", + "confidence": 0.31403225660324097 + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 400, + "height": 400, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json new file mode 100644 index 000000000000..0dcf0304a33a --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.1/examples/SuccessfulTagImageWithUrl.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Ocp-Apim-Subscription-Key": "{API key}", + "ImageUrl": { + "url": "{url}" + } + }, + "responses": { + "200": { + "body": { + "tags": [ + { + "name": "grass", + "confidence": 0.9999997615814209 + }, + { + "name": "outdoor", + "confidence": 0.99997067451477051 + }, + { + "name": "sky", + "confidence": 0.99928975105285645 + }, + { + "name": "building", + "confidence": 0.99646323919296265 + }, + { + "name": "house", + "confidence": 0.99279803037643433 + }, + { + "name": "lawn", + "confidence": 0.82268029451370239 + }, + { + "name": "green", + "confidence": 0.64122253656387329 + }, + { + "name": "residential", + "confidence": 0.31403225660324097 + } + ], + "requestId": "1ad0e45e-b7b4-4be3-8042-53be96103337", + "metadata": { + "width": 400, + "height": 400, + "format": "Jpeg" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json new file mode 100644 index 000000000000..a7e681725a7d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/Training.json @@ -0,0 +1,5759 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.4-preview", + "title": "Custom Vision Training Client" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v3.4-preview/training", + "schemes": [ + "https" + ], + "paths": { + "/domains": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get a list of the available domains.", + "operationId": "GetDomains", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomains request": { + "$ref": "./examples/GetDomains.json" + } + } + } + }, + "/domains/{domainId}": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get information about a specific domain.", + "operationId": "GetDomain", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "domainId", + "in": "path", + "description": "The id of the domain to get information about.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetDomain request": { + "$ref": "./examples/GetDomain.json" + } + } + } + }, + "/projects": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get your projects.", + "operationId": "GetProjects", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Project" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProjects request": { + "$ref": "./examples/GetProjects.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Create a project.", + "operationId": "CreateProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "name", + "in": "query", + "description": "Name of the project.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "The description of the project.", + "required": false, + "type": "string" + }, + { + "name": "domainId", + "in": "query", + "description": "The id of the domain to use for this project. Defaults to General.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "classificationType", + "in": "query", + "description": "The type of classifier to create for this project.", + "required": false, + "type": "string", + "enum": [ + "Multiclass", + "Multilabel" + ] + }, + { + "name": "targetExportPlatforms", + "in": "query", + "description": "List of platforms the trained model is intending exporting to.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ] + }, + "collectionFormat": "csv" + }, + { + "name": "options", + "in": "body", + "description": "Additional project creation options.", + "required": false, + "schema": { + "$ref": "#/definitions/CreateProjectOptions" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateProject request": { + "$ref": "./examples/CreateProject.json" + } + } + } + }, + "/projects/{projectId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific project.", + "operationId": "GetProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetProject request": { + "$ref": "./examples/GetProject.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific project.", + "operationId": "DeleteProject", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteProject request": { + "$ref": "./examples/DeleteProject.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific project.", + "operationId": "UpdateProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to update.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedProject", + "in": "body", + "description": "The updated project model.", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateProject request": { + "$ref": "./examples/UpdateProject.json" + } + } + } + }, + "/projects/{projectId}/artifacts": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get artifact content from blob storage, based on artifact relative path in the blob.", + "operationId": "GetArtifact", + "consumes": [], + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "path", + "in": "query", + "description": "The relative path for artifact.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetArtifact request": { + "$ref": "./examples/GetArtifact.json" + } + } + } + }, + "/projects/{projectId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Exports a project.", + "operationId": "ExportProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id of the project to export.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProjectExport" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ExportProject request": { + "$ref": "./examples/ExportProject.json" + } + } + } + }, + "/projects/{projectId}/images": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get images for a given project iteration or workspace.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "taggingStatus", + "in": "query", + "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.", + "required": false, + "type": "string", + "enum": [ + "All", + "Tagged", + "Untagged" + ] + }, + { + "name": "$filter", + "in": "query", + "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.", + "required": false, + "type": "string" + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImages request": { + "$ref": "./examples/GetImages.json" + } + } + }, + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images to the set of training images.", + "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromData", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "The tags ids with which to tag each image. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromData request": { + "$ref": "./examples/CreateImagesFromData.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete images from the set of training images.", + "operationId": "DeleteImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Ids of the images to be deleted. Limited to 256 images per batch.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "allImages", + "in": "query", + "description": "Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the images are being deleted.", + "required": false, + "type": "boolean" + }, + { + "name": "allIterations", + "in": "query", + "description": "Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the images are being deleted.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImages request": { + "$ref": "./examples/DeleteImages.json" + } + } + } + }, + "/projects/{projectId}/images/{imageId}/regionproposals": { + "post": { + "tags": [ + "ImageRegionProposalApi" + ], + "summary": "Get region proposals for an image. Returns empty array if no proposals are found.", + "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.", + "operationId": "GetImageRegionProposals", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageId", + "in": "path", + "description": "The image id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionProposal" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImageRegionProposals request": { + "$ref": "./examples/GetImageRegionProposals.json" + } + } + } + }, + "/projects/{projectId}/images/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get the number of images.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "taggingStatus", + "in": "query", + "description": "The tagging status filter. It can be 'All', 'Tagged', or 'Untagged'. Defaults to 'All'.", + "required": false, + "type": "string", + "enum": [ + "All", + "Tagged", + "Untagged" + ] + }, + { + "name": "$filter", + "in": "query", + "description": "An expression to filter the images against image metadata. Only images where the expression evaluates to true are included in the response.\r\nThe expression supports eq (Equal), ne (Not equal), and (Logical and), or (Logical or) operators.\r\nHere is an example, metadata=key1 eq 'value1' and key2 ne 'value2'.", + "required": false, + "type": "string" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImageCount request": { + "$ref": "./examples/GetImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/files": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided batch of images to the set of training images.", + "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromFiles", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageFileCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromFiles request": { + "$ref": "./examples/CreateImagesFromFiles.json" + } + } + } + }, + "/projects/{projectId}/images/id": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get images by id for a given project iteration.", + "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetImagesByIds", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "The list of image ids to retrieve. Limited to 256.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagesByIds request": { + "$ref": "./examples/GetImagesByIds.json" + } + } + } + }, + "/projects/{projectId}/images/metadata": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Update metadata of images.", + "description": "This API accepts a batch of image Ids, and metadata, to update images. There is a limit of 64 images.", + "operationId": "UpdateImageMetadata", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "The list of image ids to update. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 256, + "minItems": 0 + }, + { + "name": "metadata", + "in": "body", + "description": "The metadata to be updated to the specified images. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.", + "required": true, + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageMetadataUpdateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageMetadataUpdateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateImageMetadata request": { + "$ref": "./examples/UpdateImageMetadata.json" + } + } + } + }, + "/projects/{projectId}/images/predictions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the specified predicted images to the set of training images.", + "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image, tag ids, and metadata. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageIdCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromPredictions request": { + "$ref": "./examples/CreateImagesFromPredictions.json" + } + } + } + }, + "/projects/{projectId}/images/regions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Create a set of image regions.", + "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.\r\nIf all regions are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each region will be listed in the response payload.", + "operationId": "CreateImageRegions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image regions which include a tag and bounding box. Limited to 64.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageRegionCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageRegionCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageRegionCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageRegions request": { + "$ref": "./examples/CreateImageRegions.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete a set of image regions.", + "operationId": "DeleteImageRegions", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "regionIds", + "in": "query", + "description": "Regions to delete. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageRegions request": { + "$ref": "./examples/DeleteImageRegions.json" + } + } + } + }, + "/projects/{projectId}/images/suggested": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.", + "description": "This API will fetch untagged images filtered by suggested tags Ids. It returns an empty array if no images are found.", + "operationId": "QuerySuggestedImages", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for the suggested tags and regions.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Contains properties we need to query suggested images.", + "required": true, + "schema": { + "$ref": "#/definitions/SuggestedTagAndRegionQueryToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SuggestedTagAndRegionQuery" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuerySuggestedImages request": { + "$ref": "./examples/QuerySuggestedImages.json" + } + } + } + }, + "/projects/{projectId}/images/suggested/count": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Get count of images whose suggested tags match given tags and their probabilities are greater than or equal to the given threshold. Returns count as 0 if none found.", + "description": "This API takes in tagIds to get count of untagged images per suggested tags for a given threshold.", + "operationId": "QuerySuggestedImageCount", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for the suggested tags and regions.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Model that contains tagIds, threshold and projectType to query by.", + "required": true, + "schema": { + "$ref": "#/definitions/TagFilter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuerySuggestedImageCount request": { + "$ref": "./examples/QuerySuggestedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/tagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get tagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImages request": { + "$ref": "./examples/GetTaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/tagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImageCount request": { + "$ref": "./examples/GetTaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/tags": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Associate a set of images with a set of tags.", + "operationId": "CreateImageTags", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image tags. Limited to 128 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTagCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTagCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImageTags request": { + "$ref": "./examples/CreateImageTags.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Remove a set of tags from a set of images.", + "operationId": "DeleteImageTags", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Image ids. Limited to 64 images.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + }, + { + "name": "tagIds", + "in": "query", + "description": "Tags to be deleted from the specified images. Limited to 20 tags.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteImageTags request": { + "$ref": "./examples/DeleteImageTags.json" + } + } + } + }, + "/projects/{projectId}/images/untagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.", + "operationId": "GetUntaggedImages", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImages request": { + "$ref": "./examples/GetUntaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/untagged/count": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Gets the number of untagged images.", + "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.", + "operationId": "GetUntaggedImageCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImageCount request": { + "$ref": "./examples/GetUntaggedImageCount.json" + } + } + } + }, + "/projects/{projectId}/images/urls": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images urls to the set of training images.", + "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.\r\nIf all images are successful created, 200(OK) status code will be returned.\r\nOtherwise, 207 (Multi-Status) status code will be returned and detail status for each image will be listed in the response payload.", + "operationId": "CreateImagesFromUrls", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image urls, tag ids, and metadata. Limited to 64 images and 20 tags per batch.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrlCreateBatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "207": { + "description": "207", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromUrls request": { + "$ref": "./examples/CreateImagesFromUrls.json" + } + } + } + }, + "/projects/{projectId}/iterations": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get iterations for the project.", + "operationId": "GetIterations", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Iteration" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterations request": { + "$ref": "./examples/GetIterations.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific iteration.", + "operationId": "GetIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIteration request": { + "$ref": "./examples/GetIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific iteration of a project.", + "operationId": "DeleteIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteIteration request": { + "$ref": "./examples/DeleteIteration.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific iteration.", + "operationId": "UpdateIteration", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "Iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedIteration", + "in": "body", + "description": "The updated iteration model.", + "required": true, + "schema": { + "$ref": "#/definitions/Iteration" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateIteration request": { + "$ref": "./examples/UpdateIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get the list of exports for a specific iteration.", + "operationId": "GetExports", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Export" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetExports request": { + "$ref": "./examples/GetExports.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Export a trained iteration.", + "operationId": "ExportIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "platform", + "in": "query", + "description": "The target platform.", + "required": true, + "type": "string", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ] + }, + { + "name": "flavor", + "in": "query", + "description": "The flavor of the target platform.", + "required": false, + "type": "string", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM", + "TensorFlowNormal", + "TensorFlowLite" + ] + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ExportIteration request": { + "$ref": "./examples/ExportIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get detailed performance information about an iteration.", + "operationId": "GetIterationPerformance", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "threshold", + "in": "query", + "description": "The threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + }, + { + "name": "overlapThreshold", + "in": "query", + "description": "If applicable, the bounding box overlap threshold used to determine true predictions.", + "required": false, + "type": "number", + "format": "float" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IterationPerformance" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetIterationPerformance request": { + "$ref": "./examples/GetIterationPerformance.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get image with its prediction for a given project iteration.", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformances", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 20, + "minItems": 0 + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest.", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ] + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 256, + "minimum": 0 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0.", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImagePerformance" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformances request": { + "$ref": "./examples/GetImagePerformances.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance/images/count": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.", + "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetImagePerformanceCount", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id. Defaults to workspace.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "format": "int32", + "type": "integer" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetImagePerformanceCount request": { + "$ref": "./examples/GetImagePerformanceCount.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/publish": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Publish a specific iteration.", + "operationId": "PublishIteration", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "publishName", + "in": "query", + "description": "The name to give the published iteration.", + "required": true, + "type": "string" + }, + { + "name": "predictionId", + "in": "query", + "description": "The id of the prediction resource to publish to.", + "required": true, + "type": "string" + }, + { + "name": "overwrite", + "in": "query", + "description": "Whether to overwrite the published model with the given name (default: false).", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful PublishIteration request": { + "$ref": "./examples/PublishIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Unpublish a specific iteration.", + "operationId": "UnpublishIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UnpublishIteration request": { + "$ref": "./examples/UnpublishIteration.json" + } + } + } + }, + "/projects/{projectId}/predictions": { + "delete": { + "tags": [ + "PredictionsApi" + ], + "summary": "Delete a set of predicted images and their associated prediction results.", + "operationId": "DeletePrediction", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "ids", + "in": "query", + "description": "The prediction ids. Limited to 64.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeletePrediction request": { + "$ref": "./examples/DeletePrediction.json" + } + } + } + }, + "/projects/{projectId}/predictions/query": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Get images that were sent to your prediction endpoint.", + "operationId": "QueryPredictions", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Parameters used to query the predictions. Limited to combining 2 tags.", + "required": true, + "schema": { + "$ref": "#/definitions/PredictionQueryToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PredictionQueryResult" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QueryPredictions request": { + "$ref": "./examples/QueryPredictions.json" + } + } + } + }, + "/projects/{projectId}/quicktest/image": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image.", + "operationId": "QuickTestImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "store", + "in": "query", + "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.", + "required": false, + "type": "boolean", + "default": true + }, + { + "name": "imageData", + "in": "formData", + "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImage request": { + "$ref": "./examples/QuickTestImage.json" + } + } + } + }, + "/projects/{projectId}/quicktest/url": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image url.", + "operationId": "QuickTestImageUrl", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project to evaluate against.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An ImageUrl that contains the url of the image to be evaluated.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "store", + "in": "query", + "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.", + "required": false, + "type": "boolean", + "default": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePrediction" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImageUrl request": { + "$ref": "./examples/QuickTestImageUrl.json" + } + } + } + }, + "/projects/{projectId}/tags": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get the tags for a given project and iteration.", + "operationId": "GetTags", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTags request": { + "$ref": "./examples/GetTags.json" + } + } + }, + "post": { + "tags": [ + "TagsApi" + ], + "summary": "Create a tag for the project.", + "operationId": "CreateTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "name", + "in": "query", + "description": "The tag name.", + "required": true, + "type": "string" + }, + { + "name": "description", + "in": "query", + "description": "Optional description for the tag.", + "required": false, + "type": "string" + }, + { + "name": "type", + "in": "query", + "description": "Optional type for the tag.", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ] + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful CreateTag request": { + "$ref": "./examples/CreateTag.json" + } + } + } + }, + "/projects/{projectId}/tags/{tagId}": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get information about a specific tag.", + "operationId": "GetTag", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project this tag belongs to.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The tag id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.", + "required": false, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful GetTag request": { + "$ref": "./examples/GetTag.json" + } + } + }, + "delete": { + "tags": [ + "TagsApi" + ], + "summary": "Delete a tag from the project.", + "operationId": "DeleteTag", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "Id of the tag to be deleted.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful DeleteTag request": { + "$ref": "./examples/DeleteTag.json" + } + } + }, + "patch": { + "tags": [ + "TagsApi" + ], + "summary": "Update a tag.", + "operationId": "UpdateTag", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The id of the target tag.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedTag", + "in": "body", + "description": "The updated tag model.", + "required": true, + "schema": { + "$ref": "#/definitions/Tag" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful UpdateTag request": { + "$ref": "./examples/UpdateTag.json" + } + } + } + }, + "/projects/{projectId}/tagsandregions/suggestions": { + "post": { + "tags": [ + "SuggestTagsAndRegionsApi" + ], + "summary": "Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.", + "description": "This API will get suggested tags and regions for an array/batch of untagged images along with confidences for the tags. It returns an empty array if no tags are found.\r\nThere is a limit of 64 images in the batch.", + "operationId": "SuggestTagsAndRegions", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "IterationId to use for tag and region suggestion.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds.", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "collectionFormat": "csv", + "maxItems": 64, + "minItems": 0 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/SuggestedTagAndRegion" + } + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful SuggestTagsAndRegions request": { + "$ref": "./examples/SuggestTagsAndRegions.json" + } + } + } + }, + "/projects/{projectId}/train": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Queues project for training.", + "operationId": "TrainProject", + "consumes": [ + "application/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id.", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "trainingType", + "in": "query", + "description": "The type of training to use to train the project (default: Regular).", + "required": false, + "type": "string", + "enum": [ + "Regular", + "Advanced" + ] + }, + { + "name": "reservedBudgetInHours", + "in": "query", + "description": "The number of hours reserved as budget for training (if applicable).", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "name": "forceTrain", + "in": "query", + "description": "Whether to force train even if dataset and configuration does not change (default: false).", + "required": false, + "type": "boolean", + "default": false + }, + { + "name": "notificationEmailAddress", + "in": "query", + "description": "The email address to send notification to when training finishes (default: null).", + "required": false, + "type": "string" + }, + { + "name": "trainingParameters", + "in": "body", + "description": "Additional training parameters passed in to control how the project is trained.", + "required": false, + "schema": { + "$ref": "#/definitions/TrainingParameters" + }, + "x-nullable": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful TrainProject request": { + "$ref": "./examples/TrainProject.json" + } + } + } + }, + "/projects/import": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Imports a project.", + "operationId": "ImportProject", + "consumes": [], + "produces": [ + "application/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "token", + "in": "query", + "description": "Token generated from the export project call.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "query", + "description": "Optional, name of the project to use instead of auto-generated name.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/CustomVisionError" + } + } + }, + "x-ms-examples": { + "Successful ImportProject request": { + "$ref": "./examples/ImportProject.json" + } + } + } + } + }, + "definitions": { + "BoundingBox": { + "description": "Bounding box that defines a region of an image.", + "required": [ + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "CreateProjectOptions": { + "description": "Options used for createProject.", + "type": "object", + "properties": { + "exportModelContainerUri": { + "description": "The uri to the Azure Storage container that will be used to store exported models.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "notificationQueueUri": { + "description": "The uri to the Azure Storage queue that will be used to send project-related notifications. See Storage notifications documentation for setup and message format.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "CustomBaseModelInfo": { + "required": [ + "projectId", + "iterationId" + ], + "type": "object", + "properties": { + "projectId": { + "format": "uuid", + "description": "Project Id of the previously trained project to be used for current iteration's training.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "iterationId": { + "format": "uuid", + "description": "Iteration Id of the previously trained project to be used for current iteration's training.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "CustomVisionError": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "NoError", + "BadRequest", + "BadRequestExceededBatchSize", + "BadRequestNotSupported", + "BadRequestInvalidIds", + "BadRequestProjectName", + "BadRequestProjectNameNotUnique", + "BadRequestProjectDescription", + "BadRequestProjectUnknownDomain", + "BadRequestProjectUnknownClassification", + "BadRequestProjectUnsupportedDomainTypeChange", + "BadRequestProjectUnsupportedExportPlatform", + "BadRequestProjectImagePreprocessingSettings", + "BadRequestProjectDuplicated", + "BadRequestIterationName", + "BadRequestIterationNameNotUnique", + "BadRequestIterationDescription", + "BadRequestIterationIsNotTrained", + "BadRequestIterationValidationFailed", + "BadRequestWorkspaceCannotBeModified", + "BadRequestWorkspaceNotDeletable", + "BadRequestTagName", + "BadRequestTagNameNotUnique", + "BadRequestTagDescription", + "BadRequestTagType", + "BadRequestMultipleNegativeTag", + "BadRequestMultipleGeneralProductTag", + "BadRequestImageTags", + "BadRequestImageRegions", + "BadRequestNegativeAndRegularTagOnSameImage", + "BadRequestUnsupportedDomain", + "BadRequestRequiredParamIsNull", + "BadRequestIterationIsPublished", + "BadRequestInvalidPublishName", + "BadRequestInvalidPublishTarget", + "BadRequestUnpublishFailed", + "BadRequestIterationNotPublished", + "BadRequestSubscriptionApi", + "BadRequestExceedProjectLimit", + "BadRequestExceedIterationPerProjectLimit", + "BadRequestExceedTagPerProjectLimit", + "BadRequestExceedTagPerImageLimit", + "BadRequestExceededQuota", + "BadRequestCannotMigrateProjectWithName", + "BadRequestNotLimitedTrial", + "BadRequestImageBatch", + "BadRequestImageStream", + "BadRequestImageUrl", + "BadRequestImageFormat", + "BadRequestImageSizeBytes", + "BadRequestImageDimensions", + "BadRequestImageAspectRatio", + "BadRequestImageExceededCount", + "BadRequestTrainingNotNeeded", + "BadRequestTrainingNotNeededButTrainingPipelineUpdated", + "BadRequestTrainingValidationFailed", + "BadRequestClassificationTrainingValidationFailed", + "BadRequestMultiClassClassificationTrainingValidationFailed", + "BadRequestMultiLabelClassificationTrainingValidationFailed", + "BadRequestDetectionTrainingValidationFailed", + "BadRequestTrainingAlreadyInProgress", + "BadRequestDetectionTrainingNotAllowNegativeTag", + "BadRequestInvalidEmailAddress", + "BadRequestRetiredDomainNotSupportedForTraining", + "BadRequestDomainNotSupportedForAdvancedTraining", + "BadRequestExportPlatformNotSupportedForAdvancedTraining", + "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining", + "BadRequestCustomBaseModelIterationStatusNotCompleted", + "BadRequestCustomBaseModelDomainNotCompatible", + "BadRequestCustomBaseModelArchitectureRetired", + "BadRequestExportValidationFailed", + "BadRequestExportAlreadyInProgress", + "BadRequestPredictionIdsMissing", + "BadRequestPredictionIdsExceededCount", + "BadRequestPredictionTagsExceededCount", + "BadRequestPredictionResultsExceededCount", + "BadRequestPredictionInvalidApplicationName", + "BadRequestPredictionInvalidQueryParameters", + "BadRequestInvalidImportToken", + "BadRequestExportWhileTraining", + "BadRequestImageMetadataKey", + "BadRequestImageMetadataValue", + "BadRequestOperationNotSupported", + "BadRequestInvalidArtifactUri", + "BadRequestCustomerManagedKeyRevoked", + "BadRequestInvalidUri", + "BadRequestInvalid", + "UnsupportedMediaType", + "Forbidden", + "ForbiddenUser", + "ForbiddenUserResource", + "ForbiddenUserSignupDisabled", + "ForbiddenUserSignupAllowanceExceeded", + "ForbiddenUserDoesNotExist", + "ForbiddenUserDisabled", + "ForbiddenUserInsufficientCapability", + "ForbiddenDRModeEnabled", + "ForbiddenInvalid", + "NotFound", + "NotFoundProject", + "NotFoundProjectDefaultIteration", + "NotFoundIteration", + "NotFoundIterationPerformance", + "NotFoundTag", + "NotFoundImage", + "NotFoundDomain", + "NotFoundApimSubscription", + "NotFoundInvalid", + "Conflict", + "ConflictInvalid", + "ErrorUnknown", + "ErrorIterationCopyFailed", + "ErrorPreparePerformanceMigrationFailed", + "ErrorProjectInvalidWorkspace", + "ErrorProjectInvalidPipelineConfiguration", + "ErrorProjectInvalidDomain", + "ErrorProjectTrainingRequestFailed", + "ErrorProjectImportRequestFailed", + "ErrorProjectExportRequestFailed", + "ErrorFeaturizationServiceUnavailable", + "ErrorFeaturizationQueueTimeout", + "ErrorFeaturizationInvalidFeaturizer", + "ErrorFeaturizationAugmentationUnavailable", + "ErrorFeaturizationUnrecognizedJob", + "ErrorFeaturizationAugmentationError", + "ErrorExporterInvalidPlatform", + "ErrorExporterInvalidFeaturizer", + "ErrorExporterInvalidClassifier", + "ErrorPredictionServiceUnavailable", + "ErrorPredictionModelNotFound", + "ErrorPredictionModelNotCached", + "ErrorPrediction", + "ErrorPredictionStorage", + "ErrorRegionProposal", + "ErrorUnknownBaseModel", + "ErrorServerTimeOut", + "ErrorInvalid" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + } + } + }, + "Domain": { + "description": "Domains are used as the starting point for your project. Each domain is optimized for specific types of images. Domains with compact in their name can be exported. For more information visit the domain documentation.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Domain id.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "name": { + "description": "Name of the domain, describing the types of images used to train it.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "type": { + "description": "Domain type: Classification or ObjectDetection.", + "enum": [ + "Classification", + "ObjectDetection" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "DomainType", + "modelAsString": true + } + }, + "exportable": { + "description": "Indicating if the domain is exportable.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "enabled": { + "description": "Indicating if the domain is enabled.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "exportablePlatforms": { + "description": "Platforms that the domain can be exported to.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": true + }, + "modelInformation": { + "$ref": "#/definitions/ModelInformation", + "description": "Model information.", + "readOnly": true + } + } + }, + "Export": { + "type": "object", + "properties": { + "platform": { + "description": "Platform of the export.", + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportPlatform", + "modelAsString": true + } + }, + "status": { + "description": "Status of the export.", + "enum": [ + "Exporting", + "Failed", + "Done" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ExportStatus", + "modelAsString": true + } + }, + "downloadUri": { + "description": "URI used to download the model. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "flavor": { + "description": "Flavor of the export. These are specializations of the export platform.\r\nDocker platform has valid flavors: Linux, Windows, ARM.\r\nTensorflow platform has valid flavors: TensorFlowNormal, TensorFlowLite.\r\nONNX platform has valid flavors: ONNX10, ONNX12.", + "enum": [ + "Linux", + "Windows", + "ONNX10", + "ONNX12", + "ARM", + "TensorFlowNormal", + "TensorFlowLite" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "ExportFlavor", + "modelAsString": true + } + }, + "newerVersionAvailable": { + "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + } + }, + "Image": { + "description": "Image model to be sent as JSON.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date the image was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "resizedImageUri": { + "description": "The URI to the (resized) image used for training. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original uploaded image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Tags associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "description": "Regions associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + }, + "metadata": { + "description": "Metadata associated with this image.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "ImageCreateResult": { + "type": "object", + "properties": { + "sourceUrl": { + "description": "Source URL of the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "status": { + "description": "Status of the image creation.", + "enum": [ + "OK", + "OKDuplicate", + "ErrorSource", + "ErrorImageFormat", + "ErrorImageSize", + "ErrorStorage", + "ErrorLimitExceed", + "ErrorTagLimitExceed", + "ErrorRegionLimitExceed", + "ErrorUnknown", + "ErrorNegativeAndRegularTagOnSameImage", + "ErrorImageDimensions", + "ErrorInvalidTag" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "ImageCreateStatus", + "modelAsString": true + } + }, + "image": { + "$ref": "#/definitions/Image", + "description": "The image.", + "readOnly": true + } + } + }, + "ImageCreateSummary": { + "type": "object", + "properties": { + "isBatchSuccessful": { + "description": "True if all of the images in the batch were created successfully, otherwise false.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "images": { + "description": "List of the image creation results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageCreateResult", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageFileCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageFileCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageFileCreateEntry": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "contents": { + "format": "byte", + "type": "string", + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageIdCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageIdCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageIdCreateEntry": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageMetadataUpdateEntry": { + "description": "Entry associating a metadata to an image.", + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "status": { + "description": "Status of the metadata update.", + "enum": [ + "OK", + "ErrorImageNotFound", + "ErrorLimitExceed", + "ErrorUnknown" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "ImageMetadataUpdateStatus", + "modelAsString": true + } + }, + "metadata": { + "description": "Metadata of the image.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageMetadataUpdateSummary": { + "type": "object", + "properties": { + "isBatchSuccessful": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageMetadataUpdateEntry", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImagePerformance": { + "description": "Image performance model.", + "type": "object", + "properties": { + "predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Prediction" + }, + "readOnly": true, + "x-nullable": true + }, + "id": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date the image was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "width": { + "format": "int32", + "description": "Width of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "imageUri": { + "description": "The URI to the image used for training. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Tags associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "regions": { + "description": "Regions associated with this image.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegion" + }, + "readOnly": true, + "x-nullable": true + } + } + }, + "ImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageProcessingSettings": { + "description": "Represents image preprocessing settings used by image augmentation.", + "type": "object", + "properties": { + "augmentationMethods": { + "description": "Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.\r\nAugmentation will be uniformly distributed among enabled transforms.", + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegion": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateBatch": { + "description": "Batch of image region information to create.", + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageRegionCreateEntry": { + "description": "Entry associating a region to an image.", + "required": [ + "imageId", + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateResult": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "regionId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageRegionCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateResult" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegionCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageRegionProposal": { + "type": "object", + "properties": { + "projectId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "imageId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionProposal", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "ImageTag": { + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "ImageTagCreateBatch": { + "description": "Batch of image tags.", + "type": "object", + "properties": { + "tags": { + "description": "Image Tag entries to include in this batch.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "ImageTagCreateEntry": { + "description": "Entry associating a tag to an image.", + "type": "object", + "properties": { + "imageId": { + "format": "uuid", + "description": "Id of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageTagCreateSummary": { + "type": "object", + "properties": { + "created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + }, + "exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageUrl": { + "description": "Image url.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "ImageUrlCreateBatch": { + "type": "object", + "properties": { + "images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageUrlCreateEntry", + "x-nullable": false + }, + "readOnly": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "metadata": { + "description": "The metadata of image. Limited to 10 key-value pairs per image. The length of key is limited to 128. The length of value is limited to 256.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-nullable": true + } + } + }, + "ImageUrlCreateEntry": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Url of the image.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "tagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/Region", + "x-nullable": false + }, + "readOnly": false + } + } + }, + "Iteration": { + "description": "Iteration model to be sent over JSON.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the iteration.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "status": { + "description": "Gets the current iteration status.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Gets the time this iteration was completed.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "trainedAt": { + "format": "date-time", + "description": "Gets the time this iteration was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "projectId": { + "format": "uuid", + "description": "Gets the project id of the iteration.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "description": "Whether the iteration can be exported to another format for download.", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "exportableTo": { + "description": "A set of platforms this iteration can export to.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": true + }, + "domainId": { + "format": "uuid", + "description": "Get or sets a guid of the domain the iteration has been trained on.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "classificationType": { + "description": "Gets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "trainingType": { + "description": "Gets the training type of the iteration.", + "enum": [ + "Regular", + "Advanced" + ], + "type": "string", + "readOnly": true, + "x-nullable": false, + "x-ms-enum": { + "name": "TrainingType", + "modelAsString": true + } + }, + "reservedBudgetInHours": { + "format": "int32", + "description": "Gets the reserved advanced training budget for the iteration.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "trainingTimeInMinutes": { + "format": "int32", + "description": "Gets the training time for the iteration.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "publishName": { + "description": "Name of the published model.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "originalPublishResourceId": { + "description": "Resource Provider Id this iteration was originally published to.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "customBaseModelInfo": { + "$ref": "#/definitions/CustomBaseModelInfo", + "description": "Information of the previously trained iteration which provides the base model for current iteration's training.\r\nDefault value of null specifies that no previously trained iteration will be used for incremental learning.", + "readOnly": true + }, + "trainingErrorDetails": { + "description": "Training error details, when training fails.\r\nValue is null when training succeeds.", + "type": "string", + "readOnly": true + } + } + }, + "IterationPerformance": { + "description": "Represents the detailed performance data for a trained iteration.", + "type": "object", + "properties": { + "perTagPerformance": { + "description": "Gets the per-tag performance details for this iteration.", + "type": "array", + "items": { + "$ref": "#/definitions/TagPerformance", + "x-nullable": false + }, + "readOnly": true + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "ModelInformation": { + "description": "Model information.", + "required": [ + "description" + ], + "type": "object", + "properties": { + "estimatedModelSizeInMegabytes": { + "format": "int32", + "description": "Estimation of the exported FP32 Onnx model size (2 tags) in megabytes. This information is not present if the model cannot be exported.", + "type": "integer", + "readOnly": false + }, + "description": { + "description": "Model description.", + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "Prediction": { + "description": "Prediction result.", + "type": "object", + "properties": { + "probability": { + "format": "float", + "description": "Probability of the tag.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "tagId": { + "format": "uuid", + "description": "Id of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "tagName": { + "description": "Name of the predicted tag.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "description": "Bounding box of the prediction.", + "readOnly": true, + "x-nullable": true + }, + "tagType": { + "description": "Type of the predicted tag.", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ], + "type": "string", + "readOnly": true, + "x-nullable": true, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + } + } + }, + "PredictionQueryResult": { + "description": "Query result of the prediction images that were sent to your prediction endpoint.", + "type": "object", + "properties": { + "token": { + "$ref": "#/definitions/PredictionQueryToken", + "description": "Prediction Query Token.", + "readOnly": false + }, + "results": { + "description": "Result of an image prediction request.", + "type": "array", + "items": { + "$ref": "#/definitions/StoredImagePrediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "PredictionQueryTag": { + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "minThreshold": { + "format": "float", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "maxThreshold": { + "format": "float", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "PredictionQueryToken": { + "type": "object", + "properties": { + "session": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "continuation": { + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "maxCount": { + "format": "int32", + "type": "integer", + "readOnly": false, + "x-nullable": false + }, + "orderBy": { + "enum": [ + "Newest", + "Oldest", + "Suggested" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "OrderBy", + "modelAsString": true + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionQueryTag", + "x-nullable": false + }, + "readOnly": false + }, + "iterationId": { + "format": "uuid", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "startTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "endTime": { + "format": "date-time", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "application": { + "type": "string", + "readOnly": false, + "x-nullable": false + } + } + }, + "Project": { + "description": "Represents a project.", + "required": [ + "name", + "description", + "settings" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the project id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the project.", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "settings": { + "$ref": "#/definitions/ProjectSettings", + "description": "Gets or sets the project settings.", + "readOnly": false + }, + "created": { + "format": "date-time", + "description": "Gets the date this project was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "format": "date-time", + "description": "Gets the date this project was last modified.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "thumbnailUri": { + "description": "Gets the thumbnail url representing the image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "drModeEnabled": { + "description": "Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.", + "type": "boolean", + "readOnly": true, + "x-nullable": true + }, + "status": { + "description": "Gets the status of the project.", + "enum": [ + "Succeeded", + "Importing", + "Failed" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "ProjectStatus", + "modelAsString": true + } + } + } + }, + "ProjectExport": { + "description": "Represents information about a project export.", + "type": "object", + "properties": { + "iterationCount": { + "format": "int32", + "description": "Count of iterations that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "imageCount": { + "format": "int32", + "description": "Count of images that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "tagCount": { + "format": "int32", + "description": "Count of tags that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "regionCount": { + "format": "int32", + "description": "Count of regions that will be exported.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "estimatedImportTimeInMS": { + "format": "int32", + "description": "Estimated time this project will take to import, can change based on network connectivity and load between\r\nsource and destination regions.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "token": { + "description": "Opaque token that should be passed to ImportProject to perform the import. This token grants access to import this\r\nproject to all that have the token.", + "type": "string", + "readOnly": true, + "x-nullable": false + } + } + }, + "ProjectSettings": { + "description": "Represents settings associated with a project.", + "type": "object", + "properties": { + "domainId": { + "format": "uuid", + "description": "Gets or sets the id of the Domain to use with this project.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "classificationType": { + "description": "Gets or sets the classification type of the project.", + "enum": [ + "Multiclass", + "Multilabel" + ], + "type": "string", + "readOnly": false, + "x-nullable": true, + "x-ms-enum": { + "name": "Classifier", + "modelAsString": true + } + }, + "targetExportPlatforms": { + "description": "A list of ExportPlatform that the trained model should be able to support.", + "type": "array", + "items": { + "enum": [ + "CoreML", + "TensorFlow", + "DockerFile", + "ONNX", + "VAIDK", + "OpenVino" + ], + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "useNegativeSet": { + "description": "Indicates if negative set is being used.", + "type": "boolean", + "readOnly": true, + "x-nullable": true + }, + "detectionParameters": { + "description": "Detection parameters in use, if any.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "imageProcessingSettings": { + "$ref": "#/definitions/ImageProcessingSettings", + "description": "Gets or sets image preprocessing settings.", + "readOnly": false + }, + "exportModelContainerUri": { + "description": "The uri to the Azure Storage container that will be used to store exported models.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "notificationQueueUri": { + "description": "The uri to the Azure Storage queue that will be used to send project-related notifications. See Storage notifications documentation for setup and message format.", + "type": "string", + "readOnly": true, + "x-nullable": true + } + } + }, + "Region": { + "required": [ + "tagId", + "left", + "top", + "width", + "height" + ], + "type": "object", + "properties": { + "tagId": { + "format": "uuid", + "description": "Id of the tag associated with this region.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "left": { + "format": "float", + "description": "Coordinate of the left boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "top": { + "format": "float", + "description": "Coordinate of the top boundary.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "width": { + "format": "float", + "description": "Width.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "height": { + "format": "float", + "description": "Height.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "RegionProposal": { + "type": "object", + "properties": { + "confidence": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox", + "readOnly": true + } + } + }, + "StoredImagePrediction": { + "description": "Result of an image prediction request.", + "type": "object", + "properties": { + "resizedImageUri": { + "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "domain": { + "format": "uuid", + "description": "Domain used for the prediction.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "StoredSuggestedTagAndRegion": { + "description": "Result of a suggested tags and regions request of the untagged image.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "Width of the resized image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "height": { + "format": "int32", + "description": "Height of the resized image.", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "resizedImageUri": { + "description": "The URI to the (resized) prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "thumbnailUri": { + "description": "The URI to the thumbnail of the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "originalImageUri": { + "description": "The URI to the original prediction image. If VNET feature is enabled this will be a relative path to be used with GetArtifact, otherwise this will be an absolute URI to the resource.", + "type": "string", + "readOnly": true + }, + "domain": { + "format": "uuid", + "description": "Domain used for the prediction.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + }, + "predictionUncertainty": { + "format": "double", + "description": "Uncertainty (entropy) of suggested tags or regions per image.", + "type": "number", + "readOnly": true, + "x-nullable": false + } + } + }, + "SuggestedTagAndRegion": { + "description": "Result of a suggested tags and regions request.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Prediction Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "project": { + "format": "uuid", + "description": "Project Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "iteration": { + "format": "uuid", + "description": "Iteration Id.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "created": { + "format": "date-time", + "description": "Date this prediction was created.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "predictions": { + "description": "List of predictions.", + "type": "array", + "items": { + "$ref": "#/definitions/Prediction", + "x-nullable": false + }, + "readOnly": true + }, + "predictionUncertainty": { + "format": "double", + "description": "Uncertainty (entropy) of suggested tags or regions per image.", + "type": "number", + "readOnly": true, + "x-nullable": false + } + } + }, + "SuggestedTagAndRegionQuery": { + "description": "The array of result images and token containing session and continuation Ids for the next query.", + "type": "object", + "properties": { + "token": { + "$ref": "#/definitions/SuggestedTagAndRegionQueryToken", + "description": "Contains properties we need to fetch suggested tags for.", + "readOnly": false + }, + "results": { + "description": "Result of a suggested tags and regions request of the untagged image.", + "type": "array", + "items": { + "$ref": "#/definitions/StoredSuggestedTagAndRegion", + "x-nullable": false + }, + "readOnly": true + } + } + }, + "SuggestedTagAndRegionQueryToken": { + "description": "Contains properties we need to fetch suggested tags for. For the first call, Session and continuation set to null.\r\nThen on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery result to fetch additional results.", + "type": "object", + "properties": { + "tagIds": { + "description": "Existing TagIds in project to filter suggested tags on.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "threshold": { + "format": "double", + "description": "Confidence threshold to filter suggested tags on.", + "type": "number", + "readOnly": false, + "x-nullable": false + }, + "session": { + "description": "SessionId for database query. Initially set to null but later used to paginate.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "continuation": { + "description": "Continuation Id for database pagination. Initially null but later used to paginate.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "maxCount": { + "format": "int32", + "description": "Maximum number of results you want to be returned in the response.", + "type": "integer", + "readOnly": false, + "x-nullable": false + }, + "sortBy": { + "description": "OrderBy. Ordering mechanism for your results.", + "enum": [ + "UncertaintyAscending", + "UncertaintyDescending" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "SortBy", + "modelAsString": true + } + } + } + }, + "Tag": { + "description": "Represents a Tag.", + "required": [ + "name", + "description", + "type" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Gets the Tag ID.", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "description": "Gets or sets the name of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": false + }, + "description": { + "description": "Gets or sets the description of the tag.", + "type": "string", + "readOnly": false, + "x-nullable": true + }, + "type": { + "description": "Gets or sets the type of the tag.", + "enum": [ + "Regular", + "Negative", + "GeneralProduct" + ], + "type": "string", + "readOnly": false, + "x-nullable": false, + "x-ms-enum": { + "name": "TagType", + "modelAsString": true + } + }, + "imageCount": { + "format": "int32", + "description": "Gets the number of images with this tag.", + "type": "integer", + "readOnly": true, + "x-nullable": false + } + } + }, + "TagFilter": { + "description": "Model that query for counting of images whose suggested tags match given tags and their probability are greater than or equal to the given threshold.", + "type": "object", + "properties": { + "tagIds": { + "description": "Existing TagIds in project to get suggested tags count for.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "threshold": { + "format": "double", + "description": "Confidence threshold to filter suggested tags on.", + "type": "number", + "readOnly": false, + "x-nullable": false + } + } + }, + "TagPerformance": { + "description": "Represents performance data for a particular tag in a trained iteration.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "precision": { + "format": "float", + "description": "Gets the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "precisionStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the precision.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recall": { + "format": "float", + "description": "Gets the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "recallStdDeviation": { + "format": "float", + "description": "Gets the standard deviation for the recall.", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "averagePrecision": { + "format": "float", + "description": "Gets the average precision when applicable.", + "type": "number", + "readOnly": true, + "x-nullable": true + } + } + }, + "TrainingParameters": { + "description": "Parameters used for training.", + "type": "object", + "properties": { + "selectedTags": { + "description": "List of tags selected for this training session, other tags in the project will be ignored.", + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "readOnly": false + }, + "customBaseModelInfo": { + "$ref": "#/definitions/CustomBaseModelInfo", + "description": "Information of the previously trained iteration which provides the base model for current iteration's training.", + "readOnly": false + } + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "Supported Cognitive Services endpoints.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Training-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json new file mode 100644 index 000000000000..9f554c49071c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageRegions.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "regions": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + }, + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + }, + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ], + "duplicated": [], + "exceeded": [] + } + }, + "207": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + ], + "duplicated": [], + "exceeded": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "left": 0.35, + "top": 0.35, + "width": 0.25, + "height": 0.25 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json new file mode 100644 index 000000000000..5b7395424693 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImageTags.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "tags": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "created": [ + { + "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ], + "duplicated": null, + "exceeded": null + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json new file mode 100644 index 000000000000..05b0b07590b5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromData.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ], + "imageData": "multipart data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "\"hemlock_6.jpg\"", + "status": "OK", + "image": { + "id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "created": "2017-12-19T15:56:10Z", + "width": 900, + "height": 1531, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "\"hemlock_6.jpg\"", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json new file mode 100644 index 000000000000..6853f6ab1401 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromFiles.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "name": "hemlock_10.jpg", + "contents": "{image contents}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "{url}", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json new file mode 100644 index 000000000000..1970c61d0d39 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromPredictions.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "\"hemlock_10.jpg\"", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + }, + { + "sourceUrl": "{url}", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json new file mode 100644 index 000000000000..a3ecd489a1f7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateImagesFromUrls.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "images": [ + { + "url": "{url to image}" + } + ], + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "sourceUrl": "{url to image}", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag name" + } + ] + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "sourceUrl": "{url to image}", + "status": "OK", + "image": { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag name" + } + ] + } + }, + { + "sourceUrl": "{url to image}", + "status": "ErrorSource", + "image": null + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json new file mode 100644 index 000000000000..88f852ced738 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateProject.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "name": "My New Project", + "description": "A test project", + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json new file mode 100644 index 000000000000..ed19817462ae --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/CreateTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Tag1", + "description": "Description of Tag1", + "body": "" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json new file mode 100644 index 000000000000..8931d4e2629e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageRegions.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "regionIds": [ + "" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json new file mode 100644 index 000000000000..d6a188454e9b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImageTags.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ], + "tagIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json new file mode 100644 index 000000000000..ccc479209fd2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteImages.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json new file mode 100644 index 000000000000..d1f9b7629958 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteIteration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json new file mode 100644 index 000000000000..c6b2d5c0bc58 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeletePrediction.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "ids": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json new file mode 100644 index 000000000000..2b4cb5723a6a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteProject.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json new file mode 100644 index 000000000000..e9f802505a09 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/DeleteTag.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json new file mode 100644 index 000000000000..1bbfa05a5d86 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportIteration.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "platform": "TensorFlow" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "platform": "TensorFlow", + "status": "Exporting", + "downloadUri": "", + "newerVersionAvailable": false + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json new file mode 100644 index 000000000000..8d59acb577d1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ExportProject.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "token": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json new file mode 100644 index 000000000000..e48a4cf6fd86 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetArtifact.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "path": "i-40b66b39b86b4583be8c0fe223aa9ec5/t-5c882c62ca2b4458b39a2041b111dd73" + }, + "responses": { + "200": { + "body": "{file}" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json new file mode 100644 index 000000000000..c6702b3a8f29 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json new file mode 100644 index 000000000000..a10887726fcb --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetDomains.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "name": "General", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "c151d5b5-dd07-472a-acc8-15d29dea8518", + "name": "Food", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "ca455789-012d-4b50-9fec-5bb63841c793", + "name": "Landmarks", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "name": "Retail", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "45badf75-3591-4f26-a705-45678d3e9f5f", + "name": "Adult", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "0732100f-1a38-4e49-a514-c9b44c697ab5", + "name": "General (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894", + "name": "Landmarks (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + }, + { + "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f", + "name": "Retail (compact)", + "type": "Classification", + "exportable": false, + "enabled": true + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json new file mode 100644 index 000000000000..1267168dbb4c --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetExports.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "platform": "TensorFlow", + "status": "Done", + "newerVersionAvailable": false, + "downloadUri": "{Download URI}" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json new file mode 100644 index 000000000000..ee6e4980eefa --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageCount.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": 12 + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json new file mode 100644 index 000000000000..c57ffd50669b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformanceCount.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12", + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + }, + "responses": { + "200": { + "headers": {}, + "body": "1" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json new file mode 100644 index 000000000000..dfe6eb5a7208 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagePerformances.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "tagIds": [ + "" + ], + "orderBy": "Newest" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ], + "width": 600, + "height": 1600, + "imageUri": "", + "thumbnailUri": "", + "tags": [], + "regions": [] + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json new file mode 100644 index 000000000000..7638215aae62 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImageRegionProposals.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "proposals": [ + { + "confidence": 0.25, + "boundingBox": { + "left": 0.25, + "top": 0.25, + "width": 0.25, + "height": 0.25 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json new file mode 100644 index 000000000000..d02bd9b585ef --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImages.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "created": "2017-12-19T15:56:10Z", + "width": 1095, + "height": 900, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + }, + { + "id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "created": "2017-12-19T15:56:10Z", + "width": 900, + "height": 1531, + "resizedImageUri": "{Resized Image Uri}", + "originalImageUri": "{Image Uri}", + "thumbnailUri": "{Thumbnail Uri}", + "tags": [ + { + "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "created": "2017-12-19T15:56:09Z", + "tagName": "tag 1" + } + ] + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetImagesByIds.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json new file mode 100644 index 000000000000..2383a6c6f910 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIteration.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json new file mode 100644 index 000000000000..323173c03a51 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterationPerformance.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "threshold": 0.9 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "perTagPerformance": [ + { + "id": "e31ff107-5505-4753-be42-b369b21b026c", + "name": "Hemlock", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + }, + { + "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "name": "Japanese Cherry", + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + ], + "precision": 1.0, + "precisionStdDeviation": 0.0, + "recall": 1.0, + "recallStdDeviation": 0.0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json new file mode 100644 index 000000000000..ac0c78134a80 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetIterations.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "name": "Iteration 1", + "status": "Completed", + "created": "2017-12-18T22:40:29Z", + "lastModified": "2017-12-18T22:40:41Z", + "trainedAt": "2017-12-18T22:40:41Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + }, + { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:47:02Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 5, + "publishName": "model1" + }, + { + "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5", + "name": "Iteration 3", + "status": "New", + "created": "2017-12-19T15:46:59Z", + "lastModified": "2017-12-19T15:46:59Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json new file mode 100644 index 000000000000..4b68bf1ea390 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProject.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "A test project", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json new file mode 100644 index 000000000000..b5166555936f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetProjects.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "My New Project", + "description": "", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:18Z", + "thumbnailUri": "" + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json new file mode 100644 index 000000000000..4ad3135822ae --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json new file mode 100644 index 000000000000..c0ed09aa6ae9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json new file mode 100644 index 000000000000..6ad8ea76c689 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetTags.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Tag1", + "description": "Description of Tag1", + "type": "Regular", + "imageCount": 0 + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json new file mode 100644 index 000000000000..c0ed09aa6ae9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImageCount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": "10" + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json new file mode 100644 index 000000000000..037118bc9d41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/GetUntaggedImages.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json new file mode 100644 index 000000000000..87702da27426 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/ImportProject.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "token": "token" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Import Project", + "description": "", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2019-10-06T05:43:18Z", + "lastModified": "2019-10-06T05:43:18Z", + "thumbnailUri": "", + "status": "Importing" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json new file mode 100644 index 000000000000..67d6ad03e29f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/PublishIteration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "publishName": "Model1", + "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}" + }, + "responses": { + "200": { + "headers": {}, + "body": true + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json new file mode 100644 index 000000000000..0bd19d6b7980 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QueryPredictions.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "query": { + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "maxThreshold": 1, + "minThreshold": 0.9 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "results": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "originalImageUri": "", + "thumbnailUri": "", + "resizedImageUri": "", + "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + } + ], + "token": { + "session": "1:286613", + "continuation": "", + "maxCount": 0, + "orderBy": "Newest", + "tags": [ + { + "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "minThreshold": 0.9, + "maxThreshold": 1.0 + } + ], + "iterationId": null, + "startTime": null, + "endTime": null, + "application": "" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json new file mode 100644 index 000000000000..bfe12dad0540 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImageCount.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "query": { + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "b5f7e6a2-a481-49a6-afec-a7cef1af3544": 1 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json new file mode 100644 index 000000000000..c42db2bc784f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuerySuggestedImages.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "query": { + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "results": [ + { + "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "created": "2018-01-31T20:18:26Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "originalImageUri": "", + "thumbnailUri": "", + "resizedImageUri": "", + "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + } + ], + "token": { + "session": "1:286613", + "continuation": "", + "maxCount": 0, + "sortBy": "Newest", + "tagIds": [ + "b5f7e6a2-a481-49a6-afec-a7cef1af3544" + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json new file mode 100644 index 000000000000..489852dc79df --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImage.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json new file mode 100644 index 000000000000..dc904ef6f116 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/QuickTestImageUrl.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageUrl": { + "url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "created": "2017-12-19T14:21:41Z", + "predictions": [ + { + "tagId": "e31ff107-5505-4753-be42-b369b21b026c", + "tagName": "Hemlock", + "probability": 0.05149666 + }, + { + "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "tagName": "Japanese Cherry", + "probability": 0.00 + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json new file mode 100644 index 000000000000..175a0a2a01e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/SuggestTagsAndRegions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "imageIds": [ + "e7f08c23-9e54-49f7-b609-69a0240ba306", + "ce632666-4b66-4adb-aa0a-ad8b7c32df06" + ] + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "8497e814-23cc-47d7-b24b-691cef0bcec9", + "project": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iteration": "ce271ee4-cc13-460f-b66f-993f8005522d", + "created": "2019-07-08T13:43:18Z", + "predictions": [ + { + "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "tagName": "Tag 1", + "probability": 1.0 + }, + { + "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "tagName": "Tag 2", + "probability": 3.60627153E-12 + } + ], + "predictionUncertainty": 0.32 + } + ] + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json new file mode 100644 index 000000000000..dd3deca15afb --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/TrainProject.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "trainingParameters": {} + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Iteration 2", + "status": "Training", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:46:58Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "domainId": null, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json new file mode 100644 index 000000000000..d1f9b7629958 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UnpublishIteration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json new file mode 100644 index 000000000000..54ac8a7a0725 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateImageMetadata.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "imageIds": [ + "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + ], + "metadata": { + "tag": "value" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "isBatchSuccessful": true, + "images": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "status": "OK", + "metadata": { + "tag": "value" + } + } + ] + } + }, + "207": { + "headers": {}, + "body": { + "isBatchSuccessful": false, + "images": [ + { + "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "status": "ErrorLimitExceed" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json new file mode 100644 index 000000000000..a965deb8aa0f --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateIteration.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "updatedIteration": { + "name": "Best Iteration" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "name": "Best Iteration", + "status": "Completed", + "created": "2017-12-18T22:40:36Z", + "lastModified": "2017-12-19T15:53:07Z", + "trainedAt": "2017-12-19T15:47:02Z", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "exportable": false, + "exportableTo": [ + "ONNX", + "DockerFile", + "TensorFlow", + "CoreML" + ], + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "trainingType": "Regular", + "reservedBudgetInHours": 0, + "publishName": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json new file mode 100644 index 000000000000..e19735364b5e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateProject.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "updatedProject": { + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "New Project Name", + "description": "A new Description", + "settings": { + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "created": "2017-12-18T05:43:18Z", + "lastModified": "2017-12-18T05:43:19Z", + "thumbnailUri": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json new file mode 100644 index 000000000000..51e0ee680aab --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/preview/v3.4-preview/examples/UpdateTag.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "https://westus.api.cognitive.microsoft.com", + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "updatedTag": { + "name": "Better Tag Name", + "type": "Regular", + "description": "Better description" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "name": "Better Tag Name", + "description": "Better description", + "type": "Regular", + "imageCount": 0 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md index c61b06fde524..e772a9b2b5db 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md @@ -21,6 +21,7 @@ batch: - tag: release_3_1 - tag: release_3_2 - tag: release_3_3 + - tag: release_3_4_preview ``` ### Tag: release_1_0 and go @@ -84,4 +85,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_4_preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.4-preview/customvision/$(namespace) ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md index 4941afe9c847..24c4d5e09848 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md @@ -4,11 +4,11 @@ Configuration for generating Custom Vision Training SDK. -The current release is `release_3_3`. +The current release is `release_3_4_preview`. ``` yaml -tag: release_3_3 +tag: release_3_4_preview openapi-type: data-plane ``` # Releases @@ -64,6 +64,14 @@ input-file: stable/v3.3/Training.json add-credentials: true ``` +### Release 3.4-preview +These settings apply only when `--tag=release_3_4_preview` is specified on the command line. + +``` yaml $(tag) == 'release_3_4_preview' +input-file: preview/v3.4-preview/Training.json +add-credentials: true +``` + # Validation ## Suppression @@ -172,6 +180,7 @@ input-file: - $(this-folder)/stable/v3.1/Training.json - $(this-folder)/stable/v3.2/Training.json - $(this-folder)/stable/v3.3/Training.json + - $(this-folder)/preview/v3.4-preview/Training.json ``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md index 517819d1250a..e4360fa9e63c 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md @@ -17,6 +17,7 @@ batch: - tag: release_3_1 - tag: release_3_2 - tag: release_3_3 + - tag: release_3_4_preview ``` ### Tag: release_1_0 and ruby @@ -73,3 +74,14 @@ namespace: "Azure::CognitiveServices::CustomVision::Training::V3_3" output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib title: "TrainingClient" ``` + +### Tag: release_3_4_preview and ruby + +These settings apply only when `--tag=release_3_4_preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_3_4_preview' && $(ruby) +namespace: "Azure::CognitiveServices::CustomVision::Training::V3_4_preview" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib +title: "TrainingClient" +``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json new file mode 100644 index 000000000000..9c401eb68afe --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json @@ -0,0 +1,1967 @@ +{ + "swagger": "2.0", + "info": { + "version": "2.1-preview.1", + "title": "Form Recognizer Client", + "description": "Extracts information from forms and images into structured data." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/formrecognizer/v2.1-preview.1", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "paths": { + "/custom/models": { + "post": { + "summary": "Train Custom Model", + "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.", + "operationId": "TrainCustomModelAsync", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "trainRequest", + "in": "body", + "description": "Training request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/TrainRequest" + } + } + ], + "responses": { + "201": { + "description": "Request is queued successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Train custom model": { + "$ref": "./examples/TrainBatch.json" + }, + "Train custom model with subfolder filter options": { + "$ref": "./examples/TrainBatchWithSubFolders.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}": { + "get": { + "summary": "Get Custom Model", + "description": "Get detailed information about a custom model.", + "operationId": "GetCustomModel", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "includeKeys", + "in": "query", + "description": "Include list of extracted keys in model information.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Model" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get custom model": { + "$ref": "./examples/GetModel.json" + } + } + }, + "delete": { + "summary": "Delete Custom Model", + "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.", + "operationId": "DeleteCustomModel", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "204": { + "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period." + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete custom model": { + "$ref": "./examples/DeleteModel.json" + } + } + } + }, + "/custom/models/{modelId}/analyze": { + "post": { + "summary": "Analyze Form", + "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.", + "operationId": "AnalyzeWithCustomModel", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze form with custom model": { + "$ref": "./examples/AnalyzeBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Form Result", + "description": "Obtain current status and the result of the analyze form operation.", + "operationId": "GetAnalyzeFormResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze form result": { + "$ref": "./examples/AnalyzeOperationResult.json" + } + } + } + }, + "/custom/models/{modelId}/copy": { + "post": { + "summary": "Copy Custom Model", + "description": "Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource.", + "operationId": "CopyCustomModel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "copyRequest", + "in": "body", + "description": "Copy request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/CopyRequest" + } + } + ], + "responses": { + "202": { + "description": "Copy request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the copy operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy custom model": { + "$ref": "./examples/CopyModel.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}/copyResults/{resultId}": { + "get": { + "summary": "Get Custom Model Copy Result", + "description": "Obtain current status and the result of a custom model copy operation.", + "operationId": "GetCustomModelCopyResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "resultId", + "in": "path", + "description": "Copy operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CopyOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get copy custom model result": { + "$ref": "./examples/CopyOperationResult.json" + }, + "Get copy custom model result with failures": { + "$ref": "./examples/CopyOperationResultWithErrors.json" + } + } + } + }, + "/custom/models/copyAuthorization": { + "post": { + "summary": "Generate Copy Authorization", + "description": "Generate authorization to copy a model into the target Form Recognizer resource.", + "operationId": "GenerateModelCopyAuthorization", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "201": { + "description": "Copy request is authorized successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the model being copied. The status of model copy is specified in the status property at the model location." + } + }, + "schema": { + "$ref": "#/definitions/CopyAuthorizationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy custom model": { + "$ref": "./examples/CopyModelAuthorization.json" + } + } + } + }, + "/custom/models/compose": { + "post": { + "tags": [ + "Form" + ], + "summary": "Compose trained with labels models into one composed model.", + "description": "Compose request would include list of models ids.\r\nIt would validate what all models either trained with labels model or composed model.\r\nIt would validate limit of models put together.", + "operationId": "ComposeCustomModelsAsync", + "consumes": [], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "name": "composeRequest", + "in": "body", + "description": "Compose models", + "required": true, + "schema": { + "$ref": "#/definitions/ComposeRequest" + } + } + ], + "responses": { + "201": { + "description": "Request is queued successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the composed model. The status of composed model is specified in the status property at the model location." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Compose custom models": { + "$ref": "./examples/ComposeModels.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/businessCard/analyze": { + "post": { + "summary": "Analyze Business Card", + "description": "Extract field text and semantic values from a given business card document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.", + "operationId": "AnalyzeBusinessCardAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "name": "locale", + "in": "query", + "description": "Locale of the business card. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze Business Card": { + "$ref": "./examples/BusinessCardBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/businessCard/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Business Card Result", + "description": "Track the progress and obtain the result of the analyze business card operation.", + "operationId": "GetAnalyzeBusinessCardResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze business card result": { + "$ref": "./examples/BusinessCardBatchResult.json" + } + } + } + }, + "/prebuilt/receipt/analyze": { + "post": { + "summary": "Analyze Receipt", + "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.", + "operationId": "AnalyzeReceiptAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "name": "locale", + "in": "query", + "description": "Locale of the receipt. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze receipt": { + "$ref": "./examples/ReceiptsBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/receipt/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Receipt Result", + "description": "Track the progress and obtain the result of the analyze receipt operation.", + "operationId": "GetAnalyzeReceiptResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze receipt result": { + "$ref": "./examples/ReceiptsBatchResult.json" + } + } + } + }, + "/layout/analyze": { + "post": { + "summary": "Analyze Layout", + "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.", + "operationId": "AnalyzeLayoutAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze layout": { + "$ref": "./examples/LayoutBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/layout/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Layout Result", + "description": "Track the progress and obtain the result of the analyze layout operation", + "operationId": "GetAnalyzeLayoutResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze layout result": { + "$ref": "./examples/LayoutBatchResult.json" + } + } + } + } + }, + "x-ms-paths": { + "/custom/models?op=full": { + "get": { + "summary": "List Custom Models", + "description": "Get information about all custom models", + "operationId": "ListCustomModels", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "op", + "in": "query", + "description": "Specify whether to return summary or full list of models.", + "required": true, + "type": "string", + "enum": [ + "full" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Models" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "modelList" + }, + "x-ms-examples": { + "List custom models": { + "$ref": "./examples/GetModels.json" + } + } + } + }, + "/custom/models?op=summary": { + "get": { + "summary": "Get Custom Models", + "description": "Get information about all custom models", + "operationId": "GetCustomModels", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "op", + "in": "query", + "description": "Specify whether to return summary or full list of models.", + "required": true, + "type": "string", + "enum": [ + "summary" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Models" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get models summary": { + "$ref": "./examples/GetModelsSummary.json" + } + } + } + } + }, + "definitions": { + "OperationStatus": { + "type": "string", + "description": "Status of the queued operation.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + }, + "x-nullable": false + }, + "CopyAuthorizationResult": { + "description": "Request parameter that contains authorization claims for copy operation.", + "required": [ + "modelId", + "accessToken", + "expirationDateTimeTicks" + ], + "type": "object", + "properties": { + "modelId": { + "description": "Model identifier.", + "type": "string" + }, + "accessToken": { + "description": "Token claim used to authorize the request.", + "type": "string" + }, + "expirationDateTimeTicks": { + "description": "The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.", + "type": "integer", + "format": "int64" + } + } + }, + "CopyRequest": { + "description": "Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID.", + "required": [ + "targetResourceId", + "targetResourceRegion", + "copyAuthorization" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "Azure Resource Id of the target Form Recognizer resource where the model is copied to.", + "maxLength": 1024, + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$", + "x-ms-azure-resource": true + }, + "targetResourceRegion": { + "description": "Location of the target Azure resource. A valid Azure region name supported by Cognitive Services.", + "type": "string", + "pattern": "^[a-z0-9]+$", + "minLength": 1, + "maxLength": 24 + }, + "copyAuthorization": { + "description": "Entity that encodes claims to authorize the copy request.", + "$ref": "#/definitions/CopyAuthorizationResult" + } + } + }, + "CopyOperationResult": { + "description": "Status and result of the queued copy operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the copy operation was submitted.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "copyResult": { + "description": "Results of the copy operation.", + "$ref": "#/definitions/CopyResult" + } + } + }, + "CopyResult": { + "description": "Custom model copy result.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "description": "Identifier of the target model.", + "type": "string", + "format": "uuid" + }, + "errors": { + "description": "Errors returned during the copy operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "AnalyzeOperationResult": { + "description": "Status and result of the queued analyze operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the analyze operation was submitted.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "analyzeResult": { + "description": "Results of the analyze operation.", + "$ref": "#/definitions/AnalyzeResult" + } + } + }, + "ModelName": { + "description": "Optional user defined model name (max length: 1024).", + "type": "string", + "x-nullable": false + }, + "TrainRequest": { + "description": "Request parameter to train a new custom model.", + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "description": "Source path containing the training documents.", + "maxLength": 2048, + "minLength": 0, + "type": "string" + }, + "sourceFilter": { + "$ref": "#/definitions/TrainSourceFilter", + "description": "Filter to apply to the documents in the source path for training." + }, + "useLabelFile": { + "description": "Use label file for training a model.", + "type": "boolean", + "default": false + }, + "modelName": { + "$ref": "#/definitions/ModelName" + } + } + }, + "TrainSourceFilter": { + "description": "Filter to apply to the documents in the source path for training.", + "type": "object", + "properties": { + "prefix": { + "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.", + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "includeSubFolders": { + "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "TrainResult": { + "description": "Custom model training result.", + "type": "object", + "required": [ + "trainingDocuments" + ], + "properties": { + "trainingDocuments": { + "description": "List of the documents used to train the model and any errors reported in each document.", + "type": "array", + "items": { + "$ref": "#/definitions/TrainingDocumentInfo" + } + }, + "fields": { + "description": "List of fields used to train the model and the train operation error reported by each.", + "type": "array", + "items": { + "$ref": "#/definitions/FormFieldsReport" + } + }, + "averageModelAccuracy": { + "description": "Average accuracy.", + "type": "number", + "x-nullable": false + }, + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "errors": { + "description": "Errors returned during the training operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "SourcePath": { + "description": "Uri or local path to source data.", + "type": "object", + "properties": { + "source": { + "description": "File source path.", + "maxLength": 2048, + "minLength": 0, + "type": "string" + } + } + }, + "Attributes": { + "description": "Optional model attributes.", + "type": "object", + "properties": { + "isComposed": { + "description": "Is this model composed? (default: false).", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "ModelInfo": { + "description": "Basic custom model information.", + "type": "object", + "required": [ + "modelId", + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "status": { + "description": "Status of the model.", + "enum": [ + "creating", + "ready", + "invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ModelStatus", + "modelAsString": false + }, + "x-nullable": false + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the model was created.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "modelName": { + "$ref": "#/definitions/ModelName" + }, + "attributes": { + "$ref": "#/definitions/Attributes" + } + } + }, + "Models": { + "description": "Response to the list custom models operation.", + "type": "object", + "properties": { + "summary": { + "description": "Summary of all trained custom models.", + "type": "object", + "required": [ + "count", + "limit", + "lastUpdatedDateTime" + ], + "properties": { + "count": { + "description": "Current count of trained custom models.", + "type": "integer", + "x-nullable": false + }, + "limit": { + "description": "Max number of models that can be trained for this account.", + "type": "integer", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the summary was last updated.", + "type": "string", + "x-nullable": false + } + } + }, + "modelList": { + "description": "Collection of trained custom models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelInfo" + } + }, + "nextLink": { + "description": "Link to the next page of custom models.", + "type": "string" + } + } + }, + "Model": { + "description": "Response to the get custom model operation.", + "type": "object", + "required": [ + "modelInfo" + ], + "properties": { + "modelInfo": { + "$ref": "#/definitions/ModelInfo" + }, + "keys": { + "$ref": "#/definitions/KeysResult" + }, + "trainResult": { + "description": "Training result for custom model.", + "$ref": "#/definitions/TrainResult" + }, + "composedTrainResults": { + "type": "array", + "description": "Training result for composed model.", + "items": { + "$ref": "#/definitions/TrainResult" + } + } + } + }, + "KeysResult": { + "description": "Keys extracted by the custom model.", + "type": "object", + "required": [ + "clusters" + ], + "properties": { + "clusters": { + "description": "Object mapping clusterIds to a list of keys.", + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "TrainingDocumentInfo": { + "description": "Report for a custom model training document.", + "type": "object", + "required": [ + "documentName", + "pages", + "errors", + "status" + ], + "properties": { + "documentName": { + "description": "Training document name.", + "type": "string" + }, + "pages": { + "format": "int32", + "description": "Total number of pages trained.", + "type": "integer", + "x-nullable": false + }, + "errors": { + "description": "List of errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + }, + "status": { + "description": "Status of the training operation.", + "enum": [ + "succeeded", + "partiallySucceeded", + "failed" + ], + "type": "string", + "x-ms-enum": { + "name": "TrainStatus", + "modelAsString": false + }, + "x-nullable": false + } + } + }, + "FormFieldsReport": { + "description": "Report for a custom model training field.", + "type": "object", + "required": [ + "fieldName", + "accuracy" + ], + "properties": { + "fieldName": { + "description": "Training field name.", + "type": "string" + }, + "accuracy": { + "description": "Estimated extraction accuracy for this field.", + "type": "number", + "x-nullable": false + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "$ref": "#/definitions/ErrorInformation" + } + } + }, + "ErrorInformation": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ComposeRequest": { + "description": "Request contract for compose operation.", + "required": [ + "modelIds" + ], + "type": "object", + "properties": { + "modelIds": { + "description": "List of model ids to compose.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "modelName": { + "$ref": "#/definitions/ModelName" + } + } + }, + "AnalyzeResult": { + "description": "Analyze operation result.", + "type": "object", + "required": [ + "version", + "readResults" + ], + "properties": { + "version": { + "description": "Version of schema used for this result.", + "type": "string" + }, + "readResults": { + "description": "Text extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadResult" + } + }, + "pageResults": { + "description": "Page-level information extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/PageResult" + } + }, + "documentResults": { + "description": "Document-level information extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentResult" + } + }, + "errors": { + "description": "List of errors reported during the analyze operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "ReadResult": { + "description": "Text extracted from a page in the input document.", + "type": "object", + "required": [ + "page", + "angle", + "width", + "height", + "unit" + ], + "properties": { + "page": { + "description": "The 1-based page number in the input document.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "angle": { + "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].", + "type": "number", + "minimum": -180, + "maximum": 180, + "exclusiveMinimum": true, + "x-nullable": false + }, + "width": { + "description": "The width of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0, + "x-nullable": false + }, + "height": { + "description": "The height of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0, + "x-nullable": false + }, + "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": false + }, + "x-nullable": false + }, + "language": { + "description": "The detected language on the page overall.", + "$ref": "#/definitions/Language" + }, + "lines": { + "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.", + "type": "array", + "items": { + "$ref": "#/definitions/TextLine" + } + }, + "selectionMarks": { + "description": "List of selection marks extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/SelectionMark" + } + } + } + }, + "Language": { + "description": "Language code", + "type": "string", + "enum": [ + "en", + "es" + ], + "x-ms-enum": { + "name": "Language", + "modelAsString": true + }, + "x-nullable": false + }, + "TextLine": { + "description": "An object representing an extracted text line.", + "type": "object", + "required": [ + "text", + "boundingBox", + "words" + ], + "properties": { + "text": { + "description": "The text content of the line.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of an extracted line.", + "$ref": "#/definitions/BoundingBox" + }, + "language": { + "description": "The detected language of this line, if different from the overall page language.", + "$ref": "#/definitions/Language" + }, + "words": { + "description": "List of words in the text line.", + "type": "array", + "items": { + "$ref": "#/definitions/TextWord" + } + } + } + }, + "TextWord": { + "description": "An object representing a word.", + "type": "object", + "required": [ + "boundingBox", + "text" + ], + "properties": { + "text": { + "description": "The text content of the word.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of an extracted word.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + } + } + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.", + "type": "array", + "minItems": 8, + "maxItems": 8, + "items": { + "type": "number", + "x-nullable": false + } + }, + "PageResult": { + "description": "Extracted information from a single page.", + "type": "object", + "required": [ + "page" + ], + "properties": { + "page": { + "description": "Page number.", + "type": "integer", + "format": "int32", + "minimum": 1, + "x-nullable": false + }, + "clusterId": { + "description": "Cluster identifier.", + "type": "integer", + "format": "int32", + "minimum": 0, + "x-nullable": false + }, + "keyValuePairs": { + "description": "List of key-value pairs extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + } + }, + "tables": { + "description": "List of data tables extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DataTable" + } + } + } + }, + "KeyValuePair": { + "description": "Information about the extracted key-value pair.", + "type": "object", + "required": [ + "key", + "value", + "confidence" + ], + "properties": { + "label": { + "description": "A user defined label for the key/value pair entry.", + "type": "string" + }, + "key": { + "description": "Information about the extracted key in a key-value pair.", + "$ref": "#/definitions/KeyValueElement" + }, + "value": { + "description": "Information about the extracted value in a key-value pair.", + "$ref": "#/definitions/KeyValueElement" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + } + } + }, + "KeyValueElement": { + "description": "Information about the extracted key or value in a key-value pair.", + "type": "object", + "required": [ + "text" + ], + "properties": { + "type": { + "$ref": "#/definitions/KeyValueType" + }, + "text": { + "description": "The text content of the key or value.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the key or value.", + "$ref": "#/definitions/BoundingBox" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + } + } + }, + "KeyValueType": { + "type": "string", + "description": "Semantic data type of the key value element.", + "enum": [ + "string", + "selectionMark" + ], + "x-ms-enum": { + "name": "KeyValueType", + "modelAsString": true + }, + "x-nullable": false + }, + "ElementReference": { + "description": "Reference to a line, word or selection mark.", + "type": "string" + }, + "SelectionMark": { + "description": "Information about the extracted selection mark.", + "type": "object", + "required": [ + "boundingBox", + "confidence", + "state" + ], + "properties": { + "boundingBox": { + "description": "Bounding box of the selection mark.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + }, + "state": { + "description": "State of the selection mark.", + "type": "string", + "enum": [ + "selected", + "unselected" + ] + } + } + }, + "DataTable": { + "description": "Information about the extracted table contained in a page.", + "type": "object", + "required": [ + "rows", + "columns", + "cells" + ], + "properties": { + "rows": { + "description": "Number of rows.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "columns": { + "description": "Number of columns.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "cells": { + "description": "List of cells contained in the table.", + "type": "array", + "items": { + "$ref": "#/definitions/DataTableCell" + } + } + } + }, + "DataTableCell": { + "description": "Information about the extracted cell in a table.", + "type": "object", + "required": [ + "rowIndex", + "columnIndex", + "text", + "boundingBox", + "confidence" + ], + "properties": { + "rowIndex": { + "description": "Row index of the cell.", + "type": "integer", + "minimum": 0, + "x-nullable": false + }, + "columnIndex": { + "description": "Column index of the cell.", + "type": "integer", + "minimum": 0, + "x-nullable": false + }, + "rowSpan": { + "description": "Number of rows spanned by this cell.", + "type": "integer", + "minimum": 1, + "default": 1, + "x-nullable": false + }, + "columnSpan": { + "description": "Number of columns spanned by this cell.", + "type": "integer", + "minimum": 1, + "default": 1, + "x-nullable": false + }, + "text": { + "description": "Text content of the cell.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the cell.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + }, + "isHeader": { + "description": "Is the current cell a header cell?", + "type": "boolean", + "default": false, + "x-nullable": false + }, + "isFooter": { + "description": "Is the current cell a footer cell?", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "DocumentResult": { + "description": "A set of extracted fields corresponding to the input document.", + "type": "object", + "required": [ + "docType", + "pageRange", + "fields" + ], + "properties": { + "docType": { + "description": "Document type.", + "type": "string" + }, + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "pageRange": { + "description": "First and last page number where the document is found.", + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 1, + "x-nullable": false + } + }, + "docTypeConfidence": { + "description": "Predicted document type confidence.", + "$ref": "#/definitions/Confidence" + }, + "fields": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldValue" + } + } + } + }, + "FieldValue": { + "description": "Recognized field value.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of field value.", + "$ref": "#/definitions/FieldValueType" + }, + "valueString": { + "description": "String value.", + "type": "string" + }, + "valueDate": { + "description": "Date value.", + "format": "date", + "type": "string", + "x-nullable": false + }, + "valueTime": { + "description": "Time value.", + "format": "time", + "type": "string", + "x-nullable": false + }, + "valuePhoneNumber": { + "description": "Phone number value.", + "type": "string" + }, + "valueNumber": { + "description": "Floating point value.", + "type": "number", + "x-nullable": false + }, + "valueInteger": { + "description": "Integer value.", + "type": "integer", + "x-nullable": false + }, + "valueArray": { + "description": "Array of field values.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldValue" + } + }, + "valueObject": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldValue" + } + }, + "valueSelectionMark": { + "description": "Selection mark value.", + "type": "string", + "enum": [ + "selected", + "unselected" + ], + "x-nullable": false + }, + "text": { + "description": "Text content of the extracted field.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the field value, if appropriate.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence score.", + "$ref": "#/definitions/Confidence" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + }, + "page": { + "description": "The 1-based page number in the input document.", + "type": "integer", + "minimum": 1, + "x-nullable": false + } + } + }, + "FieldValueType": { + "type": "string", + "description": "Semantic data type of the field value.", + "enum": [ + "string", + "date", + "time", + "phoneNumber", + "number", + "integer", + "array", + "object", + "selectionMark" + ], + "x-ms-enum": { + "name": "FieldValueType", + "modelAsString": false + }, + "x-nullable": false + }, + "Confidence": { + "description": "Confidence value.", + "type": "number", + "minimum": 0, + "maximum": 1, + "x-nullable": false + } + }, + "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileStream": { + "name": "fileStream", + "description": ".json, .pdf, .jpg, .png or .tiff type file stream.", + "x-ms-parameter-location": "method", + "in": "body", + "schema": { + "$ref": "#/definitions/SourcePath" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json new file mode 100644 index 000000000000..01eb4730ed08 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json new file mode 100644 index 000000000000..5b8a65ac0a6b --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json new file mode 100644 index 000000000000..6521a5fa2244 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": { + "source": "http://www.example.com/image.jpg" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/businessCard/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json new file mode 100644 index 000000000000..2cf7aa15db22 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json new file mode 100644 index 000000000000..0fecac98f79b --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "composeRequest": { + "modelIds": [ + "4afb20d6-3ed0-4cde-ba40-dbd6207268dd", + "6f841356-aa32-42c9-a739-2182c47b79c9" + ] + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json new file mode 100644 index 000000000000..34d6aacb688e --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {}, + "copyRequest": { + "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}", + "targetResourceRegion": "westus2", + "copyAuthorization": { + "modelId": "{modelId}", + "accessToken": "{accessToken}", + "expirationDateTimeTicks": 637190189980000000 + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/copyResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json new file mode 100644 index 000000000000..2acc95b1fce5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {} + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + }, + "body": { + "modelId": "{modelId}", + "accessToken": "{accessToken}", + "expirationDateTimeTicks": 637190189980000000 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json new file mode 100644 index 000000000000..f7b7b1163884 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{resultId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2020-01-01T00:00:00Z", + "lastUpdatedDateTime": "2020-01-01T00:01:00Z", + "copyResult": { + "modelId": "{modelId}", + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json new file mode 100644 index 000000000000..853dd73e595e --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{resultId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "failed", + "createdDateTime": "2020-01-01T00:00:00Z", + "lastUpdatedDateTime": "2020-01-01T00:01:00Z", + "copyResult": { + "modelId": "{modelId}", + "errors": [ + { + "code": "ResourceResolverError", + "message": "{ErrorMessage}" + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json new file mode 100644 index 000000000000..c945ec953dd4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json new file mode 100644 index 000000000000..df1c4b66b252 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "modelInfo": { + "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8", + "modelName": "my composed model", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": true + } + }, + "keys": { + "clusters": { + "0": [ + "Invoice", + "123112313" + ], + "1": [ + "Please remit payment to:", + "Microsoft" + ] + } + }, + "trainResult": { + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + }, + "composedTrainResults": [ + { + "modelId": "4afb20d6-3ed0-4cde-ba40-dbd6207268dd", + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + }, + { + "modelId": "6f841356-aa32-42c9-a739-2182c47b79c9", + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json new file mode 100644 index 000000000000..36ee11465e4f --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "op": "full", + "body": {} + }, + "responses": { + "200": { + "body": { + "summary": { + "count": 2, + "limit": 5000, + "lastUpdatedDateTime": "2019-05-01T10:53:21Z" + }, + "modelList": [ + { + "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8", + "modelName": "test model 1", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": false + } + }, + { + "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8", + "modelName": "test model 2", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": true + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json new file mode 100644 index 000000000000..507495b78206 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "op": "summary", + "body": {} + }, + "responses": { + "200": { + "body": { + "summary": { + "count": 5, + "limit": 5000, + "lastUpdatedDateTime": "2019-05-01T10:53:21Z" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json new file mode 100644 index 000000000000..1495017a7252 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/layout/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json new file mode 100644 index 000000000000..2a258bfe71bc --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json new file mode 100644 index 000000000000..0790699b3fac --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/receipt/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json new file mode 100644 index 000000000000..2cf7aa15db22 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json new file mode 100644 index 000000000000..b67143b72085 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "trainRequest": { + "source": "/input/data1" + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json new file mode 100644 index 000000000000..ec88bff4f0d5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "trainRequest": { + "source": "/input/data1", + "sourceFilter": { + "prefix": "", + "includeSubFolders": false + }, + "useLabelFile": false + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md index 1f5392f74b54..a3f839b98e64 100644 --- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md +++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md @@ -1,4 +1,4 @@ -## Go +### Go These settings apply only when `--go` is specified on the command line. @@ -23,4 +23,4 @@ Please also specify `--go-sdk-folder=here.", + "maxLength": 100, + "minLength": 1 + }, + "enableMultipleLanguages": { + "type": "boolean", + "description": "Set to true to enable creating KBs in different languages for the same resource." + }, + "defaultAnswer": { + "type": "string", + "description": "Default answer sent to user if no good match is found in the KB.", + "maxLength": 300, + "minLength": 1 + } + } + }, + "FileDTO": { + "type": "object", + "description": "DTO to hold details of uploaded files.", + "additionalProperties": false, + "required": [ + "fileName", + "fileUri" + ], + "properties": { + "fileName": { + "type": "string", + "description": "File name. Supported file types are \".tsv\", \".pdf\", \".txt\", \".docx\", \".xlsx\".", + "maxLength": 200, + "minLength": 1 + }, + "fileUri": { + "type": "string", + "description": "Public URI of the file." + } + } + }, + "ReplaceKbDTO": { + "type": "object", + "description": "Post body schema for Replace KB operation.", + "additionalProperties": false, + "required": [ + "qnAList" + ], + "properties": { + "qnAList": { + "type": "array", + "description": "List of Q-A (QnADTO) to be added to the knowledgebase. Q-A Ids are assigned by the service and should be omitted.", + "items": { + "$ref": "#/definitions/QnADTO" + } + } + } + }, + "QnADTO": { + "type": "object", + "description": "Q-A object.", + "additionalProperties": false, + "required": [ + "answer", + "questions" + ], + "properties": { + "id": { + "type": "integer", + "description": "Unique id for the Q-A.", + "format": "int32" + }, + "answer": { + "type": "string", + "description": "Answer text", + "maxLength": 25000, + "minLength": 1 + }, + "source": { + "type": "string", + "description": "Source from which Q-A was indexed. eg. 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": "array", + "description": "List of metadata associated with the answer.", + "maxLength": 10, + "items": { + "$ref": "#/definitions/MetadataDTO" + } + }, + "context": { + "description": "Context of a QnA", + "allOf": [ + { + "$ref": "#/definitions/ContextDTO" + } + ] + }, + "lastUpdatedTimestamp": { + "type": "string", + "description": "Timestamp when the QnA was last updated.", + "maxLength": 300 + } + } + }, + "ContextDTO": { + "type": "object", + "description": "Context associated with Qna.", + "properties": { + "isContextOnly": { + "type": "boolean", + "description": "To mark if a prompt is relevant only with a previous question or not.\ntrue - Do not include this QnA as search result for queries without context\nfalse - 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/PromptDTO" + } + } + } + }, + "PromptDTO": { + "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 - if QnaId is present, QnADTO object is ignored.", + "format": "int32" + }, + "qna": { + "description": "QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object", + "allOf": [ + { + "$ref": "#/definitions/QnADTO" + } + ] + }, + "displayText": { + "type": "string", + "description": "Text displayed to represent a follow up question prompt", + "maxLength": 200 + } + } + }, + "MetadataDTO": { + "type": "object", + "description": "Name - value pair of metadata.", + "additionalProperties": false, + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Metadata name.", + "maxLength": 100, + "minLength": 1 + }, + "value": { + "type": "string", + "description": "Metadata value.", + "maxLength": 500, + "minLength": 1 + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "additionalProperties": false, + "properties": { + "error": { + "description": "The error object.", + "allOf": [ + { + "$ref": "#/definitions/Error" + } + ] + } + } + }, + "Error": { + "type": "object", + "description": "The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "additionalProperties": false, + "required": [ + "code" + ], + "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" + } + } + }, + "ErrorCode": { + "type": "string", + "description": "Human readable error code.", + "x-ms-enum": { + "name": "ErrorCodeType", + "modelAsString": true + }, + "enum": [ + "BadArgument", + "Forbidden", + "NotFound", + "KbNotFound", + "Unauthorized", + "Unspecified", + "EndpointKeysError", + "QuotaExceeded", + "QnaRuntimeError", + "SKULimitExceeded", + "OperationNotFound", + "ServiceError", + "ValidationFailure", + "ExtractionFailure" + ] + }, + "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, + "properties": { + "code": { + "type": "string", + "description": "A more specific error code than was provided by the containing error." + }, + "innerError": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "Operation": { + "type": "object", + "description": "Record to track long running operation.", + "additionalProperties": false, + "properties": { + "operationState": { + "description": "Operation state.", + "$ref": "#/definitions/OperationState" + }, + "createdTimestamp": { + "type": "string", + "description": "Timestamp when the operation was created." + }, + "lastActionTimestamp": { + "type": "string", + "description": "Timestamp when the current state was entered." + }, + "resourceLocation": { + "type": "string", + "description": "Relative URI to the target resource location for completed resources." + }, + "userId": { + "type": "string", + "description": "User Id" + }, + "operationId": { + "type": "string", + "description": "Operation Id." + }, + "errorResponse": { + "description": "Error details in case of failures.", + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "OperationState": { + "type": "string", + "description": "Enumeration of operation states.", + "x-ms-enum": { + "name": "OperationStateType", + "modelAsString": true + }, + "enum": [ + "Failed", + "NotStarted", + "Running", + "Succeeded" + ] + }, + "KnowledgebasesDTO": { + "type": "object", + "description": "Collection of knowledgebases owned by a user.", + "additionalProperties": false, + "properties": { + "knowledgebases": { + "type": "array", + "description": "Collection of knowledgebase records.", + "items": { + "$ref": "#/definitions/KnowledgebaseDTO" + } + } + } + }, + "KnowledgebaseDTO": { + "type": "object", + "description": "Response schema for CreateKb operation.", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "description": "Unique id that identifies a knowledgebase." + }, + "hostName": { + "type": "string", + "description": "URL host name at which the knowledgebase is hosted." + }, + "lastAccessedTimestamp": { + "type": "string", + "description": "Time stamp at which the knowledgebase was last accessed (UTC)." + }, + "lastChangedTimestamp": { + "type": "string", + "description": "Time stamp at which the knowledgebase was last modified (UTC)." + }, + "lastPublishedTimestamp": { + "type": "string", + "description": "Time stamp at which the knowledgebase was last published (UTC)." + }, + "name": { + "type": "string", + "description": "Friendly name of the knowledgebase." + }, + "userId": { + "type": "string", + "description": "User who created / owns the knowledgebase." + }, + "urls": { + "type": "array", + "description": "URL sources from which Q-A were extracted and added to the knowledgebase.", + "items": { + "type": "string" + } + }, + "sources": { + "type": "array", + "description": "Custom sources from which Q-A were extracted or explicitly added to the knowledgebase.", + "items": { + "type": "string" + } + } + } + }, + "EndpointSettingsDTO": { + "type": "object", + "description": "Endpoint settings.", + "additionalProperties": false, + "properties": { + "activeLearning": { + "description": "Active Learning settings of the endpoint.", + "allOf": [ + { + "$ref": "#/definitions/ActiveLearningSettingsDTO" + } + ] + } + } + }, + "ActiveLearningSettingsDTO": { + "type": "object", + "description": "Active Learning settings of the endpoint.", + "additionalProperties": false, + "properties": { + "enable": { + "type": "string", + "description": "True/False string providing Active Learning" + } + } + }, + "WordAlterationsDTO": { + "type": "object", + "description": "Collection of word alterations.", + "additionalProperties": false, + "required": [ + "wordAlterations" + ], + "properties": { + "wordAlterations": { + "type": "array", + "description": "Collection of word alterations.", + "maxLength": 10000, + "items": { + "$ref": "#/definitions/AlterationsDTO" + } + } + } + }, + "AlterationsDTO": { + "type": "object", + "description": "Collection of words that are synonyms.", + "additionalProperties": false, + "required": [ + "alterations" + ], + "properties": { + "alterations": { + "type": "array", + "description": "Words that are synonymous with each other.", + "maxLength": 20, + "minLength": 1, + "items": { + "type": "string" + } + } + } + }, + "EndpointKeysDTO": { + "type": "object", + "description": "Schema for EndpointKeys generate/refresh operations.", + "additionalProperties": false, + "properties": { + "primaryEndpointKey": { + "type": "string", + "description": "Primary Access Key." + }, + "secondaryEndpointKey": { + "type": "string", + "description": "Secondary Access Key." + }, + "installedVersion": { + "type": "string", + "description": "Current version of runtime." + }, + "lastStableVersion": { + "type": "string", + "description": "Latest version of runtime." + }, + "language": { + "type": "string", + "description": "Language setting of runtime." + } + } + }, + "QueryDTO": { + "type": "object", + "description": "POST body schema to query the knowledgebase.", + "additionalProperties": false, + "properties": { + "qnaId": { + "type": "string", + "description": "Exact qnaId to fetch from the knowledgebase, this field takes priority over question." + }, + "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." + }, + "isTest": { + "type": "boolean", + "description": "Query against the test index." + }, + "scoreThreshold": { + "type": "number", + "description": "Minimum threshold score for answers." + }, + "context": { + "description": "Context object with previous QnA's information.", + "allOf": [ + { + "$ref": "#/definitions/QueryContextDTO" + } + ] + }, + "rankerType": { + "type": "string", + "description": "Optional field. Set to 'QuestionOnly' for using a question only Ranker." + }, + "strictFilters": { + "type": "array", + "description": "Find QnAs that are associated with the given list of metadata.", + "items": { + "$ref": "#/definitions/MetadataDTO" + } + }, + "strictFiltersCompoundOperationType": { + "type": "string", + "description": "Optional field. Set to 'OR' for using OR operation for strict filters.", + "x-ms-enum": { + "name": "StrictFiltersCompoundOperationType", + "modelAsString": true + }, + "enum": [ + "AND", + "OR" + ] + }, + "answerSpanRequest": { + "description": "To configure Answer span prediction feature.", + "allOf": [ + { + "$ref": "#/definitions/AnswerSpanRequestDTO" + } + ] + } + } + }, + "QueryContextDTO": { + "type": "object", + "description": "Context object with previous QnA's information.", + "additionalProperties": false, + "properties": { + "previousQnaId": { + "type": "integer", + "description": "Previous QnA Id - qnaId of the top result." + }, + "previousUserQuery": { + "type": "string", + "description": "Previous user query." + } + } + }, + "QnASearchResultList": { + "type": "object", + "description": "Represents List of Question Answers.", + "additionalProperties": false, + "properties": { + "answers": { + "type": "array", + "description": "Represents Search Result list.", + "items": { + "$ref": "#/definitions/QnASearchResult" + } + } + } + }, + "QnASearchResult": { + "type": "object", + "description": "Represents Search Result.", + "additionalProperties": false, + "properties": { + "questions": { + "type": "array", + "description": "List of questions.", + "items": { + "type": "string" + } + }, + "answer": { + "type": "string", + "description": "Answer." + }, + "score": { + "type": "number", + "description": "Search result score." + }, + "id": { + "type": "integer", + "description": "Id of the QnA result.", + "format": "int32" + }, + "source": { + "type": "string", + "description": "Source of QnA result." + }, + "metadata": { + "type": "array", + "description": "List of metadata.", + "items": { + "$ref": "#/definitions/MetadataDTO" + } + }, + "context": { + "type": "object", + "description": "Context object of the QnA", + "allOf": [ + { + "$ref": "#/definitions/ContextDTO" + } + ] + }, + "answerSpan": { + "type": "object", + "description": "Answer span object of QnA with respect to user's question.", + "allOf": [ + { + "$ref": "#/definitions/AnswerSpanResponseDTO" + } + ] + } + } + }, + "FeedbackRecordsDTO": { + "type": "object", + "description": "Active learning feedback records.", + "additionalProperties": false, + "properties": { + "feedbackRecords": { + "type": "array", + "description": "List of feedback records.", + "maxLength": 1000, + "items": { + "$ref": "#/definitions/FeedbackRecordDTO" + } + } + } + }, + "FeedbackRecordDTO": { + "type": "object", + "description": "Active learning feedback record.", + "additionalProperties": false, + "properties": { + "userId": { + "type": "string", + "description": "Unique identifier for the user." + }, + "userQuestion": { + "type": "string", + "description": "The suggested question being provided as feedback.", + "maxLength": 1000 + }, + "qnaId": { + "type": "integer", + "description": "The qnaId for which the suggested question is provided as feedback.", + "format": "int32" + } + } + }, + "AnswerSpanRequestDTO": { + "type": "object", + "description": "To configure Answer span prediction feature.", + "additionalProperties": false, + "properties": { + "enable": { + "type": "boolean", + "description": "Enable or Disable Answer Span prediction." + }, + "scoreThreshold": { + "type": "number", + "format": "double", + "description": "Minimum threshold score required to include an answer span." + }, + "topAnswersWithSpan": { + "type": "integer", + "description": "Number of Top answers to be considered for span prediction.", + "format": "int32", + "maximum": 10, + "minimum": 1 + } + } + }, + "AnswerSpanResponseDTO": { + "type": "object", + "description": "Answer span object of QnA.", + "additionalProperties": false, + "properties": { + "text": { + "type": "string", + "description": "Predicted text of answer span." + }, + "score": { + "type": "number", + "description": "Predicted score of answer span.", + "format": "double" + }, + "startIndex": { + "type": "integer", + "description": "Start index of answer span in answer.", + "format": "int32" + }, + "endIndex": { + "type": "integer", + "description": "End index of answer span in answer.", + "format": "int32" + } + } + } + }, + "parameters": { + "Environment": { + "type": "string", + "name": "environment", + "in": "path", + "required": true, + "x-nullable": false, + "description": "Specifies whether environment is Test or Prod.", + "x-ms-enum": { + "name": "EnvironmentType", + "modelAsString": true + }, + "enum": [ + "Prod", + "Test" + ], + "x-ms-parameter-location": "method" + }, + "CreateKbPayload": { + "name": "createKbPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateKbDTO" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "UpdateKb": { + "name": "updateKb", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateKbOperationDTO" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "ReplaceKb": { + "name": "replaceKb", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReplaceKbDTO" + }, + "x-nullable": true, + "description": "An instance of ReplaceKbDTO which contains list of qnas to be uploaded", + "x-ms-parameter-location": "method" + }, + "KbId": { + "type": "string", + "name": "kbId", + "in": "path", + "required": true, + "x-nullable": false, + "description": "Knowledgebase id.", + "x-ms-parameter-location": "method" + }, + "OperationId": { + "type": "string", + "name": "operationId", + "in": "path", + "required": true, + "x-nullable": false, + "description": "Operation id.", + "x-ms-parameter-location": "method" + }, + "WordAlterations": { + "name": "wordAlterations", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WordAlterationsDTO" + }, + "x-nullable": true, + "description": "New alterations data.", + "x-ms-parameter-location": "method" + }, + "KeyType": { + "type": "string", + "name": "keyType", + "in": "path", + "required": true, + "x-nullable": false, + "description": "Type of Key", + "x-ms-parameter-location": "method" + }, + "GenerateAnswerPayload": { + "name": "generateAnswerPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryDTO" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "TrainPayload": { + "name": "trainPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FeedbackRecordsDTO" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + }, + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoint (e.g., https://< qnamaker-resource-name >.api.cognitiveservices.azure.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "EndpointSettingsPayload": { + "name": "endpointSettingsPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointSettingsDTO" + }, + "x-nullable": true, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json new file mode 100644 index 000000000000..2f0bc8e9ee82 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulCreateKb.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "createKbPayload": { + "name": "QnA Maker FAQ", + "qnaList": [ + { + "id": 0, + "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle", + "source": "Custom Editorial", + "questions": [ + "How can I change the default message from QnA Maker?" + ], + "metadata": [] + }, + { + "id": 0, + "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create", + "source": "Custom Editorial", + "questions": [ + "How do I programmatically create a KB?" + ], + "metadata": [ + { + "name": "category", + "value": "api" + } + ], + "context": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "displayText": "Update KB", + "qna": { + "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update", + "questions": [ + "How do I programmatically update my KB?" + ], + "metadata": [ + { + "name": "category", + "value": "api" + } + ], + "context": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "displayText": "Refresh Endpoint Keys", + "qna": { + "answer": "You can use our REST apis to refresh endpoint keys. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/endpointkeys/refreshkeys", + "questions": [ + "How do I programmatically refresh endpoint keys?" + ] + } + } + ] + } + } + } + ] + } + } + ], + "urls": [ + "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs", + "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq" + ], + "files": [ + { + "fileName": "SurfaceManual.pdf", + "fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf" + } + ] + } + }, + "responses": { + "202": { + "headers": {}, + "body": { + "operationState": "NotStarted", + "createdTimestamp": "2018-03-19T07:38:46Z", + "lastActionTimestamp": "2018-03-19T07:39:29Z", + "userId": "86bb8390-56c0-42c2-9f81-3de161981191", + "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json new file mode 100644 index 000000000000..bcd50173c37b --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDelKb.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json new file mode 100644 index 000000000000..9c4bb3d38824 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulDownloadKb.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "environment": "Test" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "qnaDocuments": [ + { + "id": 1, + "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle", + "source": "Custom Editorial", + "questions": [ + "How can I change the default message from QnA Maker?" + ], + "metadata": [], + "context": { + "isContextOnly": false, + "prompts": [] + }, + "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00" + }, + { + "id": 2, + "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create", + "source": "Custom Editorial", + "questions": [ + "How do I programmatically create a KB?" + ], + "metadata": [ + { + "name": "category", + "value": "api" + } + ], + "context": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 3, + "displayText": "Update KB" + } + ] + }, + "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00" + }, + { + "id": 3, + "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update", + "source": "Editorial", + "questions": [ + "How do I programmatically update my KB?" + ], + "metadata": [ + { + "name": "category", + "value": "api" + } + ], + "context": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 4, + "displayText": "Refresh Endpoint Keys" + } + ] + }, + "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00" + }, + { + "id": 4, + "answer": "You can use our REST apis to refresh endpoint keys. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/endpointkeys/refreshkeys", + "source": "Editorial", + "questions": [ + "How do I programmatically refresh endpoint keys?" + ], + "metadata": [], + "context": { + "isContextOnly": false, + "prompts": [] + }, + "lastUpdatedTimestamp": "2020-08-27T16:00:30.272746+00:00" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json new file mode 100644 index 000000000000..c225ade135db --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGenAns.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "generateAnswerPayload": { + "question": "How much time it takes to complete quickstart guide?", + "top": 6, + "isTest": true, + "context": { + "previousQnaId": 9, + "previousUserQuery": "Where are QnA Maker quickstarts?" + }, + "scoreThreshold": 20, + "strictFilters": [ + { + "name": "category", + "value": "api" + } + ], + "answerSpanRequest": { + "enable": true, + "scoreThreshold": 25, + "topAnswersWithSpan": 1 + }, + "userId": "sd53lsY=" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "answers": [ + { + "questions": [ + "Complete a quickstart" + ], + "answer": "We offer quickstarts in most popular programming languages, each designed to teach you basic design patterns, and have you running code in less than 10 minutes. See the following list for the quickstart for each feature.\n\n* [Get started with the LUIS client library](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-sdk)\n\n* [Get started with the LUIS portal](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/create-publish-knowledge-base)\n\n* [Get started with the LUIS REST APis](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-rest-curl)", + "score": 46.11, + "id": 9, + "source": "Editorial", + "metadata": [], + "context": { + "isContextOnly": false, + "prompts": [] + }, + "answerSpan": { + "text": "less than 10 minutes", + "score": 54.92, + "startIndex": 139, + "endIndex": 159 + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json new file mode 100644 index 000000000000..465b1152950e --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAlts.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "wordAlterations": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + }, + { + "alterations": [ + "webchat", + "web chat" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json new file mode 100644 index 000000000000..dcd63a18be30 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetAltsForKb.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "wordAlterations": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + }, + { + "alterations": [ + "webchat", + "web chat" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json new file mode 100644 index 000000000000..a32d6baa42de --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "primaryEndpointKey": "73e88a14-694a-44d5-883b-184a68aa8530", + "secondaryEndpointKey": "b2c98c16-ca31-4294-8626-6c57454a5063", + "installedVersion": "4.0.5", + "lastStableVersion": "4.0.6" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json new file mode 100644 index 000000000000..97cc7fcac360 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetEpSettings.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "activeLearning": { + "enable": "True" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json new file mode 100644 index 000000000000..fbec604c70f5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetKb.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "hostName": "https://myqnamakerbot.azurewebsites.net", + "lastAccessedTimestamp": "2018-03-16T10:59:46Z", + "lastChangedTimestamp": "2018-03-16T10:58:10Z", + "lastPublishedTimestamp": "2018-03-16T10:59:56Z", + "name": "My QnA Maker Bot", + "userId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1", + "urls": [ + "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs", + "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq" + ], + "sources": [ + "Custom Editorial", + "SurfaceManual.pdf" + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json new file mode 100644 index 000000000000..85e84d90aed9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulGetOps.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operationState": "Succeeded", + "createdTimestamp": "2018-03-19T07:38:46Z", + "lastActionTimestamp": "2018-03-19T07:39:29Z", + "resourceLocation": "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "userId": "86bb8390-56c0-42c2-9f81-3de161981191", + "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json new file mode 100644 index 000000000000..aab19445e730 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulKbsResponse.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "knowledgebases": [ + { + "id": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "hostName": "https://myqnamakerbot.azurewebsites.net", + "lastAccessedTimestamp": "2018-03-16T10:59:46Z", + "lastChangedTimestamp": "2018-03-16T10:58:10Z", + "lastPublishedTimestamp": "2018-03-16T10:59:56Z", + "name": "My QnA Maker Bot", + "userId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1", + "urls": [ + "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs", + "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-faq" + ], + "sources": [ + "Custom Editorial", + "SurfaceManual.pdf" + ] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json new file mode 100644 index 000000000000..bcd50173c37b --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulPubKb.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json new file mode 100644 index 000000000000..fd6ba1224539 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulRepKb.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "replaceKb": { + "qnAList": [ + { + "id": 0, + "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle", + "source": "Custom Editorial", + "questions": [ + "How can I change the default message from QnA Maker?" + ], + "metadata": [] + }, + { + "id": 0, + "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create", + "source": "Custom Editorial", + "questions": [ + "How do I programmatically create a KB?" + ], + "metadata": [ + { + "name": "category", + "value": "api" + } + ] + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json new file mode 100644 index 000000000000..ba8facefde92 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAlts.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "wordAlterations": { + "wordAlterations": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + }, + { + "alterations": [ + "webchat", + "web chat" + ] + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json new file mode 100644 index 000000000000..6dc5ca492391 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetAltsForKb.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "wordAlterations": { + "wordAlterations": [ + { + "alterations": [ + "qnamaker", + "qna maker" + ] + }, + { + "alterations": [ + "botframework", + "bot framework" + ] + }, + { + "alterations": [ + "webchat", + "web chat" + ] + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json new file mode 100644 index 000000000000..925d4f65d77d --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "keyType": "PrimaryKey" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "primaryEndpointKey": "73e88a14-694a-44d5-883b-184a68aa8530", + "secondaryEndpointKey": "b2c98c16-ca31-4294-8626-6c57454a5063", + "installedVersion": "4.0.5", + "lastStableVersion": "4.0.6" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json new file mode 100644 index 000000000000..468c0b59680a --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulSetEpSettings.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "endpointSettingsPayload": { + "activeLearning": { + "enable": "True" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json new file mode 100644 index 000000000000..4dabb5d81c35 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulTrain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{Primary/Secondary Endpoint Key}", + "Content-Type": "application/json", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "trainPayload": { + "feedbackRecords": [ + { + "userId": "sd53lsY=", + "userQuestion": "qna maker with luis", + "qnaId": 4 + } + ] + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json new file mode 100644 index 000000000000..3c717ca27123 --- /dev/null +++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.1/examples/SuccessfulUpdKb.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", + "updateKb": { + "add": { + "qnaList": [ + { + "id": 0, + "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle", + "source": "Custom Editorial", + "questions": [ + "How can I change the default message from QnA Maker?" + ], + "metadata": [] + } + ], + "urls": [ + "https://docs.microsoft.com/en-us/azure/cognitive-services/Emotion/FAQ" + ], + "files": [ + { + "fileName": "SurfaceManual.pdf", + "fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf" + } + ] + }, + "delete": { + "ids": [ + 13, + 35 + ] + }, + "update": { + "name": "QnA Maker FAQ Prompts Bot", + "qnaList": [ + { + "id": 2, + "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create", + "source": "Custom Editorial", + "questions": { + "add": [], + "delete": [] + }, + "metadata": { + "add": [], + "delete": [] + }, + "context": { + "isContextOnly": false, + "promptsToAdd": [ + { + "displayText": "Add Prompts", + "displayOrder": 0, + "qna": { + "id": 0, + "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation", + "source": "Editorial", + "questions": [ + "How can I add prompts?" + ], + "metadata": [], + "context": { + "isContextOnly": false, + "prompts": [] + } + }, + "qnaId": 0 + }, + { + "displayText": "Delete Prompts", + "displayOrder": 0, + "qna": { + "id": 0, + "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation", + "source": "Editorial", + "questions": [ + "How can I delete delete prompts?" + ], + "metadata": [], + "context": { + "isContextOnly": false, + "prompts": [] + } + }, + "qnaId": 0 + }, + { + "displayText": "Update Knowledgebase", + "displayOrder": 0, + "qna": null, + "qnaId": 3 + } + ], + "promptsToDelete": [ + 3 + ] + } + }, + { + "id": 3, + "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update", + "source": "Custom Editorial", + "questions": { + "add": [], + "delete": [] + }, + "metadata": { + "delete": [ + { + "name": "category", + "value": "api" + } + ], + "add": [ + { + "name": "category", + "value": "programmatic" + } + ] + }, + "context": { + "isContextOnly": false, + "promptsToAdd": [ + { + "displayText": "Regenerate Endpoint keys", + "displayOrder": 1, + "qna": null, + "qnaId": 4 + } + ], + "promptsToDelete": [ + 4 + ] + } + } + ] + } + } + }, + "responses": { + "202": { + "headers": {}, + "body": { + "operationState": "NotStarted", + "createdTimestamp": "2018-03-19T07:38:46Z", + "lastActionTimestamp": "2018-03-19T07:39:29Z", + "userId": "86bb8390-56c0-42c2-9f81-3de161981191", + "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md index 214d27ace71d..ac3d12f87b38 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md @@ -14,6 +14,7 @@ go: batch: - tag: release_4_0 - tag: runtime_release_4_0 + - tag: release_5_0_preview.1 ``` ### Tag: release_4_0 and go @@ -35,3 +36,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_5_0_preview.1' && $(go) +namespace: qnamaker +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/cognitiveservices/v5.0-preview.1/$(namespace) +``` diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.md index 23b55def218b..df7bb80d5701 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.md @@ -5,6 +5,8 @@ Configuration for generating QnAMaker SDK. The current release is `release_4_0`. +A preview release `release_5_0_preview.1` is also available. + ``` yaml @@ -12,21 +14,33 @@ tag: release_4_0 add-credentials: true openapi-type: data-plane ``` -# Releases -### Release 4.0 -These settings apply only when `--tag=release_4_0` is specified on the command line. +``` yaml +tag: runtime_release_4_0 +add-credentials: true +openapi-type: data-plane +``` -``` yaml $(tag) == 'release_4_0' -input-file: stable/v4.0/QnAMaker.json +``` yaml +tag: release_5_0_preview.1 +add-credentials: true +openapi-type: data-plane ``` ``` yaml -tag: runtime_release_4_0 +tag: runtime_release_preview.1 add-credentials: true openapi-type: data-plane ``` -# Runtime Releases + +# Releases + +### Release 4.0 +These settings apply only when `--tag=release_4_0` is specified on the command line. + +``` yaml $(tag) == 'release_4_0' +input-file: stable/v4.0/QnAMaker.json +``` ### Runtime Release 4.0 These settings apply only when `--tag=runtime_release_4_0` is specified on the command line. @@ -35,10 +49,18 @@ These settings apply only when `--tag=runtime_release_4_0` is specified on the c input-file: stable/v4.0/QnAMakerRuntime.json ``` +### Release 5.0-preview.1 +These settings apply only when `--tag=release_5_0_preview.1` is specified on the command line. + +``` yaml $(tag) == 'release_5_0_preview.1' +input-file: preview/v5.0-preview.1/QnAMaker.json +``` + ``` yaml batch: - tag: release_4_0 - tag: runtime_release_4_0 + - tag: release_5_0_preview.1 ``` ## Swagger to SDK @@ -59,9 +81,10 @@ swagger-to-sdk: ``` -## CSharp Settings -These settings apply only when `--csharp` is specified on the command line. -``` yaml $(csharp) +## CSharp Settings Release 4.0 +These settings apply only when `--csharp --tag=release_4_0` is specified on the command line. + +``` yaml $(csharp) && $(tag) == 'release_4_0' csharp: sync-methods: None license-header: MICROSOFT_MIT_NO_VERSION @@ -71,6 +94,29 @@ csharp: clear-output-folder: true ``` +``` yaml $(csharp) && $(tag) == 'runtime_release_4_0' +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker + output-folder: $(csharp-sdks-folder)/CognitiveServices/Knowledge.QnAMaker/src/Generated + clear-output-folder: true +``` +## CSharp Settings Release 5.0-preview.1 + +These settings apply only when `--csharp --tag=release_5_0_preview.1` is specified on the command line. + +``` yaml $(csharp) && $(tag) == 'release_5_0_preview.1' +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker + output-folder: $(csharp-sdks-folder)/CognitiveServices/Knowledge.QnAMaker/preview/src/Generated + clear-output-folder: true +``` + ## Python See configuration in [readme.python.md](./readme.python.md) @@ -81,10 +127,10 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -These settings apply only when `--java` is specified on the command line. +These settings apply only when `--java --tag=release_4_0` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(java) +``` yaml $(java) && $(tag) == 'release_4_0' java: azure-arm: true namespace: com.microsoft.azure.cognitiveservices.knowledge.qnamaker @@ -95,6 +141,21 @@ java: with-single-async-method: true ``` + +These settings apply only when `--java --tag=release_5_0_preview` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) && $(tag) == 'release_5_0_preview.1' +java: + azure-arm: true + namespace: com.microsoft.azure.cognitiveservices.knowledge.qnamaker + license-header: MICROSOFT_MIT_NO_CODEGEN + payload-flattening-threshold: 1 + output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/knowledge/qnamaker/preview + with-optional-parameters: true + with-single-async-method: true +``` + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -109,7 +170,7 @@ require: $(this-folder)/../../../../profiles/readme.md input-file: - $(this-folder)/stable/v4.0/QnAMaker.json - $(this-folder)/stable/v4.0/QnAMakerRuntime.json - + - $(this-folder)/preview/v5.0-preview.1/QnAMaker.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md index 4a819e11716c..3f98fa061bd4 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md @@ -1,9 +1,9 @@ ## Node.js -These settings apply only when `--nodejs` is specified on the command line. +These settings apply only when `--nodejs --tag=release_4_0` is specified on the command line. Please also specify `--node-sdks-folder=`. -``` yaml $(nodejs) +``` yaml $(tag) == 'release_4_0' && $(nodejs) nodejs: package-name: azure-cognitiveservices-qnamaker output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesQnAMaker @@ -12,3 +12,16 @@ nodejs: generate-package-json: true generate-readme-md: true ``` + +These settings apply only when `--nodejs --tag=release_5_0_preview.1` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(tag) == 'release_5_0_preview.1' && $(nodejs) +nodejs: + package-name: azure-cognitiveservices-qnamaker-preview + output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesQnAMaker/preview + azure-arm: false + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md index 28c107b25da3..6be17bcb15d8 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md @@ -12,11 +12,18 @@ package-name: azure-cognitiveservices-knowledge-qnamaker no-namespace-folders: true clear-output-folder: true ``` + ``` yaml $(tag) == 'release_4_0' namespace: azure.cognitiveservices.knowledge.qnamaker.authoring output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/authoring ``` + ``` yaml $(tag) == 'runtime_release_4_0' namespace: azure.cognitiveservices.knowledge.qnamaker.runtime output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/runtime ``` + +``` yaml $(tag) == 'release_5_0_preview.1' +namespace: azure.cognitiveservices.knowledge.qnamaker.preview +output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/preview/ +``` diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md index 9466e290b772..cbcfc7220bdd 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md @@ -4,7 +4,7 @@ These settings apply only when `--ruby` is specified on the command line. ``` yaml package-name: azure_cognitiveservices_qnamaker -package-version: "0.16.0" +package-version: "1.0.0" azure-arm: true ``` @@ -13,6 +13,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - tag: release_4_0 + - tag: release_5_0_preview.1 ``` ### Tag: release_4_0 and ruby @@ -23,4 +24,15 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'release_5_0_preview.1' && $(ruby) +namespace: "Azure::CognitiveServices::Qnamaker::V5_0_preview_1" +output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_qnamaker/lib ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md index f796e6157012..14a2b6368a71 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md +++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md @@ -3,10 +3,21 @@ These settings apply only when `--typescript` is specified on the command line. Please also specify `--typescript-sdks-folder=`. -``` yaml $(typescript) +``` yaml $(tag) == 'release_4_0' && $(typescript) typescript: package-name: "@azure/cognitiveservices-qnamaker" output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-qnamaker" azure-arm: false generate-metadata: true ``` + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(tag) == 'release_5_0_preview.1' && $(typescript) +typescript: + package-name: "@azure/cognitiveservices-qnamaker" + output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-qnamaker/preview" + azure-arm: false + generate-metadata: true +``` diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json index 4e2a55047833..0f218c5ea51c 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json +++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json @@ -77,11 +77,8 @@ "application/json" ], "responses": { - "200": { - "description": "Response with endpointSettings update status.", - "schema": { - "type": "string" - } + "204": { + "description": "HTTP 204 No Content." }, "default": { "description": "Error response.", @@ -567,6 +564,12 @@ }, { "$ref": "#/parameters/Environment" + }, + { + "$ref": "#/parameters/source" + }, + { + "$ref": "#/parameters/changedSince" } ], "consumes": [ @@ -902,7 +905,7 @@ }, "language": { "type": "string", - "description": "Language of the knowledgebase.", + "description": "Language of the knowledgebase. Please find the list of supported languages here.", "maxLength": 100, "minLength": 1 } @@ -1418,6 +1421,24 @@ "description": "Knowledgebase id.", "x-ms-parameter-location": "method" }, + "source": { + "type": "string", + "name": "source", + "in": "query", + "required": false, + "x-nullable": false, + "description": "The source property filter to apply. Sample value: Editorial, smartLight%20FAQ.tsv .", + "x-ms-parameter-location": "method" + }, + "changedSince": { + "type": "string", + "name": "changedSince", + "in": "query", + "required": false, + "x-nullable": false, + "description": "changedSince property is used to return all QnAs created or updated after a specific time duration. The user can filter QnAs by seconds (s), minutes (m), hours (h) and days (d). The user may use any integral value along with the suffix for time. For instance, the value of 5m returns all QnA pairs updated or created in the last 5 minutes.", + "x-ms-parameter-location": "method" + }, "OperationId": { "type": "string", "name": "operationId", @@ -1449,7 +1470,7 @@ }, "Endpoint": { "name": "Endpoint", - "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "description": "Supported Cognitive Services endpoint (e.g., https://< qnamaker-resource-name> .api.cognitiveservices.azure.com).", "x-ms-parameter-location": "client", "required": true, "type": "string", diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json index 843426973bd1..04490d47590a 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json +++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMakerRuntime.json @@ -339,7 +339,7 @@ }, "userId": { "type": "string", - "description": "Unique identifier for the user." + "description": "Unique identifier for the user. Optional parameter for telemetry. For more information, refer Analytics and Telemetry." }, "isTest": { "type": "boolean", diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json index 640d3f21dc32..fd6ba1224539 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json +++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulRepKb.json @@ -5,7 +5,7 @@ "Ocp-Apim-Subscription-Key": "{API key}", "kbId": "9d091697-fb8c-4ed5-9ac0-35bf8273bfff", "replaceKb": { - "qnaList": [ + "qnAList": [ { "id": 0, "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle", diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json index a12bd163bd89..468c0b59680a 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json +++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulSetEpSettings.json @@ -10,9 +10,6 @@ } }, "responses": { - "200": { - "headers": {}, - "body": "Successfully updated endpoint settings" - } + "204": {} } } diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json index 0a767648beb6..3c717ca27123 100644 --- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json +++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/examples/SuccessfulUpdKb.json @@ -48,9 +48,6 @@ "add": [], "delete": [] }, - "alternateQuestionClusters": { - "delete": [] - }, "context": { "isContextOnly": false, "promptsToAdd": [ @@ -65,7 +62,6 @@ "How can I add prompts?" ], "metadata": [], - "alternateQuestionClusters": [], "context": { "isContextOnly": false, "prompts": [] @@ -84,7 +80,6 @@ "How can I delete delete prompts?" ], "metadata": [], - "alternateQuestionClusters": [], "context": { "isContextOnly": false, "prompts": [] @@ -126,9 +121,6 @@ } ] }, - "alternateQuestionClusters": { - "delete": [] - }, "context": { "isContextOnly": false, "promptsToAdd": [ diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json index ce0e51fa4b86..8b30ef934161 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json @@ -80,7 +80,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -138,7 +138,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -196,7 +196,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -254,7 +254,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -312,7 +312,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -370,7 +370,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -440,6 +440,19 @@ } } }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, "TextAnalyticsError": { "type": "object", "required": [ diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json index be6c1a405786..d60fb072603e 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.1/TextAnalytics.json @@ -47,27 +47,16 @@ ], "parameters": [ { - "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. ", - "required": false, - "type": "string" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean", - "required": false + "$ref": "#/parameters/ShowStats" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze.", - "required": true, - "schema": { - "$ref": "#/definitions/MultiLanguageBatchInput" - } + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" } ], "responses": { @@ -80,7 +69,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -107,16 +96,10 @@ ], "parameters": [ { - "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" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean" + "$ref": "#/parameters/ShowStats" }, { "name": "domain", @@ -125,13 +108,10 @@ "type": "string" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze.", - "required": true, - "schema": { - "$ref": "#/definitions/MultiLanguageBatchInput" - } + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" } ], "responses": { @@ -144,7 +124,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -171,25 +151,16 @@ ], "parameters": [ { - "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" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean" + "$ref": "#/parameters/ShowStats" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze.", - "required": true, - "schema": { - "$ref": "#/definitions/MultiLanguageBatchInput" - } + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" } ], "responses": { @@ -202,7 +173,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -229,25 +200,13 @@ ], "parameters": [ { - "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" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean" + "$ref": "#/parameters/ShowStats" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze. Documents can now contain a language field to indicate the text language", - "required": true, - "schema": { - "$ref": "#/definitions/MultiLanguageBatchInput" - } + "$ref": "#/parameters/MultiLanguageInput" } ], "responses": { @@ -260,7 +219,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -287,25 +246,13 @@ ], "parameters": [ { - "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" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean" + "$ref": "#/parameters/ShowStats" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze.", - "required": true, - "schema": { - "$ref": "#/definitions/LanguageBatchInput" - } + "$ref": "#/parameters/LanguageInput" } ], "responses": { @@ -318,7 +265,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -345,16 +292,10 @@ ], "parameters": [ { - "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" + "$ref": "#/parameters/ModelVersion" }, { - "name": "showStats", - "in": "query", - "description": "(Optional) if set to true, response will contain input and document level statistics.", - "type": "boolean" + "$ref": "#/parameters/ShowStats" }, { "name": "opinionMining", @@ -363,13 +304,10 @@ "type": "boolean" }, { - "in": "body", - "name": "input", - "description": "Collection of documents to analyze.", - "required": true, - "schema": { - "$ref": "#/definitions/MultiLanguageBatchInput" - } + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" } ], "responses": { @@ -382,7 +320,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -452,6 +390,19 @@ } } }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, "TextAnalyticsError": { "type": "object", "required": [ @@ -462,14 +413,14 @@ "code": { "type": "string", "enum": [ - "invalidRequest", - "invalidArgument", - "internalServerError", - "serviceUnavailable" + "InvalidRequest", + "InvalidArgument", + "InternalServerError", + "ServiceUnavailable" ], "x-ms-enum": { "name": "ErrorCodeValue", - "modelAsString": false + "modelAsString": true }, "description": "Error code." }, @@ -509,7 +460,7 @@ ], "x-ms-enum": { "name": "WarningCodeValue", - "modelAsString": false + "modelAsString": true }, "description": "Error code." }, @@ -533,19 +484,19 @@ "code": { "type": "string", "enum": [ - "invalidParameterValue", - "invalidRequestBodyFormat", - "emptyRequest", - "missingInputRecords", - "invalidDocument", - "modelVersionIncorrect", - "invalidDocumentBatch", - "unsupportedLanguageCode", - "invalidCountryHint" + "InvalidParameterValue", + "InvalidRequestBodyFormat", + "EmptyRequest", + "MissingInputRecords", + "InvalidDocument", + "ModelVersionIncorrect", + "InvalidDocumentBatch", + "UnsupportedLanguageCode", + "InvalidCountryHint" ], "x-ms-enum": { "name": "InnerErrorCodeValue", - "modelAsString": false + "modelAsString": true }, "description": "Error code." }, @@ -802,6 +753,10 @@ "mixed", "negative" ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, "description": "Aspect level sentiment for the aspect in the sentence." }, "confidenceScores": { @@ -849,6 +804,10 @@ "mixed", "negative" ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, "description": "Opinion level sentiment for the aspect in the sentence." }, "confidenceScores": { @@ -888,6 +847,10 @@ "opinion", "aspect" ], + "x-ms-enum": { + "name": "AspectRelationType", + "modelAsString": false + }, "description": "The type related to the aspect." }, "ref": { @@ -1337,6 +1300,73 @@ "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": "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." + } + ] + }, + "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" + }, + "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.1-preview.2/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/TextAnalytics.json new file mode 100644 index 000000000000..51298697016f --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/TextAnalytics.json @@ -0,0 +1,1444 @@ +{ + "swagger": "2.0", + "info": { + "version": "v3.1-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 text analytics web 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. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. 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/v3.1-preview.2", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "paths": { + "/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/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of recognized entities returned for each valid document.", + "schema": { + "$ref": "#/definitions/EntitiesResult" + } + }, + "default": { + "description": "Error Response", + "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" + }, + { + "name": "domain", + "in": "query", + "description": "(Optional) if set to 'PHI', response will contain only PHI entities.", + "type": "string" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of entities containing personal information returned for each valid document", + "schema": { + "$ref": "#/definitions/PiiEntitiesResult" + } + }, + "default": { + "description": "Error Response", + "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/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "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": "Error Response", + "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/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": "Error Response", + "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/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": "Error Response", + "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 (aspects) and opinions.", + "operationId": "Sentiment", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "name": "opinionMining", + "in": "query", + "description": "(Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results.", + "type": "boolean" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "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": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Sentiment request": { + "$ref": ".//examples//SuccessfulSentimentRequest.json" + } + }, + "deprecated": false + } + } + }, + "definitions": { + "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" + ], + "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." + } + } + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + }, + "aspects": { + "type": "array", + "description": "The array of aspect object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceAspect" + } + }, + "opinions": { + "type": "array", + "description": "The array of opinion object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceOpinion" + } + } + } + }, + "SentenceAspect": { + "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": "Aspect level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Aspect level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The aspect offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the aspect." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "relations": { + "type": "array", + "description": "The array of either opinion or aspect object which is related to the aspect.", + "items": { + "$ref": "#/definitions/AspectRelation" + } + } + } + }, + "SentenceOpinion": { + "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": "Opinion level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Opinion level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The opinion offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the opinion." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "isNegated": { + "type": "boolean", + "description": "The indicator representing if the opinion is negated." + } + } + }, + "AspectRelation": { + "type": "object", + "required": [ + "ref", + "relationType" + ], + "properties": { + "relationType": { + "type": "string", + "enum": [ + "opinion", + "aspect" + ], + "x-ms-enum": { + "name": "AspectRelationType", + "modelAsString": false + }, + "description": "The type related to the aspect." + }, + "ref": { + "type": "string", + "description": "The JSON pointer indicating the linked object." + } + } + }, + "AspectConfidenceScoreLabel": { + "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." + } + } + }, + "PiiEntitiesResult": { + "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." + } + } + }, + "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, such as Person/Location/Org/SSN etc" + }, + "subcategory": { + "type": "string", + "description": "Entity sub type, such as Age/Year/TimeRange etc" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity text." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity text." + }, + "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" + } + } + }, + "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 unique identifier of the recognized entity. Use in conjunction with the Bing Entity Search API to fetch additional relevant information." + } + } + }, + "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." + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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." + } + } + } + }, + "parameters": { + "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": "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." + } + ] + }, + "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" + }, + "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.1-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json new file mode 100644 index 000000000000..75b4489dcb2d --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "I had a wonderful trip to Seattle last week." + }, + { + "language": "en", + "id": "2", + "text": "I work at Microsoft." + }, + { + "language": "en", + "id": "3", + "text": "I visited Space Needle 2 times." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "entities": [ + { + "text": "Seattle", + "category": "Location", + "offset": 26, + "length": 7, + "confidenceScore": 0.80 + }, + { + "text": "last week", + "category": "DateTime", + "subcategory": "DateRange", + "offset": 34, + "length": 9, + "confidenceScore": 0.8 + } + ], + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "text": "Microsoft", + "category": "Organization", + "offset": 10, + "length": 9, + "confidenceScore": 0.99 + } + ], + "warnings": [] + }, + { + "id": "3", + "entities": [ + { + "text": "Space Needle", + "category": "Organization", + "offset": 10, + "length": 12, + "confidenceScore": 0.75 + }, + { + "text": "2", + "category": "Quantity", + "subcategory": "Number", + "offset": 23, + "length": 1, + "confidenceScore": 0.8 + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json new file mode 100644 index 000000000000..2ad23b9ad32c --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "I had a wonderful trip to Seattle last week." + }, + { + "language": "en", + "id": "2", + "text": "I work at Microsoft." + }, + { + "language": "en", + "id": "3", + "text": "I visited Space Needle 2 times." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "entities": [ + { + "name": "Seattle", + "matches": [ + { + "text": "Seattle", + "offset": 26, + "length": 7, + "confidenceScore": 0.15 + } + ], + "language": "en", + "id": "Seattle", + "url": "https://en.wikipedia.org/wiki/Seattle", + "dataSource": "Wikipedia", + "bingId": "39d000e8-389d-22a3-4309-ffffc115d00e" + } + ], + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "name": "Microsoft", + "matches": [ + { + "text": "Microsoft", + "offset": 10, + "length": 9, + "confidenceScore": 0.18 + } + ], + "language": "en", + "id": "Microsoft", + "url": "https://en.wikipedia.org/wiki/Microsoft", + "dataSource": "Wikipedia", + "bingId": "39d000e8-389d-22a3-4309-ffffc115d00f" + } + ], + "warnings": [] + }, + { + "id": "3", + "entities": [ + { + "name": "Space Needle", + "matches": [ + { + "text": "Space Needle", + "offset": 10, + "length": 12, + "confidenceScore": 0.15 + } + ], + "language": "en", + "id": "Space Needle", + "url": "https://en.wikipedia.org/wiki/Space_Needle", + "dataSource": "Wikipedia" + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json new file mode 100644 index 000000000000..90d2ea58bd29 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "0", + "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's." + }, + { + "language": "en", + "id": "1", + "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check." + }, + { + "language": "en", + "id": "2", + "text": "Is 998.214.865-68 your Brazilian CPF number?" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "0", + "entities": [ + { + "text": "859-98-0987", + "category": "U.S. Social Security Number (SSN)", + "subcategory": "", + "offset": 28, + "length": 11, + "confidenceScore": 0.65 + } + ], + "redactedText": "Microsoft employee with ssn ******** is using our awesome API's.", + "warnings": [] + }, + { + "id": "1", + "entities": [ + { + "text": "111000025", + "category": "ABA Routing Number", + "subcategory": "", + "offset": 18, + "length": 9, + "confidenceScore": 0.75 + } + ], + "redactedText": "Your ABA number - ******** - is the first 9 digits in the lower left hand corner of your personal check.", + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "text": "998.214.865-68", + "category": "Brazil CPF Number", + "subcategory": "", + "offset": 3, + "length": 14, + "confidenceScore": 0.85 + } + ], + "redactedText": "Is ******** your Brazilian CPF number?", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json new file mode 100644 index 000000000000..12ff0ccce583 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "Hello world. This is some input text that I love." + }, + { + "language": "fr", + "id": "2", + "text": "Bonjour tout le monde" + }, + { + "language": "es", + "id": "3", + "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "keyPhrases": [ + "world", + "input text" + ], + "warnings": [] + }, + { + "id": "2", + "keyPhrases": [ + "monde" + ], + "warnings": [] + }, + { + "id": "3", + "keyPhrases": [ + "carretera", + "tráfico", + "día" + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json new file mode 100644 index 000000000000..a74d7155c8e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "countryHint": "US", + "id": "1", + "text": "Hello world" + }, + { + "id": "2", + "text": "Bonjour tout le monde" + }, + { + "id": "3", + "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "detectedLanguage": { + "name": "English", + "iso6391Name": "en", + "confidenceScore": 1 + }, + "warnings": [] + }, + { + "id": "2", + "detectedLanguage": { + "name": "French", + "iso6391Name": "fr", + "confidenceScore": 1 + }, + "warnings": [] + }, + { + "id": "3", + "detectedLanguage": { + "name": "Spanish", + "iso6391Name": "es", + "confidenceScore": 1 + }, + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json new file mode 100644 index 000000000000..ad3fc48d2cae --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json @@ -0,0 +1,323 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful." + }, + { + "language": "en", + "id": "2", + "text": "Bad atmosphere. Not close to plenty of restaurants, hotels, and transit! Staff are not friendly and helpful." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "sentences": [ + { + "text": "Great atmosphere.", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "offset": 0, + "length": 17, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 6, + "length": 10, + "text": "atmosphere", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/0/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 0, + "length": 5, + "text": "great", + "isNegated": false + } + ] + }, + { + "text": "Close to plenty of restaurants, hotels, and transit!", + "sentiment": "neutral", + "confidenceScores": { + "positive": 0.13, + "neutral": 0.86, + "negative": 0.01 + }, + "offset": 18, + "length": 52, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 37, + "length": 11, + "text": "restaurants", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/1/opinions/0" + } + ] + }, + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 50, + "length": 6, + "text": "hotels", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/1/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 18, + "length": 15, + "text": "close to plenty", + "isNegated": false + } + ] + }, + { + "text": "Staff are friendly and helpful.", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "offset": 71, + "length": 31, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 71, + "length": 5, + "text": "Staff", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/2/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 81, + "length": 8, + "text": "friendly", + "isNegated": false + } + ] + } + ], + "warnings": [] + }, + { + "id": "2", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "neutral": 0.14, + "negative": 0.85 + }, + "sentences": [ + { + "text": "Bad atmosphere.", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "neutral": 0.0, + "negative": 1.0 + }, + "offset": 8, + "length": 15, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "negative": 0.99 + }, + "offset": 4, + "length": 10, + "text": "atmosphere", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/0/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "negative": 0.99 + }, + "offset": 0, + "length": 3, + "text": "bad", + "isNegated": false + } + ] + }, + { + "text": "Not close to plenty of restaurants, hotels, and transit!", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.02, + "neutral": 0.44, + "negative": 0.54 + }, + "offset": 16, + "length": 56, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.03, + "negative": 0.97 + }, + "offset": 39, + "length": 11, + "text": "restaurants", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/1/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.03, + "negative": 0.97 + }, + "offset": 20, + "length": 5, + "text": "close", + "isNegated": true + } + ] + }, + { + "text": "Staff are not friendly and helpful.", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "neutral": 0.0, + "negative": 1.0 + }, + "offset": 73, + "length": 35, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "negative": 1.0 + }, + "offset": 73, + "length": 5, + "text": "Staff", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/2/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "negative": 1.0 + }, + "offset": 87, + "length": 8, + "text": "friendly", + "isNegated": true + } + ] + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json new file mode 100644 index 000000000000..3af58c58c528 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/TextAnalytics.json @@ -0,0 +1,2297 @@ +{ + "swagger": "2.0", + "info": { + "version": "v3.1-preview.3", + "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. 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/v3.1-preview.3", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "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" + } + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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/JobId" + }, + { + "$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" + } + }, + "404": { + "description": "Job ID not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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" + } + }, + "404": { + "description": "Job ID not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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" + } + } + }, + "404": { + "description": "Job ID not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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" + } + ], + "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" + } + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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/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" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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" + }, + { + "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/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" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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/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" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful response results in 0 or more key phrases identified in each valid document", + "schema": { + "$ref": "#/definitions/KeyPhraseResult" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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/LanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in the detected language with the highest probability for each valid document", + "schema": { + "$ref": "#/definitions/LanguageResult" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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 (aspects) and opinions.", + "operationId": "Sentiment", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "name": "opinionMining", + "in": "query", + "description": "(Optional) if set to true, response will contain input and document level statistics including 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" + } + }, + "400": { + "description": "Bad Request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "x-ms-error-response": true + } + }, + "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" + } + } + }, + "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": false + }, + "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." + } + } + }, + "PiiTask": { + "properties": { + "parameters": { + "properties": { + "domain": { + "default": "none", + "enum": [ + "phi", + "none" + ], + "type": "string" + }, + "model-version": { + "default": "latest", + "type": "string" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "EntitiesTask": { + "properties": { + "parameters": { + "properties": { + "model-version": { + "default": "latest", + "type": "string" + }, + "stringIndexType": { + "$ref": "#/definitions/StringIndexType" + } + }, + "type": "object" + } + }, + "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" + }, + { + "type": "object", + "required": [ + "analysisInput" + ], + "properties": { + "analysisInput": { + "$ref": "#/definitions/MultiLanguageBatchInput" + } + } + }, + { + "$ref": "#/definitions/JobManifest" + } + ] + }, + "AnalyzeJobState": { + "allOf": [ + { + "$ref": "#/definitions/JobMetadata" + }, + { + "$ref": "#/definitions/TasksState" + }, + { + "properties": { + "errors": { + "items": { + "$ref": "#/definitions/TextAnalyticsError" + }, + "type": "array" + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + } + }, + "type": "object" + }, + { + "$ref": "#/definitions/Pagination" + } + ] + }, + "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" + }, + "name": { + "type": "string" + }, + "status": { + "enum": [ + "notstarted", + "running", + "succeeded", + "failed", + "cancelled", + "cancelling" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "State" + } + } + }, + "required": [ + "name", + "status", + "lastUpdateDateTime" + ], + "type": "object" + }, + "TasksState": { + "properties": { + "tasks": { + "properties": { + "details": { + "items": { + "$ref": "#/definitions/TaskState" + }, + "type": "array" + }, + "completed": { + "type": "integer" + }, + "failed": { + "type": "integer" + }, + "inProgress": { + "type": "integer" + }, + "total": { + "type": "integer" + }, + "entityRecognitionTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/EntitiesResult" + } + } + } + ] + } + }, + "entityRecognitionPiiTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/PiiResult" + } + } + } + ] + } + }, + "keyPhraseExtractionTasks": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskState" + }, + { + "type": "object", + "properties": { + "results": { + "$ref": "#/definitions/KeyPhraseResult" + } + } + } + ] + } + } + }, + "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." + }, + "aspects": { + "type": "array", + "description": "The array of aspect object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceAspect" + } + }, + "opinions": { + "type": "array", + "description": "The array of opinion object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceOpinion" + } + } + } + }, + "SentenceAspect": { + "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": "Aspect level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Aspect level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The aspect offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the aspect." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "relations": { + "type": "array", + "description": "The array of either opinion or aspect object which is related to the aspect.", + "items": { + "$ref": "#/definitions/AspectRelation" + } + } + } + }, + "SentenceOpinion": { + "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": "Opinion level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Opinion level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The opinion offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the opinion." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "isNegated": { + "type": "boolean", + "description": "The indicator representing if the opinion is negated." + } + } + }, + "AspectRelation": { + "type": "object", + "required": [ + "ref", + "relationType" + ], + "properties": { + "relationType": { + "type": "string", + "enum": [ + "opinion", + "aspect" + ], + "x-ms-enum": { + "name": "AspectRelationType", + "modelAsString": false + }, + "description": "The type related to the aspect." + }, + "ref": { + "type": "string", + "description": "The JSON pointer indicating the linked object." + } + } + }, + "AspectConfidenceScoreLabel": { + "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" + }, + { + "properties": { + "results": { + "$ref": "#/definitions/HealthcareResult" + } + }, + "type": "object" + }, + { + "$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/Entity" + }, + { + "required": [ + "isNegated" + ], + "properties": { + "isNegated": { + "type": "boolean" + }, + "links": { + "description": "Entity references in known data sources.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthcareEntityLink" + } + } + } + } + ] + }, + "HealthcareRelation": { + "type": "object", + "required": [ + "relationType", + "bidirectional", + "source", + "target" + ], + "properties": { + "relationType": { + "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.", + "type": "string" + }, + "bidirectional": { + "description": "If true the relation between the entities is bidirectional, otherwise directionality is source to target.", + "type": "boolean" + }, + "source": { + "description": "Reference link to the source entity.", + "type": "string" + }, + "target": { + "description": "Reference link to the target entity.", + "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" + } + } + }, + "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." + } + } + }, + "JobDescriptor": { + "properties": { + "displayName": { + "description": "Optional display name for the analysis job.", + "type": "string" + } + }, + "type": "object" + }, + "JobMetadata": { + "properties": { + "createdDateTime": { + "format": "date-time", + "type": "string" + }, + "displayName": { + "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", + "partiallycompleted" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "State" + } + } + }, + "required": [ + "jobId", + "lastUpdateDateTime", + "createdDateTime", + "status" + ], + "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" + } + }, + "type": "object" + } + }, + "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": "TextElements_v8", + "enum": [ + "TextElements_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexTypeResponse", + "modelAsString": false, + "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." + } + ] + }, + "type": "string" + } + }, + "parameters": { + "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": "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." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "JobId": { + "description": "Job ID", + "format": "uuid", + "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" + }, + "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.1-preview.3/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeRequest.json new file mode 100644 index 000000000000..87414f0d5cf7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeRequest.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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.1-preview.3/analyze/jobs/{jobId}" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json new file mode 100644 index 000000000000..93d23bfe90a3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulAnalyzeStatusRequest.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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": [ + { + "name": "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" + } + } + ] + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "NotFound", + "message": "Not Found", + "innererror": { + "code": "JobIdNotFound", + "message": "Job ID not found." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json new file mode 100644 index 000000000000..d6c9a0221153 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntitiesRequest.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json new file mode 100644 index 000000000000..998ac1d65bab --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityLinkingRequest.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json new file mode 100644 index 000000000000..d125525bda91 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulEntityPIIRequest.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json new file mode 100644 index 000000000000..ef2721ece65d --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthDeleteRequest.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "jobId": "{Job ID}" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/text/analytics/v3.1-preview.3/entities/healthcare/jobs/{jobId}" + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "NotFound", + "message": "Not Found", + "innererror": { + "code": "JobIdNotFound", + "message": "Job ID not found." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json new file mode 100644 index 000000000000..7fe69d163906 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthRequest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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.1-preview.3/entities/healthcare/jobs/{jobId}" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json new file mode 100644 index 000000000000..00b97c3ce314 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulHealthStatusRequest.json @@ -0,0 +1,213 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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, + "isNegated": false + }, + { + "offset": 27, + "length": 9, + "text": "ibuprofen", + "category": "MedicationName", + "confidenceScore": 1.0, + "isNegated": false, + "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, + "isNegated": false + } + ], + "relations": [ + { + "relationType": "DosageOfMedication", + "bidirectional": false, + "source": "#/documents/0/entities/0", + "target": "#/documents/0/entities/1" + }, + { + "relationType": "FrequencyOfMedication", + "bidirectional": false, + "source": "#/documents/0/entities/2", + "target": "#/documents/0/entities/1" + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-05-08" + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "NotFound", + "message": "Not Found", + "innererror": { + "code": "JobIdNotFound", + "message": "Job ID not found." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json new file mode 100644 index 000000000000..f45b74e027f5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulKeyPhrasesRequest.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json new file mode 100644 index 000000000000..b1077b92db58 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulLanguagesRequest.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json new file mode 100644 index 000000000000..9363baebb94f --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.3/examples/SuccessfulSentimentRequest.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "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": [ + { + "aspects": [ + { + "confidenceScores": { + "negative": 0, + "positive": 1 + }, + "length": 10, + "offset": 6, + "relations": [ + { + "ref": "#/documents/0/sentences/0/opinions/0", + "relationType": "opinion" + } + ], + "sentiment": "positive", + "text": "atmosphere" + } + ], + "confidenceScores": { + "negative": 0, + "neutral": 0, + "positive": 1 + }, + "length": 17, + "offset": 0, + "opinions": [ + { + "confidenceScores": { + "negative": 0, + "positive": 1 + }, + "isNegated": false, + "length": 5, + "offset": 0, + "sentiment": "positive", + "text": "great" + } + ], + "sentiment": "positive", + "text": "Great atmosphere." + }, + { + "aspects": [ + { + "confidenceScores": { + "negative": 0.01, + "positive": 0.99 + }, + "length": 11, + "offset": 37, + "relations": [ + { + "ref": "#/documents/0/sentences/1/opinions/0", + "relationType": "opinion" + } + ], + "sentiment": "positive", + "text": "restaurants" + }, + { + "confidenceScores": { + "negative": 0.01, + "positive": 0.99 + }, + "length": 6, + "offset": 50, + "relations": [ + { + "ref": "#/documents/0/sentences/1/opinions/0", + "relationType": "opinion" + } + ], + "sentiment": "positive", + "text": "hotels" + } + ], + "confidenceScores": { + "negative": 0.01, + "neutral": 0.86, + "positive": 0.13 + }, + "length": 52, + "offset": 18, + "opinions": [ + { + "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" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Invalid Request.", + "innererror": { + "code": "MissingInputRecords", + "message": "Missing input records." + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md index 3cad53b7f8b5..5fb753b1b464 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md +++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md @@ -14,112 +14,26 @@ You must also have the [endpoint and access key](../How-tos/text-analytics-how-t ## Installing the NuGet SDK Package 1. Create a new Console solution in Visual Studio. 1. Right click on the solution and click **Manage NuGet Packages for Solution** -1. Mark the **Include Prerelease** checkbox. -1. Select the **Browse** tab, and Search for **Microsoft.Azure.CognitiveServices.Language** +1. Select the **Browse** tab, and Search for **Microsoft.AI.TextAnalytics** 1. Select the NuGet package and install it. ## Calling the Text Analytics API using the SDK -The following code snippets show to consume the SDK. Note that you will need to replace `client.SubscriptionKey` with the key you received when you signed up and `client.AzureRegion` with the region you signed up for. - -```c# -using System; -using Microsoft.Azure.CognitiveServices.Language.TextAnalytics; -using Microsoft.Azure.CognitiveServices.Language.TextAnalytics.Models; -using System.Collections.Generic; - -namespace ConsoleApp1 -{ - class Program - { - static void Main(string[] args) - { - // Create a client. - ITextAnalyticsAPI client = new TextAnalyticsAPI(); - client.AzureRegion = AzureRegions.Westus; - client.SubscriptionKey = "ENTER KEY HERE"; - - Console.OutputEncoding = System.Text.Encoding.UTF8; - - // Extracting language - Console.WriteLine("===== LANGUAGE EXTRACTION ======"); - - LanguageBatchResult result = client.DetectLanguage( - new BatchInput( - new List() - { - new Input("1", "This is a document written in English."), - new Input("2", "Este es un document escrito en Español."), - new Input("3", "这是一个用中文写的文件") - })); - - // Printing language results. - foreach (var document in result.Documents) - { - Console.WriteLine("Document ID: {0} , Language: {1}", document.Id, document.DetectedLanguages[0].Name); - } - - // Getting key-phrases - Console.WriteLine("\n\n===== KEY-PHRASE EXTRACTION ======"); - - KeyPhraseBatchResult result2 = client.KeyPhrases( - new MultiLanguageBatchInput( - new List() - { - new MultiLanguageInput("ja", "1", "猫は幸せ"), - new MultiLanguageInput("de", "2", "Fahrt nach Stuttgart und dann zum Hotel zu Fu."), - new MultiLanguageInput("en", "3", "My cat is stiff as a rock."), - new MultiLanguageInput("es", "4", "A mi me encanta el fútbol!") - })); - - - // Printing keyphrases - foreach (var document in result2.Documents) - { - Console.WriteLine("Document ID: {0} ", document.Id); - - Console.WriteLine("\t Key phrases:"); - - foreach (string keyphrase in document.KeyPhrases) - { - Console.WriteLine("\t\t" + keyphrase); - } - } - - // Extracting sentiment - Console.WriteLine("\n\n===== SENTIMENT ANALYSIS ======"); - - SentimentBatchResult result3 = client.Sentiment( - new MultiLanguageBatchInput( - new List() - { - new MultiLanguageInput("en", "0", "I had the best day of my life."), - new MultiLanguageInput("en", "1", "This was a waste of my time. The speaker put me to sleep."), - new MultiLanguageInput("es", "2", "No tengo dinero ni nada que dar..."), - new MultiLanguageInput("it", "3", "L'hotel veneziano era meraviglioso. È un bellissimo pezzo di architettura."), - })); - - - // Printing sentiment results - foreach (var document in result3.Documents) - { - Console.WriteLine("Document ID: {0} , Sentiment Score: {1:0.00}", document.Id, document.Score); - } - - } - } -} -``` +See Text Analytics [Quickstart guide](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/quickstarts/text-analytics-sdk?tabs=version-3&pivots=programming-language-csharp) for detailed instructions on how to use the SDK in your application. ## Releases > see https://aka.ms/autorest -The current release is `release_2_0`. -A preview release `release_2_1` is also available. +The current release is `release_2_1`. +A preview release `release_2_1_preview` is also available. ``` yaml tag: release_2_1 add-credentials: true + +directive: + - suppress: LongRunningResponseStatusCode + reason: The validation tools do not properly recognize 202 as a supported response code. ``` ### Release 2.0 @@ -170,6 +84,22 @@ These settings apply only when `--tag=release_3_1_preview.1` is specified on the input-file: preview/v3.1-preview.1/TextAnalytics.json ``` +### Release 3.1-Preview.2 + +These settings apply only when `--tag=release_3_1_preview.2` is specified on the command line. + +``` yaml $(tag) == 'release_3_1_preview.2' +input-file: preview/v3.1-preview.2/TextAnalytics.json +``` + +### Release 3.1-Preview.3 + +These settings apply only when `--tag=release_3_2_preview.1` is specified on the command line. + +``` yaml $(tag) == 'release_3_2_preview.1' +input-file: preview/v3.1-preview.3/TextAnalytics.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -202,7 +132,7 @@ csharp: ``` ## 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. @@ -248,34 +178,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/language/textanalytics with-optional-parameters: true with-single-async-method: 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)/stable/v2.0/TextAnalytics.json - - $(this-folder)/stable/v2.1/TextAnalytics.json - - $(this-folder)/preview/v2.1/TextAnalytics.json - - $(this-folder)/preview/v3.0-preview.1/TextAnalytics.json - - $(this-folder)/stable/v3.0/TextAnalytics.json - - $(this-folder)/preview/v3.1-preview.1/TextAnalytics.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/cognitiveservices/data-plane/TextAnalytics/readme.python.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md new file mode 100644 index 000000000000..4a63a1d1c41b --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md @@ -0,0 +1,55 @@ +## 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-mode: create +license-header: MICROSOFT_MIT_NO_VERSION +add-credentials: true +payload-flattening-threshold: 2 +package-name: azure-ai-textanalytics +clear-output-folder: true +credential-scopes: https://cognitiveservices.azure.com/.default +no-namespace-folders: true +``` + +```yaml $(multiapi) +batch: + - tag: release_3_0 + - tag: release_3_1_preview.2 + - tag: release_3_2_preview.1 + - multiapiscript: true +``` + +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics +default-api: v3_0 +clear-output-folder: false +perform-load: false +``` + +### Tag: release_3_0 +``` yaml $(tag) == 'release_3_0' +namespace: azure.ai.textanalytics.v3_0 +output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_0 +``` + +### Tag: release_3_1_preview_1 +``` yaml $(tag) == 'release_3_1_preview.1' +namespace: azure.ai.textanalytics.v3_1_preview_1 +output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_1 +``` + +### Tag: release_3_1_preview_2 +``` yaml $(tag) == 'release_3_1_preview.2' +namespace: azure.ai.textanalytics.v3_1_preview_2 +output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_2 +``` + +### Tag: release_3_2_preview_1 +``` yaml $(tag) == 'release_3_2_preview.1' +namespace: azure.ai.textanalytics.v3_2_preview_1 +output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_2_preview_1 +``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json index 2d566abbda19..7cb1299f0de4 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json +++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json @@ -80,7 +80,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -138,7 +138,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -196,7 +196,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -254,7 +254,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -312,7 +312,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -382,6 +382,19 @@ } } }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, "TextAnalyticsError": { "type": "object", "required": [ diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json index abdf5f8a1425..a335724dfb36 100644 --- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json @@ -824,7 +824,7 @@ "type": "object", "properties": { "sourceUrl": { - "description": "Location of the folder / container with your documents", + "description": "Location of the folder / container or single file with your documents", "type": "string", "example": "https://myblob.blob.core.windows.net/Container/" }, @@ -900,6 +900,14 @@ } } }, + "StorageInputType": { + "description": "Storage type of the input documents source string", + "enum": [ + "Folder", + "File" + ], + "type": "string" + }, "BatchRequest": { "description": "Definition for the input batch translation request", "required": [ @@ -917,6 +925,9 @@ "items": { "$ref": "#/definitions/TargetInput" } + }, + "storageType": { + "$ref": "#/definitions/StorageInputType" } } }, diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json index 6fafff2877ff..4413c8ecc9ef 100644 --- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json @@ -641,6 +641,48 @@ } } }, + "/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/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ @@ -1009,6 +1051,26 @@ "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." @@ -1658,6 +1720,18 @@ }, "description": "The user owned storage for Cognitive Services account." }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "A list of private endpoint connections" + }, "PrivateEndpointConnection": { "properties": { "properties": { diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..54f2f6a453fc --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2019-06-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", + "actionRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b39fda607747 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cognitiveservices-2017-04-18 + - tag: schema-cognitiveservices-2016-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cognitiveservices-2017-04-18 and azureresourceschema + +``` yaml $(tag) == 'schema-cognitiveservices-2017-04-18' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json + +``` + +### Tag: schema-cognitiveservices-2016-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-cognitiveservices-2016-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json + +``` diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md index 5e1afb8546f0..6a6be724ecc5 100644 --- a/specification/cognitiveservices/resource-manager/readme.md +++ b/specification/cognitiveservices/resource-manager/readme.md @@ -70,6 +70,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_cognitive_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cognitiveservices/resource-manager ``` @@ -141,28 +144,7 @@ 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.CognitiveServices/stable/2017-04-18/cognitiveservices.json - - $(this-folder)/Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/commerce/resource-manager/readme.azureresourceschema.md b/specification/commerce/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..10ddf94097fb --- /dev/null +++ b/specification/commerce/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-commerce-2015-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-commerce-2015-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-commerce-2015-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json + +``` diff --git a/specification/commerce/resource-manager/readme.csharp.md b/specification/commerce/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..505ce7731015 --- /dev/null +++ b/specification/commerce/resource-manager/readme.csharp.md @@ -0,0 +1,35 @@ +# C# Compute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Commerce. + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +## Common C# settings + +## 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: 2 + clear-output-folder: true +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Commerce +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Commerce/Management.Commerce/Generated + +batch: + - tag: profile-hybrid-2020-09-01 +``` \ No newline at end of file diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md index 1726ab907cca..ac7b98eabc54 100644 --- a/specification/commerce/resource-manager/readme.md +++ b/specification/commerce/resource-manager/readme.md @@ -39,6 +39,15 @@ input-file: - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: +- Microsoft.Commerce/preview/2015-06-01-preview/commerce.json +``` + --- # Code Generation @@ -51,6 +60,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-commerce - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js @@ -58,6 +69,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_commerce'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js commerce/resource-manager ``` @@ -76,16 +90,29 @@ python: namespace: azure.mgmt.commerce package-name: azure-mgmt-commerce clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: no-namespace-folders: true - output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2015-06-preview +``` + +### Tag: package-2015-06-preview and python + +These settings apply only when `--tag=package-2015-06-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2015-06-preview' && $(python) +namespace: azure.mgmt.commerce.v2015_06_01_preview +output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce + namespace: azure.mgmt.commerce.v2015_06_01_preview + output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview ``` ## Go @@ -128,27 +155,7 @@ 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! +## AzureResourceSchema -``` 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.Commerce/preview/2015-06-01-preview/commerce.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/common-types/resource-management/v1/types.json b/specification/common-types/resource-management/v1/types.json index 7415ea29529d..765dd32c358d 100644 --- a/specification/common-types/resource-management/v1/types.json +++ b/specification/common-types/resource-management/v1/types.json @@ -7,11 +7,13 @@ "paths": {}, "definitions": { "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": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, "name": { "readOnly": true, @@ -21,14 +23,15 @@ "type": { "readOnly": true, "type": "string", - "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" } }, "x-ms-azure-resource": true }, "AzureEntityResource": { "x-ms-client-name": "AzureEntityResource", - "description": "The resource model definition for a Azure Resource Manager resource with an etag.", + "title": "Entity Resource", + "description": "The resource model definition for an Azure Resource Manager resource with an etag.", "properties": { "etag": { "type": "string", @@ -43,7 +46,8 @@ ] }, "TrackedResource": { - "description": "The resource model definition for a ARM tracked top level resource", + "title": "Tracked Resource", + "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'", "properties": { "tags": { "type": "object", @@ -76,7 +80,8 @@ ] }, "ProxyResource": { - "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "title": "Proxy Resource", + "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location", "allOf": [ { "$ref": "#/definitions/Resource" @@ -92,7 +97,7 @@ "x-ms-mutability": [ "read" ], - "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, "name": { "readOnly": true, @@ -105,7 +110,7 @@ "x-ms-mutability": [ "read" ], - "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.." + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" }, "location": { "type": "string", @@ -270,6 +275,8 @@ ] }, "ErrorResponse": { + "title": "Error Response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.)", "properties": { "code": { "readOnly": true, @@ -302,8 +309,7 @@ }, "description": "The error additional info." } - }, - "description": "The resource management error response." + } }, "ErrorAdditionalInfo": { "properties": { @@ -320,6 +326,92 @@ }, "description": "The resource management error additional info." }, + "Operation": { + "title": "REST API Operation", + "description": "Details of a REST API operation, returned from the Resource Provider Operations API", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "Localized display information for this particular operation.", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.", + "type": "string", + "readOnly": true + } + } + }, + "origin": { + "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"", + "type": "string", + "readOnly": true, + "enum": [ + "user", + "system", + "user,system" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + } + }, + "actionType": { + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "type": "string", + "readOnly": true, + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + } + } + }, + "OperationListResult": { + "description": "A list of REST API operations supported by an Azure Resource Provider. It contains an 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", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + } + }, "locationData": { "description": "Metadata pertaining to the geographic location of the resource.", "type": "object", @@ -429,7 +521,7 @@ "type": "string" }, "identity": { - "description": "The client id of the identity which will be used to access key vault.", + "description": "The client ID of the identity which will be used to access key vault.", "type": "string" } } diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json index 7ee7093af3e8..049687613be5 100644 --- a/specification/common-types/resource-management/v2/types.json +++ b/specification/common-types/resource-management/v2/types.json @@ -7,11 +7,12 @@ "paths": {}, "definitions": { "Resource": { + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", "properties": { "id": { "readOnly": true, "type": "string", - "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, "name": { "readOnly": true, @@ -21,14 +22,14 @@ "type": { "readOnly": true, "type": "string", - "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" } }, "x-ms-azure-resource": true }, "AzureEntityResource": { "x-ms-client-name": "AzureEntityResource", - "description": "The resource model definition for a Azure Resource Manager resource with an etag.", + "description": "The resource model definition for an Azure Resource Manager resource with an etag.", "properties": { "etag": { "type": "string", @@ -43,7 +44,7 @@ ] }, "TrackedResource": { - "description": "The resource model definition for a ARM tracked top level resource", + "description": "The resource model definition for an Azure Resource Manager tracked top level resource", "properties": { "tags": { "type": "object", @@ -76,7 +77,7 @@ ] }, "ProxyResource": { - "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags", "allOf": [ { "$ref": "#/definitions/Resource" @@ -92,7 +93,7 @@ "x-ms-mutability": [ "read" ], - "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" }, "name": { "readOnly": true, @@ -105,7 +106,7 @@ "x-ms-mutability": [ "read" ], - "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.." + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" }, "location": { "type": "string", @@ -122,7 +123,7 @@ "create", "update" ], - "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." }, "kind": { "type": "string", @@ -206,7 +207,7 @@ "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." + "description": "If the SKU supports scale out/in then the capacity integer indicates the current scaling-factor of the resource. If scale out/in is not possible for the resource this may be omitted." } }, "required": [ @@ -269,47 +270,51 @@ "product" ] }, + "ErrorDetail": { + "description": "The error detail.", + "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": { + "title": "Error response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", "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/ErrorResponse" - }, - "description": "The error details." - }, - "additionalInfo": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ErrorAdditionalInfo" - }, - "description": "The error additional info." - } - } + "$ref": "#/definitions/ErrorDetail" } - }, - "description": "The resource management error response." + } }, "ErrorAdditionalInfo": { "properties": { @@ -326,6 +331,91 @@ }, "description": "The resource management error additional info." }, + "Operation": { + "description": "Details of a REST API operation, returned from the Resource Provider Operations API", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "Localized display information for this particular operation.", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.", + "type": "string", + "readOnly": true + } + } + }, + "origin": { + "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"", + "type": "string", + "readOnly": true, + "enum": [ + "user", + "system", + "user,system" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true + } + }, + "actionType": { + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "type": "string", + "readOnly": true, + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + } + } + }, + "OperationListResult": { + "description": "A list of REST API operations supported by an Azure Resource Provider. It contains an 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", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + } + }, "locationData": { "description": "Metadata pertaining to the geographic location of the resource.", "type": "object", @@ -435,7 +525,7 @@ "type": "string" }, "identity": { - "description": "The client id of the identity which will be used to access key vault.", + "description": "The client ID of the identity which will be used to access key vault.", "type": "string" } } diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json new file mode 100644 index 000000000000..84d87cd2c9b0 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json @@ -0,0 +1,2056 @@ +{ + "swagger": "2.0", + "info": { + "title": "Phone Number Administration Service", + "description": "Phone Number Administration Service", + "contact": { + "email": "acsdevexdisc@microsoft.com" + }, + "version": "2020-07-20-preview1" + }, + "paths": { + "/administration/phonenumbers/phonenumbers": { + "get": { + "tags": [ + "AcquiredNumbers" + ], + "summary": "Gets the list of the acquired phone numbers.", + "operationId": "PhoneNumberAdministration_GetAllPhoneNumbers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "locale", + "description": "A language-locale pairing which will be used to localize the names of countries", + "type": "string", + "default": "en-US" + }, + { + "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": "take", + "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/AcquiredPhoneNumbers" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "phoneNumbers" + }, + "x-ms-examples": { + "List acquired phone numbers": { + "$ref": "./examples/GetAcquiredPhoneNumbersAsync.json" + } + } + } + }, + "/administration/phonenumbers/countries/{countryCode}/areacodes": { + "post": { + "tags": [ + "AreaCodes" + ], + "summary": "Gets a list of the supported area codes", + "operationId": "PhoneNumberAdministration_GetAllAreaCodes", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "locationType", + "description": "The type of location information required by the plan.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "countryCode", + "description": "The ISO 3166-2 country code", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "phonePlanId", + "description": "The plan id from which to search area codes.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Location options for when location type is selection.", + "schema": { + "$ref": "#/definitions/LocationOptionsQueries" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AreaCodes" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get area codes": { + "$ref": "./examples/GetAreaCodesAsync.json" + } + } + } + }, + "/administration/phonenumbers/capabilities/{capabilitiesUpdateId}": { + "get": { + "tags": [ + "Capabilities" + ], + "summary": "Get capabilities by capabilities update id.", + "operationId": "PhoneNumberAdministration_GetCapabilitiesUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "capabilitiesUpdateId", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UpdatePhoneNumberCapabilitiesResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get number capabilities update": { + "$ref": "./examples/GetNumberCapabilitiesUpdateAsync.json" + } + } + } + }, + "/administration/phonenumbers/capabilities": { + "post": { + "tags": [ + "Capabilities" + ], + "summary": "Adds or removes phone number capabilities", + "operationId": "PhoneNumberAdministration_UpdateCapabilities", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "", + "schema": { + "$ref": "#/definitions/UpdateNumberCapabilitiesRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UpdateNumberCapabilitiesResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update number capabilities": { + "$ref": "./examples/UpdateNumberCapabilitiesAsync.json" + } + } + } + }, + "/administration/phonenumbers/countries": { + "get": { + "tags": [ + "Countries" + ], + "summary": "Gets a list of supported countries", + "operationId": "PhoneNumberAdministration_GetAllSupportedCountries", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "locale", + "description": "A language-locale pairing which will be used to localize the names of countries", + "type": "string", + "default": "en-US" + }, + { + "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": "take", + "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/PhoneNumberCountries" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "countries" + }, + "x-ms-examples": { + "Get countries": { + "$ref": "./examples/GetCountriesAsync.json" + } + } + } + }, + "/administration/phonenumbers/numberconfiguration": { + "post": { + "tags": [ + "NumberConfiguration" + ], + "summary": "Endpoint for getting number configurations", + "operationId": "PhoneNumberAdministration_GetNumberConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The phone number whose configuration is to be fetched", + "schema": { + "$ref": "#/definitions/NumberConfigurationPhoneNumber" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NumberConfigurationResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get number configuration for phone number": { + "$ref": "./examples/GetNumberConfigurationAsync.json" + } + } + } + }, + "/administration/phonenumbers/numberconfiguration/configure": { + "patch": { + "tags": [ + "NumberConfiguration" + ], + "summary": "Endpoint for configuring a pstn number", + "operationId": "PhoneNumberAdministration_ConfigureNumber", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Details of pstn number configuration of the given phoneNumber", + "schema": { + "$ref": "#/definitions/NumberConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Configure phone number": { + "$ref": "./examples/ConfigurePhoneNumberAsync.json" + } + } + } + }, + "/administration/phonenumbers/numberconfiguration/unconfigure": { + "patch": { + "tags": [ + "NumberConfiguration" + ], + "summary": "Endpoint for unconfiguring a pstn number by removing the configuration", + "operationId": "PhoneNumberAdministration_UnconfigureNumber", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The phone number to un-configure", + "schema": { + "$ref": "#/definitions/NumberConfigurationPhoneNumber" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Unconfigure phone number": { + "$ref": "./examples/UnconfigurePhoneNumberAsync.json" + } + } + } + }, + "/administration/phonenumbers/countries/{countryCode}/phoneplangroups": { + "get": { + "tags": [ + "Plans" + ], + "summary": "Gets a list of phone plan groups for the given country", + "operationId": "PhoneNumberAdministration_GetPhonePlanGroups", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "countryCode", + "description": "The ISO 3166-2 country code.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "locale", + "description": "A language-locale pairing which will be used to localize the names of countries", + "type": "string", + "default": "en-US" + }, + { + "in": "query", + "name": "includeRateInformation", + "type": "boolean", + "default": false + }, + { + "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": "take", + "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/PhonePlanGroups" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "phonePlanGroups" + }, + "x-ms-examples": { + "Get plans": { + "$ref": "./examples/GetPhonePlanGroupsAsync.json" + } + } + } + }, + "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans": { + "get": { + "tags": [ + "Plans" + ], + "summary": "Gets a list of phone plans for a phone plan group", + "operationId": "PhoneNumberAdministration_GetPhonePlans", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "countryCode", + "description": "The ISO 3166-2 country code.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "phonePlanGroupId", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "locale", + "description": "A language-locale pairing which will be used to localize the names of countries", + "type": "string", + "default": "en-US" + }, + { + "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": "take", + "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/PhonePlansResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "phonePlans" + }, + "x-ms-examples": { + "Get plans": { + "$ref": "./examples/GetPhonePlansAsync.json" + } + } + } + }, + "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans/{phonePlanId}/locationoptions": { + "get": { + "tags": [ + "Plans" + ], + "summary": "Gets a list of location options for a phone plan", + "operationId": "PhoneNumberAdministration_GetPhonePlanLocationOptions", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "countryCode", + "description": "The ISO 3166-2 country code.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "phonePlanGroupId", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "phonePlanId", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "locale", + "description": "A language-locale pairing which will be used to localize the names of countries", + "type": "string", + "default": "en-US" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/LocationOptionsResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get plans": { + "$ref": "./examples/GetLocationOptionsAsync.json" + } + } + } + }, + "/administration/phonenumbers/releases/{releaseId}": { + "get": { + "tags": [ + "Release" + ], + "summary": "Gets a release by a release id", + "operationId": "PhoneNumberAdministration_GetReleaseById", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "releaseId", + "description": "Represents the release id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PhoneNumberRelease" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get release by id": { + "$ref": "./examples/GetReleaseByIdAsync.json" + } + } + } + }, + "/administration/phonenumbers/releases": { + "post": { + "tags": [ + "Release" + ], + "summary": "Creates a release for the given phone numbers", + "operationId": "PhoneNumberAdministration_ReleasePhoneNumbers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Config api Release request", + "schema": { + "$ref": "#/definitions/ReleaseRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ReleaseResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get release": { + "$ref": "./examples/CreateReleaseAsync.json" + } + } + }, + "get": { + "tags": [ + "Release" + ], + "summary": "Gets a list of all releases", + "operationId": "PhoneNumberAdministration_GetAllReleases", + "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": "take", + "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/PhoneNumberEntities" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "entities" + }, + "x-ms-examples": { + "Get all releases": { + "$ref": "./examples/GetAllReleasesAsync.json" + } + } + } + }, + "/administration/phonenumbers/searches/{searchId}": { + "get": { + "tags": [ + "Search" + ], + "summary": "Get search by search id", + "operationId": "PhoneNumberAdministration_GetSearchById", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "searchId", + "description": "The search id to be searched for", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PhoneNumberSearch" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get search by search id": { + "$ref": "./examples/GetSearchByIdAsync.json" + } + } + } + }, + "/administration/phonenumbers/searches": { + "post": { + "tags": [ + "Search" + ], + "summary": "Creates a phone number search", + "operationId": "PhoneNumberAdministration_CreateSearch", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Defines the search options", + "schema": { + "$ref": "#/definitions/CreateSearchOptions" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CreateSearchResponse" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create search": { + "$ref": "./examples/CreateSearchAsync.json" + } + } + }, + "get": { + "tags": [ + "Search" + ], + "summary": "Gets a list of all searches", + "operationId": "PhoneNumberAdministration_GetAllSearches", + "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": "take", + "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/PhoneNumberEntities" + } + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "entities" + }, + "x-ms-examples": { + "Get all searches": { + "$ref": "./examples/GetAllSearchesAsync.json" + } + } + } + }, + "/administration/phonenumbers/searches/{searchId}/cancel": { + "post": { + "tags": [ + "Search" + ], + "summary": "Cancels the search. This means existing numbers in the search will be made available.", + "operationId": "PhoneNumberAdministration_CancelSearch", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "searchId", + "description": "The search id to be canceled", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cancel phone number search": { + "$ref": "./examples/CancelSearchAsync.json" + } + } + } + }, + "/administration/phonenumbers/searches/{searchId}/purchase": { + "post": { + "tags": [ + "Search" + ], + "summary": "Purchases the phone number search.", + "operationId": "PhoneNumberAdministration_PurchaseSearch", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "searchId", + "description": "The search id to be purchased", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Failure", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Purchase phone number search": { + "$ref": "./examples/PurchaseSearchAsync.json" + } + } + } + } + }, + "definitions": { + "AcquiredPhoneNumber": { + "description": "Represents an acquired phone number.", + "required": [ + "acquiredCapabilities", + "availableCapabilities", + "phoneNumber" + ], + "type": "object", + "properties": { + "phoneNumber": { + "description": "String of the E.164 format of the phone number", + "type": "string" + }, + "acquiredCapabilities": { + "description": "The set of all acquired capabilities of the phone number.", + "type": "array", + "items": { + "description": "Represents the capabilities of a phone number.", + "enum": [ + "UserAssignment", + "FirstPartyVoiceAppAssignment", + "ConferenceAssignment", + "P2PSmsEnabled", + "Geographic", + "NonGeographic", + "TollCalling", + "TollFreeCalling", + "Premium", + "P2PSmsCapable", + "A2PSmsCapable", + "A2PSmsEnabled", + "Calling", + "TollFree", + "FirstPartyAppAssignment", + "ThirdPartyAppAssignment", + "Azure", + "Office365", + "InboundCalling", + "OutboundCalling", + "InboundA2PSms", + "OutboundA2PSms", + "InboundP2PSms", + "OutboundP2PSms" + ], + "type": "string", + "x-ms-enum": { + "name": "Capability", + "modelAsString": true + } + } + }, + "availableCapabilities": { + "description": "The set of all available capabilities that can be acquired for this phone number.", + "type": "array", + "items": { + "description": "Represents the capabilities of a phone number.", + "enum": [ + "UserAssignment", + "FirstPartyVoiceAppAssignment", + "ConferenceAssignment", + "P2PSmsEnabled", + "Geographic", + "NonGeographic", + "TollCalling", + "TollFreeCalling", + "Premium", + "P2PSmsCapable", + "A2PSmsCapable", + "A2PSmsEnabled", + "Calling", + "TollFree", + "FirstPartyAppAssignment", + "ThirdPartyAppAssignment", + "Azure", + "Office365", + "InboundCalling", + "OutboundCalling", + "InboundA2PSms", + "OutboundA2PSms", + "InboundP2PSms", + "OutboundP2PSms" + ], + "type": "string", + "x-ms-enum": { + "name": "Capability", + "modelAsString": true + } + } + }, + "assignmentStatus": { + "description": "The assignment status of the phone number. Conveys what type of entity the number is assigned to.", + "enum": [ + "Unassigned", + "Unknown", + "UserAssigned", + "ConferenceAssigned", + "FirstPartyAppAssigned", + "ThirdPartyAppAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "AssignmentStatus", + "modelAsString": true + } + }, + "placeName": { + "description": "The name of the place of the phone number.", + "type": "string" + }, + "activationState": { + "description": "The activation state of the phone number. Can be \"Activated\", \"AssignmentPending\", \"AssignmentFailed\", \"UpdatePending\", \"UpdateFailed\"", + "enum": [ + "Activated", + "AssignmentPending", + "AssignmentFailed", + "UpdatePending", + "UpdateFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ActivationState", + "modelAsString": true + } + } + } + }, + "AcquiredPhoneNumbers": { + "description": "A wrapper of list of phone numbers", + "type": "object", + "properties": { + "phoneNumbers": { + "description": "Represents a list of phone numbers", + "type": "array", + "items": { + "$ref": "#/definitions/AcquiredPhoneNumber" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "ErrorBody": { + "description": "Represents a service error response body.", + "type": "object", + "properties": { + "code": { + "description": "The error code in the error response.", + "type": "string" + }, + "message": { + "description": "The error message in the error response.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Represents a service error response.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorBody" + } + } + }, + "LocationOptionsQuery": { + "description": "Represents a location options parameter, used for fetching area codes.", + "type": "object", + "properties": { + "labelId": { + "description": "Represents the location option label id, returned from the GetLocationOptions API.", + "type": "string" + }, + "optionsValue": { + "description": "Represents the location options value, returned from the GetLocationOptions API.", + "type": "string" + } + } + }, + "LocationOptionsQueries": { + "description": "Represents a list of location option queries, used for fetching area codes.", + "type": "object", + "properties": { + "locationOptions": { + "description": "Represents the underlying list of countries.", + "type": "array", + "items": { + "$ref": "#/definitions/LocationOptionsQuery" + } + } + } + }, + "AreaCodes": { + "description": "Represents a list of area codes.", + "type": "object", + "properties": { + "primaryAreaCodes": { + "description": "Represents the list of primary area codes.", + "type": "array", + "items": { + "type": "string" + } + }, + "secondaryAreaCodes": { + "description": "Represents the list of secondary area codes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "NumberUpdateCapabilities": { + "description": "Represents an individual number capabilities update request", + "type": "object", + "properties": { + "add": { + "description": "Capabilities to be added to a phone number", + "type": "array", + "items": { + "description": "Represents the capabilities of a phone number.", + "enum": [ + "UserAssignment", + "FirstPartyVoiceAppAssignment", + "ConferenceAssignment", + "P2PSmsEnabled", + "Geographic", + "NonGeographic", + "TollCalling", + "TollFreeCalling", + "Premium", + "P2PSmsCapable", + "A2PSmsCapable", + "A2PSmsEnabled", + "Calling", + "TollFree", + "FirstPartyAppAssignment", + "ThirdPartyAppAssignment", + "Azure", + "Office365", + "InboundCalling", + "OutboundCalling", + "InboundA2PSms", + "OutboundA2PSms", + "InboundP2PSms", + "OutboundP2PSms" + ], + "type": "string", + "x-ms-enum": { + "name": "Capability", + "modelAsString": true + } + } + }, + "remove": { + "description": "Capabilities to be removed from a phone number", + "type": "array", + "items": { + "description": "Represents the capabilities of a phone number.", + "enum": [ + "UserAssignment", + "FirstPartyVoiceAppAssignment", + "ConferenceAssignment", + "P2PSmsEnabled", + "Geographic", + "NonGeographic", + "TollCalling", + "TollFreeCalling", + "Premium", + "P2PSmsCapable", + "A2PSmsCapable", + "A2PSmsEnabled", + "Calling", + "TollFree", + "FirstPartyAppAssignment", + "ThirdPartyAppAssignment", + "Azure", + "Office365", + "InboundCalling", + "OutboundCalling", + "InboundA2PSms", + "OutboundA2PSms", + "InboundP2PSms", + "OutboundP2PSms" + ], + "type": "string", + "x-ms-enum": { + "name": "Capability", + "modelAsString": true + } + } + } + } + }, + "UpdatePhoneNumberCapabilitiesResponse": { + "description": "Response for getting a phone number update capabilities.", + "type": "object", + "properties": { + "capabilitiesUpdateId": { + "description": "The id of the phone number capabilities update", + "type": "string" + }, + "createdAt": { + "format": "date-time", + "description": "The time the capabilities update was created", + "type": "string" + }, + "capabilitiesUpdateStatus": { + "description": "Status of the capabilities update.", + "enum": [ + "Pending", + "InProgress", + "Complete", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "CapabilitiesUpdateStatus", + "modelAsString": true + } + }, + "phoneNumberCapabilitiesUpdates": { + "description": "The capabilities update for each of a set of phone numbers.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/NumberUpdateCapabilities" + } + } + } + }, + "UpdateNumberCapabilitiesRequest": { + "description": "Represents a numbers capabilities update request", + "required": [ + "phoneNumberCapabilitiesUpdate" + ], + "type": "object", + "properties": { + "phoneNumberCapabilitiesUpdate": { + "description": "The map of phone numbers to the capabilities update applied to the phone number.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/NumberUpdateCapabilities" + } + } + } + }, + "UpdateNumberCapabilitiesResponse": { + "description": "Represents a number capability update response.", + "required": [ + "capabilitiesUpdateId" + ], + "type": "object", + "properties": { + "capabilitiesUpdateId": { + "description": "The capabilities id", + "type": "string" + } + } + }, + "PhoneNumberCountry": { + "description": "Represents a country.", + "required": [ + "countryCode", + "localizedName" + ], + "type": "object", + "properties": { + "localizedName": { + "description": "Represents the name of the country.", + "type": "string" + }, + "countryCode": { + "description": "Represents the abbreviated name of the country.", + "type": "string" + } + } + }, + "PhoneNumberCountries": { + "description": "Represents a wrapper around a list of countries.", + "type": "object", + "properties": { + "countries": { + "description": "Represents the underlying list of countries.", + "type": "array", + "items": { + "$ref": "#/definitions/PhoneNumberCountry" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "NumberConfigurationPhoneNumber": { + "description": "The phone number wrapper representing a number configuration request", + "required": [ + "phoneNumber" + ], + "type": "object", + "properties": { + "phoneNumber": { + "description": "The phone number in the E.164 format", + "type": "string" + } + } + }, + "PstnConfiguration": { + "description": "Definition for pstn number configuration", + "required": [ + "callbackUrl" + ], + "type": "object", + "properties": { + "callbackUrl": { + "description": "The webhook URL on the phone number configuration.", + "type": "string" + }, + "applicationId": { + "description": "The application id of the application to which to configure", + "type": "string" + } + } + }, + "NumberConfigurationResponse": { + "description": "Definition for number configuration", + "required": [ + "pstnConfiguration" + ], + "type": "object", + "properties": { + "pstnConfiguration": { + "$ref": "#/definitions/PstnConfiguration" + } + } + }, + "NumberConfiguration": { + "description": "Definition for number configuration", + "required": [ + "phoneNumber", + "pstnConfiguration" + ], + "type": "object", + "properties": { + "pstnConfiguration": { + "$ref": "#/definitions/PstnConfiguration" + }, + "phoneNumber": { + "description": "The phone number to configure", + "type": "string" + } + } + }, + "CarrierDetails": { + "description": "Represents carrier details.", + "type": "object", + "properties": { + "name": { + "description": "Name of carrier details", + "type": "string" + }, + "localizedName": { + "description": "Display name of carrier details", + "type": "string" + } + } + }, + "RateInformation": { + "description": "Represents a wrapper of rate information", + "type": "object", + "properties": { + "monthlyRate": { + "format": "double", + "description": "The monthly rate of a phone plan group", + "type": "number" + }, + "currencyType": { + "description": "The currency of a phone plan group", + "enum": [ + "USD" + ], + "type": "string", + "x-ms-enum": { + "name": "CurrencyType", + "modelAsString": true + } + }, + "rateErrorMessage": { + "description": "The error code of a phone plan group", + "type": "string" + } + } + }, + "PhonePlanGroup": { + "description": "Represents a plan group.", + "required": [ + "localizedDescription", + "localizedName", + "phonePlanGroupId" + ], + "type": "object", + "properties": { + "phonePlanGroupId": { + "description": "The id of the plan group", + "type": "string" + }, + "phoneNumberType": { + "description": "The phone number type of the plan group", + "enum": [ + "Unknown", + "Geographic", + "TollFree", + "Indirect" + ], + "type": "string", + "x-ms-enum": { + "name": "PhoneNumberType", + "modelAsString": true + } + }, + "localizedName": { + "description": "The name of the plan group.", + "type": "string" + }, + "localizedDescription": { + "description": "The description of the plan group.", + "type": "string" + }, + "carrierDetails": { + "$ref": "#/definitions/CarrierDetails" + }, + "rateInformation": { + "$ref": "#/definitions/RateInformation" + } + } + }, + "PhonePlanGroups": { + "description": "Represents a wrapper of list of plan groups.", + "type": "object", + "properties": { + "phonePlanGroups": { + "description": "The underlying list of phone plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/PhonePlanGroup" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "PhonePlan": { + "description": "Represents a phone plan.", + "required": [ + "localizedName", + "locationType", + "phonePlanId" + ], + "type": "object", + "properties": { + "phonePlanId": { + "description": "The phone plan id", + "type": "string" + }, + "localizedName": { + "description": "The name of the phone plan", + "type": "string" + }, + "locationType": { + "description": "The location type of the phone plan.", + "enum": [ + "CivicAddress", + "NotRequired", + "Selection" + ], + "type": "string", + "x-ms-enum": { + "name": "LocationType", + "modelAsString": true + } + }, + "areaCodes": { + "description": "The list of available area codes in the phone plan.", + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Capabilities of the phone plan.", + "type": "array", + "items": { + "description": "Represents the capabilities of a phone number.", + "enum": [ + "UserAssignment", + "FirstPartyVoiceAppAssignment", + "ConferenceAssignment", + "P2PSmsEnabled", + "Geographic", + "NonGeographic", + "TollCalling", + "TollFreeCalling", + "Premium", + "P2PSmsCapable", + "A2PSmsCapable", + "A2PSmsEnabled", + "Calling", + "TollFree", + "FirstPartyAppAssignment", + "ThirdPartyAppAssignment", + "Azure", + "Office365", + "InboundCalling", + "OutboundCalling", + "InboundA2PSms", + "OutboundA2PSms", + "InboundP2PSms", + "OutboundP2PSms" + ], + "type": "string", + "x-ms-enum": { + "name": "Capability", + "modelAsString": true + } + } + }, + "maximumSearchSize": { + "format": "int32", + "description": "The maximum number of phone numbers one can acquire in a search in this phone plan.", + "type": "integer" + } + } + }, + "PhonePlansResponse": { + "description": "Represents a wrapper around a list of countries.", + "type": "object", + "properties": { + "phonePlans": { + "description": "Represents the underlying list of phone plans.", + "type": "array", + "items": { + "$ref": "#/definitions/PhonePlan" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "LocationOptionsDetails": { + "description": "Represents location options details.", + "type": "object", + "properties": { + "name": { + "description": "The name of the location options", + "type": "string" + }, + "value": { + "description": "The abbreviated name of the location options", + "type": "string" + }, + "locationOptions": { + "description": "The underlying location options", + "type": "array", + "items": { + "$ref": "#/definitions/LocationOptions" + } + } + } + }, + "LocationOptions": { + "description": "Represents a location options.", + "type": "object", + "properties": { + "labelId": { + "description": "The label id of the location.", + "type": "string" + }, + "labelName": { + "description": "The display name of the location.", + "type": "string" + }, + "options": { + "description": "The underlying location option details.", + "type": "array", + "items": { + "$ref": "#/definitions/LocationOptionsDetails" + } + } + } + }, + "LocationOptionsResponse": { + "description": "Represents a wrapper around a list of location options.", + "type": "object", + "properties": { + "locationOptions": { + "$ref": "#/definitions/LocationOptions" + } + } + }, + "PhoneNumberReleaseDetails": { + "type": "object", + "properties": { + "status": { + "description": "The release status of a phone number.", + "enum": [ + "Pending", + "Success", + "Error", + "InProgress" + ], + "type": "string", + "x-ms-enum": { + "name": "PhoneNumberReleaseStatus", + "modelAsString": true + } + }, + "errorCode": { + "format": "int32", + "description": "The error code in the case the status is error.", + "type": "integer" + } + } + }, + "PhoneNumberRelease": { + "description": "Represents a release", + "type": "object", + "properties": { + "releaseId": { + "description": "The id of the release.", + "type": "string" + }, + "createdAt": { + "format": "date-time", + "description": "The creation time of the release.", + "type": "string" + }, + "status": { + "description": "The release status.", + "enum": [ + "Pending", + "InProgress", + "Complete", + "Failed", + "Expired" + ], + "type": "string", + "x-ms-enum": { + "name": "ReleaseStatus", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The underlying error message of a release.", + "type": "string" + }, + "phoneNumberReleaseStatusDetails": { + "description": "The list of phone numbers in the release, mapped to its individual statuses.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PhoneNumberReleaseDetails" + } + } + } + }, + "ReleaseRequest": { + "description": "Represents a release request.", + "required": [ + "phoneNumbers" + ], + "type": "object", + "properties": { + "phoneNumbers": { + "description": "The list of phone numbers in the release request.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ReleaseResponse": { + "description": "Represents a release response.", + "required": [ + "releaseId" + ], + "type": "object", + "properties": { + "releaseId": { + "description": "The release id of a created release.", + "type": "string" + } + } + }, + "PhoneNumberEntity": { + "description": "Represents a phone number entity, as part of the response when calling get all searches or releases.", + "type": "object", + "properties": { + "id": { + "description": "The id of the entity. It is the search id of a search. It is the release id of a release.", + "type": "string" + }, + "createdAt": { + "format": "date-time", + "description": "Date and time the entity is created.", + "type": "string" + }, + "displayName": { + "description": "Name of the entity.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "Quantity of requested phone numbers in the entity.", + "type": "integer" + }, + "quantityObtained": { + "format": "int32", + "description": "Quantity of acquired phone numbers in the entity.", + "type": "integer" + }, + "status": { + "description": "Status of the entity.", + "type": "string" + }, + "focDate": { + "format": "date-time", + "description": "The Firm Order Confirmation date of the phone number entity.", + "type": "string" + } + } + }, + "PhoneNumberEntities": { + "description": "Represents a list of searches or releases, as part of the response when fetching all searches or releases.", + "type": "object", + "properties": { + "entities": { + "description": "The underlying list of entities.", + "type": "array", + "items": { + "$ref": "#/definitions/PhoneNumberEntity" + } + }, + "nextLink": { + "description": "Represents the URL link to the next page", + "type": "string" + } + } + }, + "PhoneNumberSearch": { + "description": "Represents a phone number search", + "type": "object", + "properties": { + "searchId": { + "description": "The id of the search.", + "type": "string" + }, + "displayName": { + "description": "The name of the search.", + "type": "string" + }, + "createdAt": { + "format": "date-time", + "description": "The creation time of the search.", + "type": "string" + }, + "description": { + "description": "The description of the search.", + "type": "string" + }, + "phonePlanIds": { + "description": "The phone plan ids of the search.", + "type": "array", + "items": { + "type": "string" + } + }, + "areaCode": { + "description": "The area code of the search.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "The quantity of phone numbers in the search.", + "type": "integer" + }, + "locationOptions": { + "description": "The location options of the search.", + "type": "array", + "items": { + "$ref": "#/definitions/LocationOptionsDetails" + } + }, + "status": { + "description": "The status of the search.", + "enum": [ + "Pending", + "InProgress", + "Reserved", + "Expired", + "Expiring", + "Completing", + "Refreshing", + "Success", + "Manual", + "Cancelled", + "Cancelling", + "Error", + "PurchasePending" + ], + "type": "string", + "x-ms-enum": { + "name": "SearchStatus", + "modelAsString": true + } + }, + "phoneNumbers": { + "description": "The list of phone numbers in the search, in the case the status is reserved or success.", + "type": "array", + "items": { + "type": "string" + } + }, + "reservationExpiryDate": { + "format": "date-time", + "description": "The date that search expires and the numbers become available.", + "type": "string" + }, + "errorCode": { + "format": "int32", + "description": "The error code of the search.", + "type": "integer" + } + } + }, + "CreateSearchOptions": { + "description": "Represents a search creation option.", + "required": [ + "areaCode", + "description", + "displayName", + "phonePlanIds" + ], + "type": "object", + "properties": { + "displayName": { + "description": "Display name of the search.", + "maxLength": 255, + "type": "string" + }, + "description": { + "description": "Description of the search.", + "maxLength": 255, + "type": "string" + }, + "phonePlanIds": { + "description": "The plan subtype ids from which to create the search.", + "type": "array", + "items": { + "type": "string" + } + }, + "areaCode": { + "description": "The area code from which to create the search.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "The quantity of phone numbers to request.", + "maximum": 2147483647, + "minimum": 1, + "type": "integer" + }, + "locationOptions": { + "description": "The location options of the search.", + "type": "array", + "items": { + "$ref": "#/definitions/LocationOptionsDetails" + } + } + } + }, + "CreateSearchResponse": { + "description": "Represents a search creation response.", + "required": [ + "searchId" + ], + "type": "object", + "properties": { + "searchId": { + "description": "The search id of the search that was created.", + "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 endpoint of the Azure Communication resource.", + "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/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json new file mode 100644 index 000000000000..0d393b557bc5 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json new file mode 100644 index 000000000000..d95a9053bddb --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "phoneNumber": "+11234567890", + "pstnConfiguration": { + "callbackUrl": "www.callback.com", + "applicationId": "abc123" + } + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json new file mode 100644 index 000000000000..b1c75ce1facd --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "phoneNumbers": [ + "+11234567890" + ] + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json new file mode 100644 index 000000000000..2e253c17abc1 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "displayName": "Name", + "description": "Search Description", + "phonePlanIds": [ + "0cc077cd-333a-39fd-90f7-560b1e06c63e" + ], + "areaCode": "425", + "quantity": 2, + "locationOptions": [ + { + "name": "state", + "value": "WA" + } + ] + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "201": { + "headers": {}, + "body": { + "searchId": "0cc077cd-5337-7msf-964e-560b1e06c63e" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json new file mode 100644 index 000000000000..3ad4280fe83a --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "locale": "en-us" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "phoneNumbers": [ + { + "phoneNumber": "+11234567890", + "acquiredCapabilities": [ + "FirstPartyAppAssignment" + ], + "availableCapabilities": [ + "FirstPartyAppAssignment", + "UserAssignment" + ], + "assignmentStatus": "Unassigned", + "placeName": "Toll-Free, United States", + "activationState": "Activated" + }, + { + "phoneNumber": "+18003456789", + "acquiredCapabilities": [ + "FirstPartyAppAssignment" + ], + "availableCapabilities": [ + "FirstPartyAppAssignment", + "UserAssignment" + ], + "assignmentStatus": "Unassigned", + "placeName": "Toll-Free, United States", + "activationState": "Activated" + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json new file mode 100644 index 000000000000..29a8ddb4979e --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "entities": [ + { + "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e", + "displayName": "Numbers for Vancouver Office", + "createdAt": "2020-06-18T17:11:52.5005818+00:00", + "quantity": 1, + "quantityObtained": 1, + "status": "completed", + "focDate": "2020-06-18T17:11:52.5005818+00:00" + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json new file mode 100644 index 000000000000..29a8ddb4979e --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "entities": [ + { + "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e", + "displayName": "Numbers for Vancouver Office", + "createdAt": "2020-06-18T17:11:52.5005818+00:00", + "quantity": 1, + "quantityObtained": 1, + "status": "completed", + "focDate": "2020-06-18T17:11:52.5005818+00:00" + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json new file mode 100644 index 000000000000..1288173209cc --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "locationType": "Selection", + "countryCode": "CA", + "phonePlanId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "primaryAreaCodes": [ + "236", + "604", + "778" + ], + "secondaryAreaCodes": [] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json new file mode 100644 index 000000000000..fe4dbb0b999f --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "locale": "en-us" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "countries": [ + { + "localizedName": "Australia", + "countryCode": "AU" + }, + { + "localizedName": "Japan", + "countryCode": "JP" + }, + { + "localizedName": "United States", + "countryCode": "US" + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json new file mode 100644 index 000000000000..b551fa840089 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "countryCode": "US", + "endpoint": "https://resourcename.communications.azure.net/", + "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c", + "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "locationOptions": { + "labelId": "state", + "labelName": "State", + "options": [ + { + "name": "AK", + "value": "AK", + "locationOptions": [ + { + "labelId": "city", + "labelName": "City", + "options": [ + { + "name": "Anchorage", + "value": "NOAM-US-AK-AN" + } + ] + } + ] + }, + { + "name": "AL", + "value": "AL", + "locationOptions": [ + { + "labelId": "city", + "labelName": "City", + "options": [ + { + "name": "Birmingham", + "value": "NOAM-US-AL-BI" + }, + { + "name": "Huntsville", + "value": "NOAM-US-AL-HN" + }, + { + "name": "Mobile", + "value": "NOAM-US-AL-MO" + }, + { + "name": "Montgomery", + "value": "NOAM-US-AL-MN" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json new file mode 100644 index 000000000000..11949cff84a3 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e", + "createdAt": "2020-06-18T17:11:52.5005818+00:00", + "capabilitiesUpdateStatus": "Complete", + "phoneNumberCapabilitiesUpdates": { + "12345878991": { + "add": [], + "remove": [ + "InboundA2PSms", + "OutboundA2PSms" + ] + } + } + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json new file mode 100644 index 000000000000..573d697b2934 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "phoneNumber": "+11234567890" + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "pstnConfiguration": { + "callbackUrl": "www.callback.com", + "applicationId": "abc123" + } + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json new file mode 100644 index 000000000000..f418ffd2ff23 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "countryCode": "US", + "endpoint": "https://resourcename.communications.azure.net/", + "locale": "en-us" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "phonePlanGroups": [ + { + "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c", + "phoneNumberType": "Geographic", + "localizedName": "Geographic", + "localizedDescription": "These are Toll numbers", + "rateInformation": { + "monthlyRate": 2.0, + "currencyType": "USD" + } + }, + { + "phonePlanGroupId": "d47a0cdc-8dc1-4e82-a29b-39067f7fc317", + "phoneNumberType": "TollFree", + "localizedName": "TollFree", + "localizedDescription": "These are toll free numbers used by Azure resources.", + "rateInformation": { + "monthlyRate": 1.0, + "currencyType": "USD" + } + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json new file mode 100644 index 000000000000..88ed446f84e8 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "countryCode": "US", + "endpoint": "https://resourcename.communications.azure.net/", + "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "phonePlans": [ + { + "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a", + "localizedName": "Outbound Only PSTN - Geographic", + "locationType": "Selection", + "capabilities": [ + "Azure", + "OutboundCalling", + "ThirdPartyAppAssignment", + "Geographic" + ], + "maximumSearchSize": 100 + } + ] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json new file mode 100644 index 000000000000..10813ab35c36 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json new file mode 100644 index 000000000000..a0e892008493 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e", + "displayName": "Numbers for Vancouver Office", + "createdAt": "2020-06-18T17:11:52.5005818+00:00", + "description": "Get some new numbers for our office in Vancouver", + "phonePlanIds": [ + "0cc077cd-333a-39fd-90f7-560b1e06c63e" + ], + "areaCode": "604", + "quantity": 1, + "locationOptions": [], + "status": "completed", + "phoneNumbers": [] + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json new file mode 100644 index 000000000000..0d393b557bc5 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "endpoint": "https://resourcename.communications.azure.net/", + "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e" + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json new file mode 100644 index 000000000000..e8da11cf3109 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "phoneNumber": "+11234567890" + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json new file mode 100644 index 000000000000..612b5f2b2740 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview1", + "body": { + "phoneNumberCapabilitiesUpdate": { + "12345878981": { + "add": [ + "InboundA2PSms", + "OutboundA2PSms" + ], + "remove": [] + }, + "12345878991": { + "add": [], + "remove": [ + "InboundA2PSms", + "OutboundA2PSms" + ] + } + } + }, + "endpoint": "https://resourcename.communications.azure.net/" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "capabilitiesUpdateId": "0cc077cd-5337-7msf-964e-560b1e06c63e" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json new file mode 100644 index 000000000000..73e83b57a414 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json @@ -0,0 +1,1617 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Communication Chat Service", + "description": "Azure Communication Chat Service", + "contact": { + "email": "acsdevexdisc@microsoft.com" + }, + "version": "2020-09-21-preview2" + }, + "paths": { + "/chat/threads/{chatThreadId}/readreceipts": { + "get": { + "tags": [ + "Threads" + ], + "summary": "Gets read receipts for a thread.", + "operationId": "ListChatReadReceipts", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to get the read receipts for.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The action returns the requested `ReadReceipt` resources.", + "schema": { + "$ref": "#/definitions/ReadReceiptsCollection" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get thread read receipts": { + "$ref": "./examples/Conversations_ListChatReadReceipts.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + }, + "post": { + "tags": [ + "Threads" + ], + "summary": "Sends a read receipt event to a thread, on behalf of a user.", + "operationId": "SendChatReadReceipt", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to send the read receipt event to.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Read receipt details.", + "required": true, + "schema": { + "$ref": "#/definitions/SendReadReceiptRequest" + } + } + ], + "responses": { + "201": { + "description": "Request successful." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Send read receipt": { + "$ref": "./examples/Conversations_SendChatReadReceipt.json" + } + } + } + }, + "/chat/threads/{chatThreadId}/messages": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Sends a message to a thread.", + "operationId": "SendChatMessage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The thread id to send the message to.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Details of the message to send.", + "required": true, + "schema": { + "$ref": "#/definitions/SendChatMessageRequest" + } + } + ], + "responses": { + "201": { + "description": "Message sent, the `Location` header contains the URL for the newly sent message.", + "schema": { + "$ref": "#/definitions/SendChatMessageResult" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Send Message": { + "$ref": "./examples/Messages_SendChatMessage.json" + } + } + }, + "get": { + "tags": [ + "Messages" + ], + "summary": "Gets a list of messages from a thread.", + "operationId": "ListChatMessages", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The thread id of the message.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "maxPageSize", + "description": "The maximum number of messages to be returned per page.", + "type": "integer", + "format": "int32" + }, + { + "in": "query", + "name": "startTime", + "description": "The earliest point in time to get messages up to. The timestamp should be in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "format": "date-time" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ChatMessagesCollection" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get messages with pagination (max page size)": { + "$ref": "./examples/Messages_ListChatMessagesWithPageSize.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + } + }, + "/chat/threads/{chatThreadId}/messages/{chatMessageId}": { + "get": { + "tags": [ + "Messages" + ], + "summary": "Gets a message by id.", + "operationId": "GetChatMessage", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The thread id to which the message was sent.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "chatMessageId", + "description": "The message id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The action returns a `Message` resource.", + "schema": { + "$ref": "#/definitions/ChatMessage" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Message": { + "$ref": "./examples/Messages_GetChatMessage.json" + } + } + }, + "patch": { + "tags": [ + "Messages" + ], + "summary": "Updates a message.", + "operationId": "UpdateChatMessage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The thread id to which the message was sent.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "chatMessageId", + "description": "The message id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Details of the request to update the message.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateChatMessageRequest" + } + } + ], + "responses": { + "200": { + "description": "Message is successfully updated." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Update message content": { + "$ref": "./examples/Messages_UpdateChatMessage.json" + } + } + }, + "delete": { + "tags": [ + "Messages" + ], + "summary": "Deletes a message.", + "operationId": "DeleteChatMessage", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The thread id to which the message was sent.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "chatMessageId", + "description": "The message id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Request successful." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Delete message": { + "$ref": "./examples/Messages_DeleteChatMessage.json" + } + } + } + }, + "/chat/threads/{chatThreadId}/typing": { + "post": { + "tags": [ + "Messages" + ], + "summary": "Posts a typing event to a thread, on behalf of a user.", + "operationId": "SendTypingNotification", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Id of the thread.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Post typing event to a thread": { + "$ref": "./examples/Messages_SendTypingNotification.json" + } + } + } + }, + "/chat/threads/{chatThreadId}/members": { + "get": { + "tags": [ + "ThreadMembers" + ], + "summary": "Gets the members of a thread.", + "operationId": "ListChatThreadMembers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to get members for.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The action returns the members of a thread.", + "schema": { + "$ref": "#/definitions/ChatThreadMembersCollection" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get thread members": { + "$ref": "./examples/ThreadMembers_ListChatThreadMembers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + }, + "post": { + "tags": [ + "ThreadMembers" + ], + "summary": "Adds thread members to a thread. If members already exist, no change occurs.", + "operationId": "AddChatThreadMembers", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Id of the thread to add members to.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Thread members to be added to the thread.", + "required": true, + "schema": { + "$ref": "#/definitions/AddChatThreadMembersRequest" + } + } + ], + "responses": { + "207": { + "description": "Multi status response, containing the status for the thread member addition operations." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Add thread members": { + "$ref": "./examples/ThreadMembers_AddChatThreadMembers.json" + } + } + } + }, + "/chat/threads/{chatThreadId}/members/{chatMemberId}": { + "delete": { + "tags": [ + "ThreadMembers" + ], + "summary": "Remove a member from a thread.", + "operationId": "RemoveChatThreadMember", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to remove the member from.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "chatMemberId", + "description": "Id of the thread member to remove from the thread.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Request successful." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Remove thread member": { + "$ref": "./examples/ThreadMembers_RemoveChatThreadMember.json" + } + } + } + }, + "/chat/threads": { + "post": { + "tags": [ + "Threads" + ], + "summary": "Creates a chat thread.", + "operationId": "CreateChatThread", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Request payload for creating a chat thread.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateChatThreadRequest" + } + } + ], + "responses": { + "207": { + "description": "Multi status response, containing the status for the thread creation and the thread member addition operations.\r\nIf the thread was created successfully, `Location` header would contain the URL for the newly created thread.", + "schema": { + "$ref": "#/definitions/MultiStatusResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Create chat thread": { + "$ref": "./examples/Threads_CreateChatThread.json" + } + } + }, + "get": { + "tags": [ + "Threads" + ], + "summary": "Gets the list of chat threads of a user.", + "operationId": "ListChatThreads", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "maxPageSize", + "description": "The maximum number of chat threads returned per page.", + "type": "integer", + "format": "int32" + }, + { + "in": "query", + "name": "startTime", + "description": "The earliest point in time to get chat threads up to. The timestamp should be in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "format": "date-time" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The action returns a `GetThreadsResponse` resource.", + "schema": { + "$ref": "#/definitions/ChatThreadsInfoCollection" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get threads with pagination (Max Page Size)": { + "$ref": "./examples/Threads_ListChatThreadsWithPageSize.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + } + }, + "/chat/threads/{chatThreadId}": { + "patch": { + "tags": [ + "Threads" + ], + "summary": "Updates a thread's properties.", + "operationId": "UpdateChatThread", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "The id of the thread to update.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Request payload for updating a chat thread.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateChatThreadRequest" + } + } + ], + "responses": { + "200": { + "description": "Thread was successfully updated." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Update chat thread topic": { + "$ref": "./examples/Threads_UpdateChatThreadTopic.json" + } + } + }, + "get": { + "tags": [ + "Threads" + ], + "summary": "Gets a chat thread.", + "operationId": "GetChatThread", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to get.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The action returns a `Thread` resource.", + "schema": { + "$ref": "#/definitions/ChatThread" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get chat thread": { + "$ref": "./examples/Threads_GetChatThread.json" + } + } + }, + "delete": { + "tags": [ + "Threads" + ], + "summary": "Deletes a thread.", + "operationId": "DeleteChatThread", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "chatThreadId", + "description": "Thread id to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Request successful." + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/Error" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Delete chat thread": { + "$ref": "./examples/Threads_DeleteChatThread.json" + } + } + } + } + }, + "definitions": { + "ReadReceipt": { + "description": "A read receipt indicates the time a chat message was read by a recipient.", + "type": "object", + "properties": { + "senderId": { + "description": "Read receipt sender id.", + "type": "string", + "readOnly": true, + "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + "chatMessageId": { + "description": "Id for the chat message that has been read. This id is generated by the server.", + "type": "string", + "readOnly": true, + "example": "1591137790240" + }, + "readOn": { + "format": "date-time", + "description": "Read receipt timestamp. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "readOnly": true, + "example": "2020-10-30T10:50:50Z" + } + } + }, + "ReadReceiptsCollection": { + "type": "object", + "properties": { + "value": { + "description": "Collection of read receipts.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadReceipt" + }, + "readOnly": true + }, + "nextLink": { + "description": "If there are more read receipts that can be retrieved, the next link will be populated.", + "type": "string", + "readOnly": true + } + } + }, + "Error": { + "type": "object", + "properties": { + "code": { + "type": "string", + "readOnly": true + }, + "message": { + "type": "string", + "readOnly": true + }, + "target": { + "type": "string", + "readOnly": true + }, + "innerErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true + } + } + }, + "SendReadReceiptRequest": { + "description": "Request payload for sending a read receipt.", + "required": [ + "chatMessageId" + ], + "type": "object", + "properties": { + "chatMessageId": { + "description": "Id of the latest chat message read by the user.", + "type": "string", + "example": "1592435762364" + } + } + }, + "ChatMessagePriority": { + "description": "The chat message priority.", + "enum": [ + "Normal", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "ChatMessagePriority", + "modelAsString": true + } + }, + "SendChatMessageRequest": { + "description": "Details of the message to send.", + "required": [ + "content" + ], + "type": "object", + "properties": { + "priority": { + "$ref": "#/definitions/ChatMessagePriority" + }, + "content": { + "description": "Chat message content.", + "type": "string", + "example": "Come one guys, lets go for lunch together." + }, + "senderDisplayName": { + "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.", + "type": "string", + "example": "Bob Admin" + } + } + }, + "SendChatMessageResult": { + "description": "Result of the send message operation.", + "type": "object", + "properties": { + "id": { + "description": "A server-generated message id.", + "type": "string", + "readOnly": true, + "example": "123456789" + } + } + }, + "ChatMessage": { + "type": "object", + "properties": { + "id": { + "description": "The id of the chat message. This id is server generated.", + "type": "string", + "readOnly": true, + "example": "123456789" + }, + "type": { + "description": "Type of the chat message.\r\n \r\nPossible values:\r\n - Text\r\n - ThreadActivity/TopicUpdate\r\n - ThreadActivity/AddMember\r\n - ThreadActivity/DeleteMember", + "type": "string", + "example": "Text" + }, + "priority": { + "$ref": "#/definitions/ChatMessagePriority" + }, + "version": { + "description": "Version of the chat message.", + "type": "string", + "readOnly": true + }, + "content": { + "description": "Content of the chat message.", + "type": "string", + "example": "Come one guys, lets go for lunch together." + }, + "senderDisplayName": { + "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.", + "type": "string", + "example": "Jane" + }, + "createdOn": { + "format": "date-time", + "description": "The timestamp when the chat message arrived at the server. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "readOnly": true, + "example": "2020-10-30T10:50:50Z" + }, + "senderId": { + "description": "The id of the chat message sender.", + "type": "string", + "readOnly": true, + "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + "deletedOn": { + "format": "date-time", + "description": "The timestamp when the chat message was deleted. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "example": "2020-10-30T10:50:50Z" + }, + "editedOn": { + "format": "date-time", + "description": "The timestamp when the chat message was edited. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "example": "2020-10-30T10:50:50Z" + } + } + }, + "ChatMessagesCollection": { + "description": "Collection of chat messages for a particular chat thread.", + "type": "object", + "properties": { + "value": { + "description": "Collection of chat messages.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatMessage" + }, + "readOnly": true + }, + "nextLink": { + "description": "If there are more chat messages that can be retrieved, the next link will be populated.", + "type": "string", + "readOnly": true + } + } + }, + "UpdateChatMessageRequest": { + "type": "object", + "properties": { + "content": { + "description": "Chat message content.", + "type": "string", + "example": "Let's go for lunch together." + }, + "priority": { + "$ref": "#/definitions/ChatMessagePriority" + } + } + }, + "ChatThreadMember": { + "description": "A member of the chat thread.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "The id of the chat thread member in the format `8:acs:ResourceId_AcsUserId`.", + "type": "string", + "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + "displayName": { + "description": "Display name for the chat thread member.", + "type": "string", + "example": "Bob" + }, + "shareHistoryTime": { + "format": "date-time", + "description": "Time from which the chat history is shared with the member. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "example": "2020-10-30T10:50:50Z" + } + } + }, + "ChatThreadMembersCollection": { + "description": "Collection of thread members belong to a particular thread.", + "type": "object", + "properties": { + "value": { + "description": "Chat thread members.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatThreadMember" + } + }, + "nextLink": { + "description": "If there are more chat threads that can be retrieved, the next link will be populated.", + "type": "string", + "readOnly": true + } + } + }, + "AddChatThreadMembersRequest": { + "description": "Thread members to be added to the thread.", + "required": [ + "members" + ], + "type": "object", + "properties": { + "members": { + "description": "Members to add to a chat thread.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatThreadMember" + } + } + } + }, + "CreateChatThreadRequest": { + "description": "Request payload for creating a chat thread.", + "required": [ + "members", + "topic" + ], + "type": "object", + "properties": { + "topic": { + "description": "The chat thread topic.", + "type": "string", + "example": "Lunch Thread" + }, + "members": { + "description": "Members to be added to the chat thread.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatThreadMember" + } + } + } + }, + "IndividualStatusResponse": { + "type": "object", + "properties": { + "id": { + "description": "Identifies the resource to which the individual status corresponds.", + "type": "string", + "readOnly": true + }, + "statusCode": { + "format": "int32", + "description": "The status code of the resource operation.\r\n \r\nPossible values include:\r\n 200 for a successful update or delete,\r\n 201 for successful creation,\r\n 400 for a malformed input,\r\n 403 for lacking permission to execute the operation,\r\n 404 for resource not found.", + "type": "integer", + "readOnly": true + }, + "message": { + "description": "The message explaining why the operation failed for the resource identified by the key; null if the operation succeeded.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Identifies the type of the resource to which the individual status corresponds.", + "type": "string", + "readOnly": true + } + } + }, + "MultiStatusResponse": { + "type": "object", + "properties": { + "multipleStatus": { + "description": "The list of status information for each resource in the request.", + "type": "array", + "items": { + "$ref": "#/definitions/IndividualStatusResponse" + }, + "readOnly": true + } + } + }, + "ChatThreadInfo": { + "type": "object", + "properties": { + "id": { + "description": "Chat thread id.", + "type": "string", + "readOnly": true, + "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2" + }, + "topic": { + "description": "Chat thread topic.", + "type": "string", + "example": "Lunch Chat thread" + }, + "isDeleted": { + "description": "Flag if a chat thread is soft deleted.", + "type": "boolean", + "example": false + }, + "lastMessageReceivedOn": { + "format": "date-time", + "description": "The timestamp when the last message arrived at the server. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "readOnly": true, + "example": "2020-10-30T10:50:50Z" + } + } + }, + "ChatThreadsInfoCollection": { + "description": "Collection of chat threads.", + "type": "object", + "properties": { + "value": { + "description": "Collection of chat threads.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatThreadInfo" + }, + "readOnly": true + }, + "nextLink": { + "description": "If there are more chat threads that can be retrieved, the next link will be populated.", + "type": "string", + "readOnly": true + } + } + }, + "UpdateChatThreadRequest": { + "type": "object", + "properties": { + "topic": { + "description": "Chat thread topic.", + "type": "string", + "example": "Lunch Thread" + } + } + }, + "ChatThread": { + "type": "object", + "properties": { + "id": { + "description": "Chat thread id.", + "type": "string", + "readOnly": true, + "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2" + }, + "topic": { + "description": "Chat thread topic.", + "type": "string", + "example": "Lunch Chat thread" + }, + "createdOn": { + "format": "date-time", + "description": "The timestamp when the chat thread was created. The timestamp is in ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`.", + "type": "string", + "readOnly": true, + "example": "2020-10-30T10:50:50Z" + }, + "createdBy": { + "description": "Id of the chat thread owner.", + "type": "string", + "readOnly": true, + "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + "members": { + "description": "Chat thread members.", + "type": "array", + "items": { + "$ref": "#/definitions/ChatThreadMember" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Version of API to invoke.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Endpoint": { + "in": "path", + "name": "endpoint", + "description": "The endpoint of the Azure Communication resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "Authorization": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + "description": "An ACS (Azure Communication Services) user access token." + } + }, + "security": [ + { + "Authorization": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json new file mode 100644 index 000000000000..44d3ad9bd31e --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "chatMessageId": "1591137790240", + "readOn": "2020-06-06T05:55:41.6460000Z" + }, + { + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c00a", + "chatMessageId": "1591768249318", + "readOn": "2020-06-06T05:55:41.6460000Z" + } + ], + "nextLink": null + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json new file mode 100644 index 000000000000..45ab2f0680bb --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "body": { + "chatMessageId": "1591137790240" + } + }, + "responses": { + "201": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json new file mode 100644 index 000000000000..00551b5f9d65 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "chatMessageId": "1591768249318" + }, + "responses": { + "204": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json new file mode 100644 index 000000000000..70d7dacb2aac --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "chatMessageId": "1591768249318" + }, + "responses": { + "200": { + "body": { + "id": "1591768249318", + "type": "Text", + "version": "1599016601134", + "priority": "Normal", + "content": "Let's head out for lunch in 15 minutes.", + "senderDisplayName": "Jane", + "createdOn": "2020-06-10T05:50:49.3180000Z", + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json new file mode 100644 index 000000000000..0323cbabc954 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2", + "maxPageSize": 5 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "1593107077690", + "type": "Text", + "priority": "Normal", + "version": "1593107077683", + "content": "So where should we get lunch from today?", + "senderDisplayName": "Jane", + "createdOn": "2020-06-25T17:44:37.6830000Z", + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + { + "id": "1593107077683", + "type": "Text", + "priority": "Normal", + "version": "1593107077683", + "content": "Let's use this chat to decide what to get for lunch today.", + "senderDisplayName": "Jane", + "createdOn": "2020-06-25T17:44:37.6830000Z", + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + { + "id": "1593107046498", + "type": "Text", + "priority": "Normal", + "version": "1593107046498", + "content": "Good morning everyone!", + "senderDisplayName": "Jane", + "createdOn": "2020-06-25T17:44:06.4980000Z", + "senderId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b" + }, + { + "id": "1593106976785", + "type": "ThreadActivity/TopicUpdate", + "priority": "Normal", + "version": "1593106976785", + "content": "15931069767858:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10bLunch", + "createdOn": "2020-06-25T17:42:56.7850000Z", + "senderId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2" + }, + { + "id": "1593106976753", + "type": "ThreadActivity/AddMember", + "priority": "Normal", + "version": "1593106976753", + "content": "15931069767538:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b15931069765668:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b8:acs:29d8ac59-6011-44dc-87c0-1f9f93dbc713_2a711a-6c8ffcdc418:acs:29d8ac59-6011-44dc-87c0-1f9f93dbc713_2a711a-6c8ffcdc418:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c", + "createdOn": "2020-06-25T17:42:56.7530000Z", + "senderId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2" + } + ], + "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2020-09-21-preview2" + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json new file mode 100644 index 000000000000..df0395bea381 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "body": { + "priority": "Normal", + "content": "Let's head out for lunch in 15 minutes.", + "senderDisplayName": "Jane" + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://contoso.westus.communications.azure.com/chat/threads/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/messages/1593072104708" + }, + "body": { + "id": "1593072104708" + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json new file mode 100644 index 000000000000..6435d0e29153 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "x-skypetoken": "token", + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json new file mode 100644 index 000000000000..f77e9c5e8dd9 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "chatMessageId": "1591768249318", + "body": { + "content": "Updated message content" + } + }, + "responses": { + "200": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json new file mode 100644 index 000000000000..17cc78cfb022 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2", + "body": { + "members": [ + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "displayName": "Alex", + "shareHistoryTime": "2020-06-06T05:55:41Z" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "displayName": "Peter", + "shareHistoryTime": "2020-06-06T05:55:41Z" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c", + "displayName": "Rama", + "shareHistoryTime": "2020-06-06T05:55:41Z" + } + ] + } + }, + "responses": { + "207": { + "multipleStatus": [ + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "statusCode": 403, + "message": "Permissions check failed" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "statusCode": 201 + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c", + "statusCode": 201 + } + ] + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json new file mode 100644 index 000000000000..2f7522e9e0a1 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "displayName": "Jane", + "shareHistoryTime": "2020-06-06T05:55:41Z" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "displayName": "Alex", + "shareHistoryTime": "2020-06-06T05:55:41Z" + } + ], + "nextLink": null + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json new file mode 100644 index 000000000000..e4f34c5ab80d --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2", + "chatMemberId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a" + }, + "responses": { + "204": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json new file mode 100644 index 000000000000..f2e8c4bb469c --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "body": { + "topic": "Lunch", + "members": [ + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "displayName": "Jane" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "displayName": "Alex" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c", + "displayName": "Bob" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "displayName": "Peter" + } + ] + } + }, + "responses": { + "207": { + "headers": { + "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2" + }, + "body": { + "multipleStatus": [ + { + "id": "19:b355e41860604e7dacd072d586f47818@thread.v2", + "statusCode": 201 + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "statusCode": 201 + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "statusCode": 201 + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c", + "statusCode": 201 + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "statusCode": 403, + "message": "Permissions check failed" + } + ] + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json new file mode 100644 index 000000000000..8d2b13efb17a --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2" + }, + "responses": { + "204": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json new file mode 100644 index 000000000000..2bcaff7565cb --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2" + }, + "responses": { + "200": { + "body": { + "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2", + "topic": "Lunch", + "createdOn": "2020-06-06T05:55:41.6460000Z", + "createdBy": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "members": [ + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a", + "shareHistoryTime": "2020-06-06T05:55:41Z" + }, + { + "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", + "shareHistoryTime": "2020-06-06T05:55:41Z" + } + ] + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json new file mode 100644 index 000000000000..07a5dc602c3d --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "maxmaxPageSize": 5 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2", + "topic": "Chat with Samantha", + "isDeleted": false, + "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z" + }, + { + "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2", + "topic": "Presentation Brainstorming", + "isDeleted": false, + "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z" + }, + { + "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2", + "topic": "Chat with Alex", + "isDeleted": false, + "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z" + }, + { + "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2", + "topic": "Lunch", + "isDeleted": false, + "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z" + }, + { + "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2", + "topic": "Chat with Bob", + "isDeleted": false, + "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z" + } + ], + "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2020-09-21-preview2&maxmaxPageSize=5" + } + }, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json new file mode 100644 index 000000000000..fc22cf010c46 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2020-09-21-preview2", + "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2", + "body": { + "topic": "Updated Thread Topic" + } + }, + "responses": { + "200": {}, + "401": { + "body": { + "code": "Unauthorized", + "message": "Request is not authorized." + } + }, + "403": { + "body": { + "code": "Forbidden", + "message": "User is not allowed to perform specified action." + } + }, + "429": { + "body": { + "code": "TooManyRequests", + "message": "Rate limit exceeded." + } + }, + "503": { + "body": { + "code": "ServiceUnavailable", + "message": "The server is currently unable to handle the request." + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json new file mode 100644 index 000000000000..c87ad2bfe5c3 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json @@ -0,0 +1,264 @@ +{ + "swagger": "2.0", + "info": { + "title": "CommunicationIdentityClient", + "description": "Azure Communication Identity Service", + "contact": { + "email": "acsdevexdisc@microsoft.com" + }, + "version": "2020-07-20-preview2" + }, + "paths": { + "/identities": { + "post": { + "tags": [ + "Identity" + ], + "summary": "Create a new identity.", + "operationId": "CommunicationIdentity_Create", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "api-version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK - Returns the created identity.", + "schema": { + "$ref": "#/definitions/CommunicationIdentity" + } + } + }, + "x-ms-examples": { + "Create Identity": { + "$ref": "./examples/CreateIdentity.json" + } + } + } + }, + "/identities/{id}": { + "delete": { + "tags": [ + "Identity" + ], + "summary": "Delete the identity, revoke all tokens of the identity and delete all associated data.", + "operationId": "CommunicationIdentity_Delete", + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to be deleted.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Success" + } + }, + "x-ms-examples": { + "Delete Identity": { + "$ref": "./examples/DeleteIdentity.json" + } + } + }, + "patch": { + "tags": [ + "Identity" + ], + "summary": "Update an Identity.", + "operationId": "CommunicationIdentity_Update", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "The properties of the identity to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/CommunicationIdentityUpdateRequest" + } + } + ], + "responses": { + "204": { + "description": "Success" + } + }, + "x-ms-examples": { + "Update Identity": { + "$ref": "./examples/UpdateIdentity.json" + } + } + } + }, + "/identities/{id}/token": { + "post": { + "tags": [ + "Token" + ], + "summary": "Generate a new token for an identity.", + "operationId": "CommunicationIdentity_IssueToken", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to issue token for.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "Requesting scopes for the new token.", + "required": true, + "schema": { + "$ref": "#/definitions/CommunicationTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationIdentityToken" + } + } + }, + "x-ms-examples": { + "Issue Token": { + "$ref": "./examples/IssueToken.json" + } + } + } + } + }, + "definitions": { + "CommunicationIdentity": { + "description": "A communication identity.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the identity.", + "type": "string" + } + } + }, + "CommunicationIdentityUpdateRequest": { + "type": "object", + "properties": { + "tokensValidFrom": { + "format": "date-time", + "description": "All tokens that are issued prior to this time will be revoked.", + "type": "string" + } + } + }, + "CommunicationTokenRequest": { + "required": [ + "scopes" + ], + "type": "object", + "properties": { + "scopes": { + "description": "List of scopes attached to the token.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CommunicationIdentityToken": { + "required": [ + "expiresOn", + "id", + "token" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the identity owning the token.", + "type": "string" + }, + "token": { + "description": "The token issued for the identity.", + "type": "string" + }, + "expiresOn": { + "format": "date-time", + "description": "The expiry time of the token.", + "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": "Auth and Identity endpoint", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + ] + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json new file mode 100644 index 000000000000..a7a69a592539 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview2", + "content-type": "application/json", + "endpoint": "https://contoso.communication.azure.com/identities" + }, + "responses": { + "200": { + "body": { + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json new file mode 100644 index 000000000000..1a7eec13edb8 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview2", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://contoso.communication.azure.com/identities" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json new file mode 100644 index 000000000000..b63e6b9c2264 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview2", + "content-type": "application/merge-patch+json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "body": { + "scopes": [ + "chat" + ] + }, + "endpoint": "https://contoso.communication.azure.com/identities/" + }, + "responses": { + "200": { + "body": { + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwMl9pbnQiLCJ0eXAiOiJKV1QifQ.eyJza3lwZWlkIjoiYWNzOjJkZWU1M2I0LTM2OGItNDViNC1hYjUyLTg0OTNmYjExNzY1Ml8wMDAwMDAwNS0xNGIwLWIwM2QtY2NjYy1iYWExZTEzYzAwMDEiLCJzY3AiOjE3OTIsImNzaSI6IjE1OTk2ODc1NzkiLCJpYXQiOjE1OTk2ODc1NzksImV4cCI6MTU5OTc3Mzk3OSwiYWNzU2NvcGUiOiJjaGF0IiwicmVzb3VyY2VJZCI6IjJkZWU1M2I0LTM2OGItNDViNC1hYjUyLTg0OTNmYjExNzY1MiJ9.S8Pryk7MVe0L8_KcTOjsGaU_6FXmcupVS8X73kJ2FW1CAotyJZb0YUoft_iXkbnTpJ3XK01SyhaXHcT48tXTsi1NcvyUqDk9u4rVKZkheA2F4ddLKYckO-RBw4mCHxlwsuiALNesR0MruhgiOSE1F0h_djDn6oKewSkyfd1FTWVqReeY1oIY4U0yi7_B8u3zNPiEFlv-Aqe4y1ISqi0009lt2u3EApjQ6pOIP8Jk9HAqbINwi2_lN5VAxUgK1XqvMBsiBmiB7fEfh-dNxB9tgH-tTGZQfRSprkjg6_KBVdYY7DTSr80J7Qez4JjoHwQ22DYKF8mleuFOysbTlLD0AA", + "expiresOn": "2020-09-10T21:39:39.3244584+00:00" + } + } + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json new file mode 100644 index 000000000000..c6ee654739d9 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-20-preview2", + "content-type": "application/merge-patch+json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://contoso.communication.azure.com/identities/", + "body": { + "tokensValidFrom": "2017-04-17T05:04:18.070Z" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json new file mode 100644 index 000000000000..0d989bdbeee6 --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json @@ -0,0 +1,145 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Communication SMS Service", + "description": "Azure Communication SMS Service", + "contact": { + "email": "acsdevexdisc@microsoft.com" + }, + "version": "2020-07-20-preview1" + }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { + "/sms": { + "post": { + "tags": [ + "Sms" + ], + "summary": "Sends a SMS message from a phone number that belongs to the authenticated account.", + "operationId": "Sms_Send", + "x-ms-examples": { + "SuccessfulSend": { + "$ref": "./examples/send.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "SendMessageRequest", + "description": "Represents the body of the send message request.", + "required": true, + "schema": { + "$ref": "#/definitions/SendMessageRequest" + } + }, + { + "name": "api-version", + "in": "query", + "description": "Version of API to invoke.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "SMS message is successfully scheduled for sending.", + "schema": { + "$ref": "#/definitions/SendSmsResponse" + } + } + } + } + } + }, + "definitions": { + "SendSmsOptions": { + "description": "Optional configuration for sending SMS messages", + "type": "object", + "properties": { + "enableDeliveryReport": { + "description": "Enable this flag to receive a delivery report for this message on the Azure Resource EventGrid", + "type": "boolean" + } + } + }, + "SendMessageRequest": { + "description": "Represents the properties of a send message request.", + "required": [ + "message", + "to", + "from" + ], + "type": "object", + "properties": { + "from": { + "description": "The sender's phone number in E.164 format that is owned by the authenticated account.", + "type": "string" + }, + "to": { + "description": "The recipients' phone number in E.164 format. In this version, only one recipient in the list is supported.", + "maxLength": 1, + "minLength": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "message": { + "description": "The contents of the message that will be sent to the recipient. The allowable content is defined by RFC 5724.", + "maxLength": 2048, + "minLength": 0, + "type": "string" + }, + "sendSmsOptions": { + "$ref": "#/definitions/SendSmsOptions" + } + } + }, + "SendSmsResponse": { + "description": "Response for a successful send Sms request.", + "type": "object", + "properties": { + "messageId": { + "description": "The identifier of the outgoing SMS message", + "type": "string" + } + } + } + }, + "parameters": { + "Endpoint": { + "in": "path", + "name": "endpoint", + "description": "The endpoint of the Azure Communication resource.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json new file mode 100644 index 000000000000..306feda3416f --- /dev/null +++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "SendMessageRequest": { + "from": "+18001110000", + "to": [ + "+18002220000" + ], + "message": "Hello world!", + "sendSmsOptions": { + "enableDeliveryReport": true + } + }, + "api-version": "2020-07-20-preview1", + "endpoint": "https://contoso.communication.azure.com/" + }, + "responses": { + "200": { + "body": { + "messageId": "Outgoing_20200610203725bfd4ba70-70bf-4f77-925d-c0bdb5161bb3" + } + } + } +} diff --git a/specification/communication/data-plane/readme.csharp.md b/specification/communication/data-plane/readme.csharp.md new file mode 100644 index 000000000000..2efd3715cdc3 --- /dev/null +++ b/specification/communication/data-plane/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/readme.md b/specification/communication/data-plane/readme.md new file mode 100644 index 000000000000..32387d6d037d --- /dev/null +++ b/specification/communication/data-plane/readme.md @@ -0,0 +1,92 @@ +# 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-2020-07-20-preview1 + +These settings apply only when `--tag=package-2020-07-20-preview1` is specified on the command line. + +```yaml $(tag) == 'package-2020-07-20-preview1' +input-file: + - Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json + - Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json +title: + Azure Communication Services +``` + +```yaml +openapi-type: data-plane +tag: package-2020-09-21-preview2 +``` + +### Tag: package-2020-09-21-preview2 + +These settings apply only when `--tag=package-2020-09-21-preview2` is specified on the command line. + +```yaml $(tag) == 'package-2020-09-21-preview2' +input-file: + - Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json +title: + Azure Communication Services +``` + +### 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' +input-file: + - Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.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. + +## 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/communication/data-plane/readme.python.md b/specification/communication/data-plane/readme.python.md new file mode 100644 index 000000000000..f7f55ff2159b --- /dev/null +++ b/specification/communication/data-plane/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.CommunicationServices + package-name: communicationservices + package-version: 2020-04-16-privatepreview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/communicationservices +``` diff --git a/specification/communication/data-plane/readme.ruby.md b/specification/communication/data-plane/readme.ruby.md new file mode 100644 index 000000000000..f521ab44dbf5 --- /dev/null +++ b/specification/communication/data-plane/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_communicationservices +package-version: 2020-04-16-privatepreview +azure-arm: true +``` + +### Tag: package-2020-04-16-privatepreview and ruby + +These settings apply only when `--tag=package-2020-04-16-privatepreview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-04-16-privatepreview' && $(ruby) +namespace: Microsoft.CommunicationServices +output-folder: $(ruby-sdks-folder)/communicationservices +``` diff --git a/specification/communication/data-plane/readme.typescript.md b/specification/communication/data-plane/readme.typescript.md new file mode 100644 index 000000000000..be9f877fd1c2 --- /dev/null +++ b/specification/communication/data-plane/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/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json new file mode 100644 index 000000000000..33b5c40e5fef --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json @@ -0,0 +1,1178 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Communication Services Management API", + "version": "2020-08-20-preview", + "description": "REST API for Azure Communication Services" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + } + } + }, + "paths": { + "/providers/Microsoft.Communication/operations": { + "get": { + "description": "Lists all of the available REST API operations of the Microsoft.Communication provider.", + "operationId": "Operations_List", + "summary": "List Operations", + "tags": [ + "Operations" + ], + "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": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/checkNameAvailability": { + "post": { + "description": "Checks that the CommunicationService name is valid and is not already in use.", + "operationId": "CommunicationService_CheckNameAvailability", + "summary": "Check Name Availability", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "name": "nameAvailabilityParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "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/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Check name availability available": { + "$ref": "./examples/checkNameAvailabilityAvailable.json" + }, + "Check name availability unavailable": { + "$ref": "./examples/checkNameAvailabilityUnavailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/linkNotificationHub": { + "post": { + "description": "Links an Azure Notification Hub to this communication service.", + "operationId": "CommunicationService_LinkNotificationHub", + "summary": "Link Notification Hub", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "name": "linkNotificationHubParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LinkNotificationHubParameters" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "Success. The notification hub has been linked.", + "schema": { + "$ref": "#/definitions/LinkedNotificationHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Link notification hub": { + "$ref": "./examples/linkNotificationHub.json" + } + } + } + }, + "/providers/Microsoft.Communication/locations/{location}/operationStatuses/{operationId}": { + "get": { + "description": "Gets the current status of an async operation.", + "operationId": "OperationStatuses_Get", + "summary": "Get Operation Status", + "tags": [ + "OperationStatus" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "The requested operation status", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/getOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/communicationServices": { + "get": { + "description": "Handles requests to list all resources in a subscription.", + "operationId": "CommunicationService_ListBySubscription", + "summary": "List By Subscription", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of CommunicationServices in the subscription.", + "schema": { + "$ref": "#/definitions/CommunicationServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List by subscription": { + "$ref": "./examples/listBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices": { + "get": { + "description": "Handles requests to list all resources in a resource group.", + "operationId": "CommunicationService_ListByResourceGroup", + "summary": "List By Resource Group", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of CommunicationServices in a resourceGroup.", + "schema": { + "$ref": "#/definitions/CommunicationServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "List by resource group": { + "$ref": "./examples/listByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}": { + "patch": { + "description": "Operation to update an existing CommunicationService.", + "operationId": "CommunicationService_Update", + "summary": "Update", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the update operation", + "required": false, + "schema": { + "$ref": "#/definitions/TaggedResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "responses": { + "200": { + "description": "The update request was successful", + "schema": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Update resource": { + "$ref": "./examples/update.json" + } + } + }, + "get": { + "description": "Get the CommunicationService and its properties.", + "operationId": "CommunicationService_Get", + "summary": "Get", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding CommunicationService service.", + "schema": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Get resource": { + "$ref": "./examples/get.json" + } + } + }, + "put": { + "description": "Create a new CommunicationService or update an existing CommunicationService.", + "operationId": "CommunicationService_CreateOrUpdate", + "summary": "Create Or Update", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the create or update operation", + "required": false, + "schema": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "The create or update request was completed successfully", + "schema": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + "201": { + "description": "The create or update request was accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update resource": { + "$ref": "./examples/createOrUpdate.json" + } + } + }, + "delete": { + "description": "Operation to delete a CommunicationService.", + "operationId": "CommunicationService_Delete", + "summary": "Delete", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "responses": { + "200": { + "description": "The delete operation was successful." + }, + "202": { + "description": "The delete operation is being performed in the background.", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "The resource did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete resource": { + "$ref": "./examples/delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/listKeys": { + "post": { + "description": "Get the access keys of the CommunicationService resource.", + "operationId": "CommunicationService_ListKeys", + "summary": "List Keys", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes CommunicationService access keys.", + "schema": { + "$ref": "#/definitions/CommunicationServiceKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "x-ms-examples": { + "List keys": { + "$ref": "./examples/listKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/regenerateKey": { + "post": { + "description": "Regenerate CommunicationService access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "CommunicationService_RegenerateKey", + "summary": "Regenerate Key", + "tags": [ + "CommunicationService" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": false, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CommunicationServiceName" + } + ], + "responses": { + "200": { + "description": "Created. The response contains the new key.", + "schema": { + "$ref": "#/definitions/CommunicationServiceKeys" + } + }, + "201": { + "description": "Created and an async operation is executing in background to make the new key take effect. The response contains new keys and an Azure-AsyncOperation header to query the async operation result.", + "schema": { + "$ref": "#/definitions/CommunicationServiceKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Regenerate key": { + "$ref": "./examples/regenerateKey.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "Error response indicating why the requested operation could not be performed.", + "type": "object", + "properties": { + "error": { + "description": "The error", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "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" + } + } + }, + "Operation": { + "description": "REST API operation supported by CommunicationService resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "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" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications." + } + } + }, + "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" + } + } + } + }, + "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": "The method for aggregating the metric.", + "type": "string", + "enum": [ + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "x-ms-enum": { + "name": "AggregationType", + "modelAsString": true + } + }, + "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" + } + } + } + }, + "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" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Should be always \"Microsoft.Communication/CommunicationServices\".", + "type": "string" + }, + "name": { + "description": "The CommunicationService name to validate. e.g.\"my-CommunicationService-name-here\"", + "type": "string" + } + } + }, + "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" + } + } + }, + "LinkNotificationHubParameters": { + "description": "Description of an Azure Notification Hub to link to the communication service", + "required": [ + "resourceId", + "connectionString" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The resource ID of the notification hub", + "type": "string" + }, + "connectionString": { + "description": "Connection string for the notification hub", + "type": "string" + } + } + }, + "LinkedNotificationHub": { + "description": "A notification hub that has been linked to the communication service", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource ID of the notification hub", + "type": "string" + } + } + }, + "OperationStatus": { + "description": "The current status of an async operation", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ID for the operation status.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Provisioning state of the resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Deleting", + "Moving" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "startTime": { + "description": "The start time of the operation", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endTime": { + "description": "The end time of the operation", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "percentComplete": { + "description": "Percent of the operation that is complete", + "type": "number", + "readOnly": true, + "minimum": 0, + "maximum": 100 + }, + "error": { + "description": "Operation Error message", + "$ref": "#/definitions/ErrorResponse", + "x-ms-client-flatten": true + } + } + }, + "CommunicationServiceResourceList": { + "description": "Object that includes an array of CommunicationServices and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of CommunicationService", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationServiceResource" + } + }, + "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" + } + } + }, + "CommunicationServiceResource": { + "description": "A class representing a CommunicationService resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "$ref": "#/definitions/LocationResource" + }, + { + "$ref": "#/definitions/TaggedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CommunicationServiceProperties", + "description": "The properties of the service.", + "x-ms-client-flatten": true + } + } + }, + "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 service - e.g. \"Microsoft.Communication/CommunicationServices\"", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "LocationResource": { + "description": "An ARM resource with its own location (not a global or an inherited location).", + "type": "object", + "properties": { + "location": { + "description": "The Azure location where the CommunicationService is running.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "TaggedResource": { + "description": "An ARM resource with that can accept tags", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ] + } + } + }, + "CommunicationServiceProperties": { + "description": "A class that describes the properties of the CommunicationService.", + "required": [ + "dataLocation" + ], + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "hostName": { + "description": "FQDN of the CommunicationService instance.", + "type": "string", + "readOnly": true + }, + "dataLocation": { + "description": "The location where the communication service stores its data at rest.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "notificationHubId": { + "description": "Resource ID of an Azure Notification Hub linked to this resource.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the CommunicationService resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "immutableResourceId": { + "description": "The immutable resource Id of the communication service.", + "type": "string", + "readOnly": true + } + } + }, + "CommunicationServiceKeys": { + "description": "A class representing the access keys of a CommunicationService.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string" + }, + "primaryConnectionString": { + "description": "CommunicationService connection string constructed via the primaryKey", + "type": "string" + }, + "secondaryConnectionString": { + "description": "CommunicationService connection string constructed via the secondaryKey", + "type": "string" + } + } + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2020-08-20-preview" + ] + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription ID which uniquely identifies 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" + }, + "CommunicationServiceName": { + "name": "communicationServiceName", + "in": "path", + "description": "The name of the CommunicationService resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "description": "The Azure region", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json new file mode 100644 index 000000000000..ed8a879a190e --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "12345", + "api-version": "2020-08-20-preview", + "nameAvailabilityParameters": { + "type": "Microsoft.Communication/CommunicationServices", + "name": "MyCommunicationService" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "NameAvailable", + "message": "Requested name is available for the requested type" + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json new file mode 100644 index 000000000000..a2e050f47ccc --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/checkNameAvailabilityUnavailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "12345", + "api-version": "2020-08-20-preview", + "nameAvailabilityParameters": { + "type": "Microsoft.Communication/CommunicationServices", + "name": "MyCommunicationService" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Requested name is unavailable for the requested type" + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json new file mode 100644 index 000000000000..aafec77cf065 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/createOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview", + "parameters": { + "location": "Global", + "properties": { + "dataLocation": "United States" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource", + "name": "MyCommunicationResource", + "type": "Microsoft.Communication/CommunicationServices", + "location": "Global", + "properties": { + "dataLocation": "United States", + "provisioningState": "Succeeded", + "hostName": "mycommunicationresource.communications.azure.com" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Communication/locations/westus/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + }, + "body": { + "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource", + "name": "MyCommunicationResource", + "type": "Microsoft.Communication/CommunicationServices", + "location": "Global", + "properties": { + "dataLocation": "United States", + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json new file mode 100644 index 000000000000..5bb01a4d2773 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Communication/locations/westus/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + } + }, + "204": {} + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json new file mode 100644 index 000000000000..ea4bdc176b41 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource", + "name": "MyCommunicationResource", + "type": "Microsoft.Communication/CommunicationServices", + "location": "Global", + "properties": { + "dataLocation": "United States", + "provisioningState": "Running", + "hostName": "mycommunicationservice.comms.azure.net", + "version": "0.2.0" + } + } + }, + "default": { + "body": { + "error": { + "code": "ResourceNotFound", + "message": "The requested resource was not found" + } + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json new file mode 100644 index 000000000000..caa62830d1e7 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/getOperationStatus.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "location": "westus2", + "operationId": "db5f291f-284d-46e9-9152-d5c83f7c14b8", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": { + "body": { + "id": "db5f291f-284d-46e9-9152-d5c83f7c14b8", + "status": "Succeeded", + "startTime": "2020-07-06T17:06:26.100Z", + "endTime": "2020-07-06T17:06:42.800Z", + "percentComplete": 100 + } + }, + "default": { + "body": { + "error": { + "code": "OperationNotFound", + "message": "The requested async operation was not found" + } + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json new file mode 100644 index 000000000000..1f39fc5fecc3 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/linkNotificationHub.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview", + "linkNotificationHubParameters": { + "resourceId": "/subscriptions/12345/resourceGroups/MyOtherResourceGroup/providers/Microsoft.NotificationHubs/namespaces/MyNamespace/notificationHubs/MyHub", + "connectionString": "Endpoint=sb://MyNamespace.servicebus.windows.net/;SharedAccessKey=abcd1234" + } + }, + "responses": { + "200": { + "body": { + "resourceId": "/subscriptions/12345/resourceGroups/MyOtherResourceGroup/providers/Microsoft.NotificationHubs/namespaces/MyNamespace/notificationHubs/MyHub" + } + }, + "default": { + "body": { + "error": { + "code": "WrongSubscription", + "message": "The notification hub must be in the same subscription as the communication service" + } + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json new file mode 100644 index 000000000000..139e7f6cf04f --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listByResourceGroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Running", + "dataLocation": "United States", + "hostName": "mycommunicationservice.comms.azure.net", + "version": "0.2.0" + } + } + ] + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json new file mode 100644 index 000000000000..8300a9f55093 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listBySubscription.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Running", + "dataLocation": "United States", + "hostName": "mycommunicationservice.comms.azure.net", + "version": "0.2.0" + } + } + ] + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json new file mode 100644 index 000000000000..ee092cda96e0 --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/listKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview" + }, + "responses": { + "200": { + "body": { + "primaryKey": "1234", + "secondaryKey": "ABCD" + } + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json new file mode 100644 index 000000000000..72ba59e10b8f --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/regenerateKey.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview", + "parameters": { + "keyType": "Primary" + } + }, + "responses": { + "200": { + "body": { + "primaryKey": "1234", + "primaryConnectionString": "endpoint=http://example.com;accesskey=1234" + } + }, + "201": { + "body": {} + } + } +} diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json new file mode 100644 index 000000000000..a441c4f0546c --- /dev/null +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/examples/update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "12345", + "resourceGroupName": "MyResourceGroup", + "communicationServiceName": "MyCommunicationResource", + "api-version": "2020-08-20-preview", + "parameters": { + "tags": { + "newTag": "newVal" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345/resourceGroups/MyResourceGroup/providers/Microsoft.Communication/CommunicationServices/MyCommunicationResource", + "name": "MyCommunicationResource", + "type": "Microsoft.Communication/CommunicationServices", + "location": "Global", + "tags": { + "newTag": "newVal" + }, + "properties": { + "provisioningState": "Succeeded", + "dataLocation": "United States", + "hostName": "mycommunicationresource.communications.azure.com", + "version": "0.2.0" + } + } + } + } +} diff --git a/specification/communication/resource-manager/readme.csharp.md b/specification/communication/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..f1aed9643153 --- /dev/null +++ b/specification/communication/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.Communication + output-folder: $(csharp-sdks-folder)/communication/Microsoft.Azure.Management.Communication/src/Generated +``` diff --git a/specification/communication/resource-manager/readme.go.md b/specification/communication/resource-manager/readme.go.md new file mode 100644 index 000000000000..1434d5fd3791 --- /dev/null +++ b/specification/communication/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 + namespace: communication + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-08-20-preview +``` + +### Tag: package-2020-08-20-preview and go + +These settings apply only when `--tag=package-2020-08-20-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08-20-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-20-preview/$(namespace) +``` diff --git a/specification/communication/resource-manager/readme.java.md b/specification/communication/resource-manager/readme.java.md new file mode 100644 index 000000000000..9c6341c30e98 --- /dev/null +++ b/specification/communication/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +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.communication +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-communication +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-08-20-preview +``` + +### Tag: package-2020-08-20-preview and java + +These settings apply only when `--tag=package-2020-08-20-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-20-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.communication.v2020_08_20_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/communication/mgmt-v2020_08_20_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/communication/resource-manager/readme.md b/specification/communication/resource-manager/readme.md new file mode 100644 index 000000000000..ecbda968e72b --- /dev/null +++ b/specification/communication/resource-manager/readme.md @@ -0,0 +1,74 @@ +# vsonline + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Communication Services. + +--- + +## Getting Started + +To build the SDKs for Azure Communication Services, simply [Install AutoRest](https://aka.ms/autorest/install) or via `npm` (`npm install -g autorest`) 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 Azure Communication Services API. + +```yaml +title: CommunicationServiceManagementClient +openapi-type: arm +openapi-subtype: rpaas +tag: package-2020-08-20-preview +``` + +### Tag: package-2020-08-20-preview + +These settings apply only when `--tag=package-2020-08-20-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-08-20-preview' +input-file: + - Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.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 + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-java +``` + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Typescript + +See configuration in [readme.typescript.md](./readme.typescript.md) diff --git a/specification/communication/resource-manager/readme.python.md b/specification/communication/resource-manager/readme.python.md new file mode 100644 index 000000000000..18112d3b5145 --- /dev/null +++ b/specification/communication/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 !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.communication + package-name: azure-mgmt-communication + package-version: 1.0.0rc1 + clear-output-folder: true +``` + +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-communication +no-namespace-folders: true +package-version: 1.0.0rc1 +``` + +```yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication/azure/mgmt/communication +no-namespace-folders: true +output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication/azure/mgmt/communication +``` + +```yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication +basic-setup-py: true +output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication +``` diff --git a/specification/communication/resource-manager/readme.typescript.md b/specification/communication/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..702c0e38144e --- /dev/null +++ b/specification/communication/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: "@azure/arm-communication" + output-folder: "$(typescript-sdks-folder)/sdk/communication/arm-communication" + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json new file mode 100644 index 000000000000..2b58d146d876 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "sharingUpdate": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "202": { + "body": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json new file mode 100644 index 000000000000..be3c726713ed --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "location": "West US", + "properties": { + "description": "This is the gallery description." + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json new file mode 100644 index 000000000000..d4f969d2d11e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplication": { + "location": "West US", + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json new file mode 100644 index 000000000000..079b456f748a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "galleryApplicationVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "endOfLifeDate": "2019-07-01T07:00:00Z", + "storageAccountType": "Standard_LRS" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json new file mode 100644 index 000000000000..13f9b61d3641 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImage": { + "location": "West US", + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + }, + "201": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + }, + "202": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json new file mode 100644 index 000000000000..a3353dfdd97e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json @@ -0,0 +1,221 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json new file mode 100644 index 000000000000..d3e4274210ce --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet", + "lun": 1 + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}" + }, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "hostCaching": "None" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json new file mode 100644 index 000000000000..e2b1b504c1ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet", + "lun": 1 + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json new file mode 100644 index 000000000000..b9852f7f8548 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "location": "West US", + "properties": { + "description": "This is the gallery description.", + "sharingProfile": { + "permissions": "Groups" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Creating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json new file mode 100644 index 000000000000..2abe4517a561 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json new file mode 100644 index 000000000000..f1014e7b7f78 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json new file mode 100644 index 000000000000..e4a43f69b126 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json new file mode 100644 index 000000000000..6d760641d7b4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json new file mode 100644 index 000000000000..76001cffb9b2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json new file mode 100644 index 000000000000..7ef46189bfcc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json new file mode 100644 index 000000000000..37c4d1d42a00 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json new file mode 100644 index 000000000000..0affffec2e45 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json new file mode 100644 index 000000000000..776ea72e0c03 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "$expand": "ReplicationStatus" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "replicationStatus": { + "aggregatedState": "Completed", + "summary": [ + { + "region": "West US", + "state": "Completed", + "details": "", + "progress": 100 + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json new file mode 100644 index 000000000000..8e4305e0148c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json new file mode 100644 index 000000000000..c65d0cc43058 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json new file mode 100644 index 000000000000..7462407b0222 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "$expand": "ReplicationStatus" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "replicationStatus": { + "aggregatedState": "Completed", + "summary": [ + { + "region": "West US", + "state": "Completed", + "details": "", + "progress": 100 + }, + { + "region": "East US", + "state": "Completed", + "details": "", + "progress": 100 + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json new file mode 100644 index 000000000000..a0184d882337 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}", + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}", + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json new file mode 100644 index 000000000000..d92d3c77540d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json new file mode 100644 index 000000000000..b58ca89c0bc1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "$select": "Permissions" + }, + "responses": { + "200": { + "body": { + "properties": { + "sharingProfile": { + "permissions": "Groups", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json new file mode 100644 index 000000000000..9615b8456462 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName" + }, + "responses": { + "200": { + "body": { + "location": "myLocation", + "name": "myGalleryName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json new file mode 100644 index 000000000000..ab78ae46c4f0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + }, + "location": "myLocation", + "name": "myGalleryImageName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json new file mode 100644 index 000000000000..7e20e0f45d65 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "myGalleryImageVersionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishedDate": "2018-03-20T09:12:28Z", + "endOfLifeDate": "2022-03-20T09:12:28Z" + }, + "location": "myLocation", + "name": "myGalleryImageVersionName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json new file mode 100644 index 000000000000..756c512dd1fe --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json new file mode 100644 index 000000000000..280325678dd3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json new file mode 100644 index 000000000000..b0ea6bfdba57 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName/versions/myGalleryApplicationVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json new file mode 100644 index 000000000000..d21b58c493ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json new file mode 100644 index 000000000000..499ad4e6366f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName/versions/myGalleryImageVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json new file mode 100644 index 000000000000..570fc0e39b6f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryImageName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json new file mode 100644 index 000000000000..baebdfed7d93 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "myLocation", + "name": "galleryUniqueName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sharedGalleries?$skiptoken={token}/Subscriptions/{subscriptionId}/galleries/galleryUniqueName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json new file mode 100644 index 000000000000..95baa0b1144f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "publishedDate": "2018-03-20T09:12:28Z", + "endOfLifeDate": "2022-03-20T09:12:28Z" + }, + "location": "myLocation", + "name": "myGalleryImageVersionName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName/versions/myGalleryImageVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json new file mode 100644 index 000000000000..47a2b4ac926a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + }, + "location": "myLocation", + "name": "myGalleryImageName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json new file mode 100644 index 000000000000..98c4a29b2a29 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "sharingUpdate": { + "operationType": "Reset" + } + }, + "responses": { + "200": { + "body": { + "operationType": "Reset" + } + }, + "202": { + "body": { + "operationType": "Reset" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json new file mode 100644 index 000000000000..d3618117f15c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "properties": { + "description": "This is the gallery description." + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json new file mode 100644 index 000000000000..0bb889c29a26 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplication": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json new file mode 100644 index 000000000000..9933e2d8d709 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "galleryApplicationVersion": { + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "endOfLifeDate": "2019-07-01T07:00:00Z", + "storageAccountType": "Standard_LRS" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "manageActions": { + "install": "powershell -command \"Expand-Archive -Path package.zip -DestinationPath C:\\package\"", + "remove": "del C:\\package " + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json new file mode 100644 index 000000000000..ebfd473f7e95 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImage": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json new file mode 100644 index 000000000000..5cf4547abad1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1 + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json new file mode 100644 index 000000000000..9a8a338f6bc5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json @@ -0,0 +1,2864 @@ +{ + "swagger": "2.0", + "info": { + "title": "SharedImageGalleryServiceClient", + "description": "Shared Image Gallery Service Client.", + "version": "2020-09-30" + }, + "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/galleries/{galleryName}": { + "put": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_CreateOrUpdate", + "description": "Create or update a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "gallery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Gallery" + }, + "description": "Parameters supplied to the create or update Shared Image Gallery operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery.": { + "$ref": "./examples/CreateOrUpdateASimpleGallery.json" + }, + "Create or update a simple gallery with sharing profile.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json" + } + } + }, + "patch": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Update", + "description": "Update a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "gallery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryUpdate" + }, + "description": "Parameters supplied to the update Shared Image Gallery operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery.": { + "$ref": "./examples/UpdateASimpleGallery.json" + } + } + }, + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Get", + "description": "Retrieves information about a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The select expression to apply on the operation.", + "enum": [ + "Permissions" + ], + "x-ms-enum": { + "name": "SelectPermissions", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetAGallery.json" + }, + "Get a gallery with select permissions.": { + "$ref": "./examples/GetAGalleryWithSelectPermissions.json" + } + } + }, + "delete": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Delete", + "description": "Delete a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery.": { + "$ref": "./examples/DeleteAGallery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}": { + "put": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_CreateOrUpdate", + "description": "Create or update a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be created." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImage", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImage" + }, + "description": "Parameters supplied to the create or update gallery image operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery image.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImage.json" + } + } + }, + "patch": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Update", + "description": "Update a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImage", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageUpdate" + }, + "description": "Parameters supplied to the update gallery image operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery image.": { + "$ref": "./examples/UpdateASimpleGalleryImage.json" + } + } + }, + "get": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Get", + "description": "Retrieves information about a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery image.": { + "$ref": "./examples/GetAGalleryImage.json" + } + } + }, + "delete": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Delete", + "description": "Delete a gallery image.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be deleted." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery image.": { + "$ref": "./examples/DeleteAGalleryImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": { + "put": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_CreateOrUpdate", + "description": "Create or update a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version is to be created." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be created. 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: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImageVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "Parameters supplied to the create or update gallery image version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple Gallery Image Version (Managed Image as source).": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersion.json" + }, + "Create or update a simple Gallery Image Version using snapshots as a source.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Create or update a simple Gallery Image Version using vhd as a source.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json" + } + } + }, + "patch": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Update", + "description": "Update a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version is to be updated." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be updated. 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: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImageVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageVersionUpdate" + }, + "description": "Parameters supplied to the update gallery image version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple Gallery Image Version (Managed Image as source).": { + "$ref": "./examples/UpdateASimpleGalleryImageVersion.json" + } + } + }, + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Get", + "description": "Retrieves information about a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery image version.": { + "$ref": "./examples/GetAGalleryImageVersion.json" + }, + "Get a gallery image version with replication status.": { + "$ref": "./examples/GetAGalleryImageVersionWithReplicationStatus.json" + }, + "Get a gallery image version with snapshots as a source.": { + "$ref": "./examples/GetAGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Get a gallery image version with vhd as a source.": { + "$ref": "./examples/GetAGalleryImageVersionWithVhdAsSource.json" + } + } + }, + "delete": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Delete", + "description": "Delete a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery image version.": { + "$ref": "./examples/DeleteAGalleryImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}": { + "put": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_CreateOrUpdate", + "description": "Create or update a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be created." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplication", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplication" + }, + "description": "Parameters supplied to the create or update gallery Application operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery Application.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryApplication.json" + } + } + }, + "patch": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Update", + "description": "Update a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be updated." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplication", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationUpdate" + }, + "description": "Parameters supplied to the update gallery Application operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery Application.": { + "$ref": "./examples/UpdateASimpleGalleryApplication.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Get", + "description": "Retrieves information about a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery from which the Application Definitions are to be retrieved." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application.": { + "$ref": "./examples/GetAGalleryApplication.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Delete", + "description": "Delete a gallery Application.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be deleted." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery Application.": { + "$ref": "./examples/DeleteAGalleryApplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}": { + "put": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_CreateOrUpdate", + "description": "Create or update a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version is to be created." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be created. 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: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplicationVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + }, + "description": "Parameters supplied to the create or update gallery Application Version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery Application Version.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "patch": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Update", + "description": "Update a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version is to be updated." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be updated. 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: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplicationVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationVersionUpdate" + }, + "description": "Parameters supplied to the update gallery Application Version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery Application Version.": { + "$ref": "./examples/UpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Get", + "description": "Retrieves information about a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application Version.": { + "$ref": "./examples/GetAGalleryApplicationVersion.json" + }, + "Get a gallery Application Version with replication status.": { + "$ref": "./examples/GetAGalleryApplicationVersionWithReplicationStatus.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Delete", + "description": "Delete a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery Application Version.": { + "$ref": "./examples/DeleteAGalleryApplicationVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_ListByResourceGroup", + "description": "List galleries under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a resource group.": { + "$ref": "./examples/ListGalleriesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_List", + "description": "List galleries under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a subscription.": { + "$ref": "./examples/ListGalleriesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images": { + "get": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_ListByGallery", + "description": "List gallery image definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery from which Image Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery images in a gallery.": { + "$ref": "./examples/ListGalleryImagesInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions": { + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_ListByGalleryImage", + "description": "List gallery image versions in a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery image versions in a gallery image definition.": { + "$ref": "./examples/ListGalleryImageVersionsInAGalleryImage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications": { + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_ListByGallery", + "description": "List gallery Application Definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery from which Application Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Applications in a gallery.": { + "$ref": "./examples/ListGalleryApplicationsInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions": { + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_ListByGalleryApplication", + "description": "List gallery Application Versions in a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery Application Definition from which the Application Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Application Versions in a gallery Application Definition.": { + "$ref": "./examples/ListGalleryApplicationVersionsInAGalleryApplication.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/share": { + "post": { + "tags": [ + "GallerySharingUpdate" + ], + "operationId": "GallerySharingProfile_Update", + "description": "Update sharing profile of a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "sharingUpdate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharingUpdate" + }, + "description": "Parameters supplied to the update gallery sharing profile." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add sharing id to the sharing profile of a gallery.": { + "$ref": "./examples/AddToSharingProfileInAGallery.json" + }, + "reset sharing profile of a gallery.": { + "$ref": "./examples/ResetSharingProfileInAGallery.json" + } + } + } + } + }, + "definitions": { + "Gallery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the Shared Image Gallery that you want to create or update." + }, + "GalleryUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the Shared Image Gallery that you want to update." + }, + "GalleryProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryIdentifier" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "sharingProfile": { + "$ref": "#/definitions/SharingProfile" + } + }, + "description": "Describes the properties of a Shared Image Gallery." + }, + "GalleryIdentifier": { + "properties": { + "uniqueName": { + "readOnly": true, + "type": "string", + "description": "The unique name of the Shared Image Gallery. This name is generated automatically by Azure." + } + }, + "description": "Describes the gallery unique name." + }, + "SharingProfile": { + "description": "Profile for gallery sharing to subscription or tenant", + "properties": { + "permissions": { + "type": "string", + "description": "This property allows you to specify the permission of sharing gallery.

    Possible values are:

    **Private**

    **Groups**", + "enum": [ + "Private", + "Groups" + ], + "x-ms-enum": { + "name": "GallerySharingPermissionTypes", + "modelAsString": true + } + }, + "groups": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "description": "A list of sharing profile groups." + } + } + }, + "SharingProfileGroup": { + "description": "Group of the gallery sharing profile", + "properties": { + "type": { + "type": "string", + "description": "This property allows you to specify the type of sharing group.

    Possible values are:

    **Subscriptions**

    **AADTenants**", + "enum": [ + "Subscriptions", + "AADTenants" + ], + "x-ms-enum": { + "name": "SharingProfileGroupTypes", + "modelAsString": true + } + }, + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subscription/tenant ids the gallery is aimed to be shared to." + } + } + }, + "GalleryApplication": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery Application Definition that you want to create or update." + }, + "GalleryApplicationUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Definition that you want to update." + }, + "GalleryApplicationProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "supportedOSType": { + "type": "string", + "description": "This property allows you to specify the supported type of the OS that application is built for.

    Possible values are:

    **Windows**

    **Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery Application Version that you want to create or update." + }, + "GalleryApplicationVersionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Version that you want to update." + }, + "GalleryApplicationVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery Application Version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryApplicationVersionPublishingProfile": { + "properties": { + "source": { + "$ref": "#/definitions/UserArtifactSource" + }, + "manageActions": { + "$ref": "#/definitions/UserArtifactManage" + }, + "enableHealthCheck": { + "type": "boolean", + "description": "Optional. Whether or not this application reports health." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "required": [ + "source" + ], + "description": "The publishing profile of a gallery image version." + }, + "UserArtifactSource": { + "properties": { + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage page blob." + }, + "defaultConfigurationLink": { + "type": "string", + "description": "Optional. The defaultConfigurationLink of the artifact, must be a readable storage page blob." + } + }, + "required": [ + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "UserArtifactManage": { + "properties": { + "install": { + "type": "string", + "description": "Required. The path and arguments to install the gallery application. This is limited to 4096 characters." + }, + "remove": { + "type": "string", + "description": "Required. The path and arguments to remove the gallery application. This is limited to 4096 characters." + }, + "update": { + "type": "string", + "description": "Optional. The path and arguments to update the gallery application. If not present, then update operation will invoke remove command on the previous version and install command on the current version of the gallery application. This is limited to 4096 characters." + } + }, + "required": [ + "install", + "remove" + ] + }, + "GalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery image definition that you want to create or update." + }, + "GalleryImageUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image definition that you want to update." + }, + "GalleryImageProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery image definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery image definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "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 + } + }, + "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." + }, + "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" + }, + "purchasePlan": { + "$ref": "#/definitions/ImagePurchasePlan" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image definition.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + } + }, + "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." + }, + "GalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery image version that you want to create or update." + }, + "GalleryImageVersionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image version that you want to update." + }, + "GalleryImageVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "storageProfile": { + "$ref": "#/definitions/GalleryImageVersionStorageProfile" + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "storageProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryArtifactPublishingProfileBase": { + "properties": { + "targetRegions": { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + }, + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + }, + "replicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "excludeFromLatest": { + "type": "boolean", + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "publishedDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp for when the gallery image version is published." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + } + }, + "description": "Describes the basic gallery artifact publishing profile." + }, + "TargetRegion": { + "properties": { + "name": { + "type": "string", + "description": "The name of the region." + }, + "regionalReplicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "encryption": { + "$ref": "#/definitions/EncryptionImages" + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "EncryptionImages": { + "properties": { + "osDiskImage": { + "$ref": "#/definitions/OSDiskImageEncryption" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImageEncryption" + }, + "description": "A list of encryption specifications for data disk images." + } + }, + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "OSDiskImageEncryption": { + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "description": "Contains encryption settings for an OS disk image." + }, + "DataDiskImageEncryption": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "required": [ + "lun" + ], + "description": "Contains encryption settings for a data disk image." + }, + "DiskImageEncryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + } + }, + "description": "This is the disk image encryption base class." + }, + "GalleryArtifactSource": { + "properties": { + "managedImage": { + "$ref": "#/definitions/ManagedArtifact" + } + }, + "required": [ + "managedImage" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "ManagedArtifact": { + "properties": { + "id": { + "type": "string", + "description": "The managed artifact id." + } + }, + "required": [ + "id" + ], + "description": "The managed artifact." + }, + "GalleryImageVersionPublishingProfile": { + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "description": "The publishing profile of a gallery image Version." + }, + "GalleryImageVersionStorageProfile": { + "properties": { + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + "osDiskImage": { + "$ref": "#/definitions/GalleryOSDiskImage" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + }, + "description": "A list of data disk images." + } + }, + "description": "This is the storage profile of a Gallery Image Version." + }, + "GalleryArtifactVersionSource": { + "properties": { + "id": { + "type": "string", + "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, user image or storage account resource." + }, + "uri": { + "type": "string", + "description": "The uri of the gallery artifact version source. Currently used to specify vhd/blob source." + } + }, + "description": "The gallery artifact version source." + }, + "GalleryOSDiskImage": { + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "description": "This is the OS disk image." + }, + "GalleryDataDiskImage": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "required": [ + "lun" + ], + "description": "This is the data disk image." + }, + "GalleryDiskImage": { + "properties": { + "sizeInGB": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "This property indicates the size of the VHD to be created." + }, + "hostCaching": { + "type": "string", + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "HostCaching", + "modelAsString": false + } + }, + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + } + }, + "description": "This is the disk image base class." + }, + "ReplicationStatus": { + "properties": { + "aggregatedState": { + "readOnly": true, + "type": "string", + "description": "This is the aggregated replication status based on all the regional replication status flags.", + "enum": [ + "Unknown", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "AggregatedReplicationState", + "modelAsString": true + } + }, + "summary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RegionalReplicationStatus" + }, + "description": "This is a summary of replication status for each region." + } + }, + "description": "This is the replication status of the gallery image version." + }, + "RegionalReplicationStatus": { + "properties": { + "region": { + "readOnly": true, + "type": "string", + "description": "The region to which the gallery image version is being replicated to." + }, + "state": { + "readOnly": true, + "type": "string", + "description": "This is the regional replication state.", + "enum": [ + "Unknown", + "Replicating", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "ReplicationState", + "modelAsString": true + } + }, + "details": { + "readOnly": true, + "type": "string", + "description": "The details of the replication status." + }, + "progress": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "It indicates progress of the replication job." + } + }, + "description": "This is the regional replication status." + }, + "GalleryList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Gallery" + }, + "description": "A list of galleries." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of galleries. Call ListNext() with this to fetch the next page of galleries." + } + }, + "required": [ + "value" + ], + "description": "The List Galleries operation response." + }, + "GalleryImageList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImage" + }, + "description": "A list of Shared Image Gallery images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Image Definitions in the Shared Image Gallery. Call ListNext() with this to fetch the next page of gallery image definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Images operation response." + }, + "GalleryImageVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "A list of gallery image versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery image versions. Call ListNext() with this to fetch the next page of gallery image versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Image version operation response." + }, + "GalleryApplicationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplication" + }, + "description": "A list of Gallery Applications." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Application Definitions in the Application Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Applications operation response." + }, + "GalleryApplicationVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplicationVersion" + }, + "description": "A list of gallery Application Versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery Application Versions. Call ListNext() with this to fetch the next page of gallery Application Versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Application version operation response." + }, + "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." + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "UpdateResourceDefinition": { + "description": "The Update 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": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "x-ms-azure-resource": true + }, + "SharingUpdate": { + "description": "Specifies information about the gallery sharing profile update.", + "properties": { + "operationType": { + "type": "string", + "description": "This property allows you to specify the operation type of gallery sharing update.

    Possible values are:

    **Add**

    **Remove**

    **Reset**", + "enum": [ + "Add", + "Remove", + "Reset" + ], + "x-ms-enum": { + "name": "SharingUpdateOperationTypes", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "description": "A list of sharing profile groups." + } + }, + "required": [ + "operationType" + ], + "x-ms-azure-resource": true + } + }, + "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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the resource group." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json new file mode 100644 index 000000000000..1579fa58a3ea --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json @@ -0,0 +1,786 @@ +{ + "swagger": "2.0", + "info": { + "title": "SharedGalleryServiceClient", + "description": "Shared Gallery Service Client.", + "version": "2020-09-30" + }, + "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}/sharedGalleries": { + "get": { + "tags": [ + "SharedGalleries" + ], + "operationId": "SharedGalleries_List", + "description": "List shared galleries by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleries.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images": { + "get": { + "tags": [ + "SharedGalleryImages" + ], + "operationId": "SharedGalleryImages_List", + "description": "List shared gallery images by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleryImages.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions": { + "get": { + "tags": [ + "SharedGalleryImageVersions" + ], + "operationId": "SharedGalleryImageVersions_List", + "description": "List shared gallery image versions by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleryImageVersions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}": { + "get": { + "tags": [ + "SharedGalleries" + ], + "operationId": "SharedGalleries_Get", + "description": "Get a shared gallery by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGallery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}": { + "get": { + "tags": [ + "SharedGalleryImages" + ], + "operationId": "SharedGalleryImages_Get", + "description": "Get a shared gallery image by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGalleryImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions/{galleryImageVersionName}": { + "get": { + "tags": [ + "SharedGalleryImageVersions" + ], + "operationId": "SharedGalleryImageVersions_Get", + "description": "Get a shared gallery image version by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be created. 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: .." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGalleryImageVersion.json" + } + } + } + } + }, + "definitions": { + "PirResource": { + "description": "The Resource model definition.", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Resource location" + } + } + }, + "PirSharedGalleryResource": { + "properties": { + "identifier": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryIdentifier" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirResource" + } + ], + "description": "Base information about the shared gallery resource in pir." + }, + "SharedGalleryIdentifier": { + "properties": { + "uniqueId": { + "type": "string", + "description": "The unique id of this shared gallery." + } + }, + "description": "The identifier information of shared gallery." + }, + "SharedGalleryList": { + "description": "The List Shared Galleries operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGallery" + }, + "description": "A list of shared galleries." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared galleries. Call ListNext() with this to fetch the next page of shared galleries." + } + }, + "required": [ + "value" + ] + }, + "SharedGallery": { + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the Shared Gallery that you want to create or update." + }, + "SharedGalleryImageList": { + "description": "The List Shared Gallery Images operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGalleryImage" + }, + "description": "A list of shared gallery images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared gallery images. Call ListNext() with this to fetch the next page of shared gallery images." + } + }, + "required": [ + "value" + ] + }, + "SharedGalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the gallery image definition that you want to create or update." + }, + "SharedGalleryImageProperties": { + "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." + }, + "SharedGalleryImageVersionList": { + "description": "The List Shared Gallery Image versions operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGalleryImageVersion" + }, + "description": "A list of shared gallery images versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared gallery image versions. Call ListNext() with this to fetch the next page of shared gallery image versions." + } + }, + "required": [ + "value" + ] + }, + "SharedGalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the gallery image version that you want to create or update." + }, + "SharedGalleryImageVersionProperties": { + "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." + }, + "LocationNameParamter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Resource location." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json index acdb3a9dc59d..fcf7286b3a90 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json @@ -6230,6 +6230,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -6816,6 +6817,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json index 429401d44d5f..c1ca9d3fb99c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json @@ -6261,6 +6261,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -6847,6 +6848,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json index d7d39de3f591..dea2056032ca 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json @@ -4380,7 +4380,7 @@ "VirtualMachineScaleSets" ], "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup", - "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.", + "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.", "parameters": [ { "name": "resourceGroupName", @@ -7183,6 +7183,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -7846,6 +7847,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json index f0df5077fd9c..a62367787669 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json @@ -2597,7 +2597,7 @@ "VirtualMachines" ], "operationId": "VirtualMachines_ConvertToManagedDisks", - "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.", + "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.
    For Windows, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks).
    For Linux, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks).", "parameters": [ { "name": "resourceGroupName", @@ -2628,6 +2628,11 @@ "description": "Accepted" } }, + "x-ms-examples": { + "Generalize a Virtual Machine.": { + "$ref": "./examples/ConvertToManagedDisks.json" + } + }, "x-ms-long-running-operation": true } }, @@ -3108,7 +3113,7 @@ "VirtualMachines" ], "operationId": "VirtualMachines_PerformMaintenance", - "description": "The operation to perform maintenance on a virtual machine.", + "description": "Shuts down the virtual machine, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.", "parameters": [ { "name": "resourceGroupName", @@ -4535,7 +4540,7 @@ "VirtualMachineScaleSets" ], "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup", - "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.", + "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.", "parameters": [ { "name": "resourceGroupName", @@ -5555,7 +5560,7 @@ "VirtualMachineScaleSetVMs" ], "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance", - "description": "Performs maintenance on a virtual machine in a VM scale set.", + "description": "Shuts down the virtual machine in a VMScaleSet, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.", "parameters": [ { "name": "resourceGroupName", @@ -7735,6 +7740,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -8373,6 +8379,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json new file mode 100644 index 000000000000..1fbfea58c94c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/ConvertToManagedDisks.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-07-01", + "vmName": "myVMName" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json index 4e9f646b5399..dab0c1d0b7a3 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json @@ -2894,7 +2894,7 @@ "VirtualMachines" ], "operationId": "VirtualMachines_ConvertToManagedDisks", - "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.", + "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.
    For Windows, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks).
    For Linux, please refer to [Convert a virtual machine from unmanaged disks to managed disks.](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks).", "parameters": [ { "name": "resourceGroupName", @@ -2925,6 +2925,11 @@ "description": "Accepted" } }, + "x-ms-examples": { + "Generalize a Virtual Machine.": { + "$ref": "./examples/ConvertToManagedDisks.json" + } + }, "x-ms-long-running-operation": true } }, @@ -3405,7 +3410,7 @@ "VirtualMachines" ], "operationId": "VirtualMachines_PerformMaintenance", - "description": "The operation to perform maintenance on a virtual machine.", + "description": "Shuts down the virtual machine, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.", "parameters": [ { "name": "resourceGroupName", @@ -4877,7 +4882,7 @@ "VirtualMachineScaleSets" ], "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup", - "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.", + "description": "Converts SinglePlacementGroup property to true for a existing virtual machine scale set.", "parameters": [ { "name": "resourceGroupName", @@ -5946,7 +5951,7 @@ "VirtualMachineScaleSetVMs" ], "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance", - "description": "Performs maintenance on a virtual machine in a VM scale set.", + "description": "Shuts down the virtual machine in a VMScaleSet, moves it to an already updated node, and powers it back on during the self-service phase of planned maintenance.", "parameters": [ { "name": "resourceGroupName", @@ -8271,6 +8276,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -8909,6 +8915,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json new file mode 100644 index 000000000000..39ec366b8d4d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ConvertToManagedDisks.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-12-01", + "vmName": "myVMName" + }, + "responses": { + "200": {}, + "202": {} + } +} 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 817f4c62ac26..c5b9fffa733b 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 @@ -2799,6 +2799,13 @@ "type": "string", "description": "The name of the virtual machine." }, + { + "name": "forceDeletion", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to force delete virtual machines." + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -5174,7 +5181,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" }, "description": "Parameters supplied to the Create Virtual Machine Extension operation." }, @@ -5189,13 +5196,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" } }, "default": { @@ -5252,7 +5259,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineExtensionUpdate" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionUpdate" }, "description": "Parameters supplied to the Update Virtual Machine Extension operation." }, @@ -5267,7 +5274,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" } }, "default": { @@ -5403,7 +5410,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" } }, "default": { @@ -5467,7 +5474,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtensionsListResult" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsListResult" } }, "default": { @@ -6739,7 +6746,6 @@ "type": "integer", "format": "int32", "minimum": 1, - "maximum": 3, "description": "Number of fault domains that the host group can span." }, "hosts": { @@ -6907,7 +6913,6 @@ "type": "integer", "format": "int32", "minimum": 0, - "maximum": 2, "description": "Fault domain of the dedicated host within a dedicated host group." }, "autoReplaceOnFailure": { @@ -7335,6 +7340,30 @@ ], "description": "Describes a Virtual Machine Extension." }, + "VirtualMachineScaleSetVMExtension": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a VMSS VM Extension." + }, "VirtualMachineExtensionUpdate": { "properties": { "properties": { @@ -7349,6 +7378,30 @@ ], "description": "Describes a Virtual Machine Extension." }, + "VirtualMachineScaleSetVMExtensionUpdate": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a VMSS VM Extension." + }, "VirtualMachineExtensionsListResult": { "properties": { "value": { @@ -7361,6 +7414,18 @@ }, "description": "The List Extension operation response" }, + "VirtualMachineScaleSetVMExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + }, + "description": "The list of VMSS VM extensions" + } + }, + "description": "The List VMSS VM Extension operation response" + }, "VirtualMachineSoftwarePatchProperties": { "properties": { "patchId": { @@ -8745,6 +8810,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -9409,6 +9475,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json new file mode 100644 index 000000000000..db92b1fe3928 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateRunCommand.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01", + "runCommand": { + "location": "West US", + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "runAsPassword": "user1pwd", + "timeoutInSeconds": 3600 + } + } + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachines/runCommands", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachines/runCommands", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json index 5e3dbf00975a..40185d51f90e 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json @@ -7,7 +7,6 @@ "vmExtensionName": "myVMExtension", "api-version": "2020-06-01", "extensionParameters": { - "location": "westus", "properties": { "autoUpgradeMinorVersion": true, "publisher": "extPublisher", @@ -23,7 +22,6 @@ "201": { "body": { "name": "myVMExtension", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", "properties": { @@ -41,7 +39,6 @@ "200": { "body": { "name": "myVMExtension", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", "properties": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json new file mode 100644 index 000000000000..47a3f58b14ac --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01", + "runCommand": { + "location": "West US", + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "runAsPassword": "user1pwd", + "timeoutInSeconds": 3600 + } + } + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands", + "location": "westus", + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands", + "location": "westus", + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteRunCommand.json new file mode 100644 index 000000000000..36cc3049720f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteRunCommand.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json new file mode 100644 index 000000000000..9eb3ffc247fd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json new file mode 100644 index 000000000000..b4e049882c4d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetRunCommand.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachines/runCommands", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json index 2c27ae1e263c..fbba0cdbf56c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json @@ -21,7 +21,6 @@ } }, "name": "myVMExtension", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension" } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json new file mode 100644 index 000000000000..94186291bb52 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMRunCommands.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListRunCommandsInVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListRunCommandsInVM.json new file mode 100644 index 000000000000..d3194a3468af --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListRunCommandsInVM.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachines/runCommands", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 0, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json index f2120acb750a..f670b23fd41d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json @@ -22,7 +22,6 @@ } }, "name": "myVMExtension", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension" }, @@ -38,7 +37,6 @@ } }, "name": "myVMExtension1", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1" } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json new file mode 100644 index 000000000000..79e9c50e4cd5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMRunCommands.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myRunCommand", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand", + "properties": { + "source": { + "script": "Write-Host Hello World!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 0, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateRunCommand.json new file mode 100644 index 000000000000..bfccb6265f7a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateRunCommand.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01", + "runCommand": { + "properties": { + "source": { + "script": "Write-Host Script Source Updated!" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand", + "type": "Microsoft.Compute/virtualMachines/runCommands", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Script Source Updated!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json index 659ea562168a..c1a159448f23 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json @@ -22,7 +22,6 @@ "200": { "body": { "name": "myVMExtension", - "location": "westus", "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", "properties": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json new file mode 100644 index 000000000000..9107248c7c82 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "runCommandName": "myRunCommand", + "api-version": "2020-06-01", + "runCommand": { + "properties": { + "source": { + "script": "Write-Host Script Source Updated!" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myRunCommand", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "source": { + "script": "Write-Host Script Source Updated!" + }, + "parameters": [ + { + "name": "param1", + "value": "value1" + }, + { + "name": "param2", + "value": "value2" + } + ], + "asyncExecution": false, + "runAsUser": "user1", + "timeoutInSeconds": 3600, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json index 9759cd8205e8..a8383302baad 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json @@ -248,6 +248,679 @@ "final-state-via": "location" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}": { + "put": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_CreateOrUpdate", + "description": "The operation to create or update the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be created or updated." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "Parameters supplied to the Create Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a run command.": { + "$ref": "./examples/CreateOrUpdateRunCommand.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_Update", + "description": "The operation to update the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be updated." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a run command.": { + "$ref": "./examples/UpdateRunCommand.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_Delete", + "description": "The operation to delete the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be deleted." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a run command.": { + "$ref": "./examples/DeleteRunCommand.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_GetByVirtualMachine", + "description": "The operation to get the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the run command." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a run command.": { + "$ref": "./examples/GetRunCommand.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands": { + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_ListByVirtualMachine", + "description": "The operation to get all run commands of a Virtual Machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List run commands in a Virtual Machine.": { + "$ref": "./examples/ListRunCommandsInVM.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_CreateOrUpdate", + "description": "The operation to create or update the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "Parameters supplied to the Create Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_Update", + "description": "The operation to update the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/UpdateVirtualMachineScaleSetVMRunCommands.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_Delete", + "description": "The operation to delete the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/DeleteVirtualMachineScaleSetVMRunCommands.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_Get", + "description": "The operation to get the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get VirtualMachineScaleSet VM run commands.": { + "$ref": "./examples/GetVirtualMachineScaleSetVMRunCommands.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_List", + "description": "The operation to get all run commands of an instance in Virtual Machine Scaleset.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List run commands in Vmss instance.": { + "$ref": "./examples/ListVirtualMachineScaleSetVMRunCommands.json" + } + } + } } }, "definitions": { @@ -451,6 +1124,299 @@ "description": "Run command operation response." } } + }, + "VirtualMachineRunCommandInstanceView": { + "properties": { + "executionState": { + "type": "string", + "description": "Script execution status.", + "enum": [ + "Unknown", + "Pending", + "Running", + "Failed", + "Succeeded", + "TimedOut", + "Canceled" + ], + "x-ms-enum": { + "name": "ExecutionState", + "modelAsString": true + } + }, + "executionMessage": { + "type": "string", + "description": "Communicate script configuration errors or execution messages." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "description": "Exit code returned from script execution." + }, + "output": { + "type": "string", + "description": "Script output stream." + }, + "error": { + "type": "string", + "description": "Script error stream." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Script start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Script end time." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a virtual machine run command." + }, + "VirtualMachineRunCommandScriptSource": { + "properties": { + "script": { + "type": "string", + "description": "Specifies the script content to be executed on the VM." + }, + "scriptUri": { + "type": "string", + "description": "Specifies the script download location." + }, + "commandId": { + "type": "string", + "description": "Specifies a commandId of predefined built-in script." + } + }, + "description": "Describes the script sources for run command." + }, + "VirtualMachineRunCommandProperties": { + "properties": { + "source": { + "$ref": "#/definitions/VirtualMachineRunCommandScriptSource", + "description": "The source of the run command script." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + }, + "description": "The parameters used by the script." + }, + "protectedParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + }, + "description": "The parameters used by the script." + }, + "asyncExecution": { + "type": "boolean", + "description": "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete.", + "default": false + }, + "runAsUser": { + "type": "string", + "description": "Specifies the user account on the VM when executing the run command." + }, + "runAsPassword": { + "type": "string", + "description": "Specifies the user account password on the VM when executing the run command." + }, + "timeoutInSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout in seconds to execute the run command." + }, + "outputBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script output stream will be uploaded." + }, + "errorBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script error stream will be uploaded." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "readOnly": true, + "$ref": "#/definitions/VirtualMachineRunCommandInstanceView", + "description": "The virtual machine run command instance view." + } + }, + "description": "Describes the properties of a Virtual Machine run command." + }, + "VirtualMachineRunCommand": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine run command." + }, + "VirtualMachineRunCommandUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine run command." + }, + "VirtualMachineRunCommandsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "The list of run commands" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of run commands." + } + }, + "required": [ + "value" + ], + "description": "The List run command operation response" + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } } }, "parameters": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json new file mode 100644 index 000000000000..6c6f3836fb19 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json @@ -0,0 +1,2754 @@ +{ + "swagger": "2.0", + "info": { + "title": "DiskResourceProviderClient", + "description": "The Disk Resource Provider Client.", + "version": "2020-06-30" + }, + "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/disks/{diskName}": { + "put": { + "tags": [ + "Disks" + ], + "operationId": "Disks_CreateOrUpdate", + "description": "Creates or updates a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Disk" + }, + "description": "Disk object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Create an empty managed disk.": { + "$ref": "./examples/CreateAnEmptyManagedDisk.json" + }, + "Create a managed disk from a platform image.": { + "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json" + }, + "Create a managed disk from an existing managed disk in the same or different subscription.": { + "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json" + }, + "Create a managed disk by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a managed disk by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json" + }, + "Create a managed disk by copying a snapshot.": { + "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json" + }, + "Create a managed upload disk.": { + "$ref": "./examples/CreateAManagedUploadDisk.json" + }, + "Create a managed disk and associate with disk access resource.": { + "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json" + }, + "Create a managed disk and associate with disk encryption set.": { + "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json" + }, + "Create an ultra managed disk with logicalSectorSize 512E": { + "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Update", + "description": "Updates (patches) a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskUpdate" + }, + "description": "Disk object supplied in the body of the Patch disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update managed disk to remove disk access resource association.": { + "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json" + } + } + }, + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Get", + "description": "Gets information about a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Get information about a managed disk.": { + "$ref": "./examples/GetInformationAboutAManagedDisk.json" + } + } + }, + "delete": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Delete", + "description": "Deletes a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_ListByResourceGroup", + "description": "Lists all the disks under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a resource group.": { + "$ref": "./examples/ListManagedDisksInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_List", + "description": "Lists all the disks under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a subscription.": { + "$ref": "./examples/ListManagedDisksInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_GrantAccess", + "description": "Grants access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_RevokeAccess", + "description": "Revokes access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": { + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "description": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "Snapshot object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Create a snapshot from an existing snapshot in the same or a different subscription.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json" + }, + "Create a snapshot by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a snapshot by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "description": "Updates (patches) a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotUpdate" + }, + "description": "Snapshot object supplied in the body of the Patch snapshot operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "description": "Gets information about a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Get information about a snapshot.": { + "$ref": "./examples/GetInformationAboutASnapshot.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "description": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the snapshot is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "description": "Lists snapshots under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a resource group.": { + "$ref": "./examples/ListSnapshotsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "description": "Lists snapshots under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a subscription.": { + "$ref": "./examples/ListSnapshotsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_GrantAccess", + "description": "Grants access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get snapshot access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_RevokeAccess", + "description": "Revokes access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": { + "put": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_CreateOrUpdate", + "description": "Creates or updates a disk encryption set", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "disk encryption set object supplied in the body of the Put disk encryption set operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk encryption set.": { + "$ref": "./examples/CreateADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Update", + "description": "Updates (patches) a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSetUpdate" + }, + "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk encryption set.": { + "$ref": "./examples/UpdateADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Get", + "description": "Gets information about a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk encryption set.": { + "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json" + } + } + }, + "delete": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Delete", + "description": "Deletes a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk encryption set is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a disk encryption set.": { + "$ref": "./examples/DeleteADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListByResourceGroup", + "description": "Lists all the disk encryption sets under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a resource group.": { + "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_List", + "description": "Lists all the disk encryption sets under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a subscription.": { + "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListAssociatedResources", + "description": "Lists all resources that are encrypted with this disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceUriList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all resources that are encrypted with this disk encryption set.": { + "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_CreateOrUpdate", + "description": "Creates or updates a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "disk access object supplied in the body of the Put disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk access resource.": { + "$ref": "./examples/CreateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Update", + "description": "Updates (patches) a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccessUpdate" + }, + "description": "disk access object supplied in the body of the Patch disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk access resource.": { + "$ref": "./examples/UpdateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Get", + "description": "Gets information about a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk access resource.": { + "$ref": "./examples/GetInformationAboutADiskAccess.json" + }, + "Get information about a disk access resource with private endpoints.": { + "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Delete", + "description": "Deletes a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk access resource is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a disk access resource.": { + "$ref": "./examples/DeleteADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListByResourceGroup", + "description": "Lists all the disk access resources under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a resource group.": { + "$ref": "./examples/ListDiskAccessesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_List", + "description": "Lists all the disk access resources under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a subscription.": { + "$ref": "./examples/ListDiskAccessesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "List all possible private link resources under disk access resource.": { + "$ref": "./examples/GetDiskAccessPrivateLinkResources.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "Disk": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + }, + "managedByExtended": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "sku": { + "$ref": "#/definitions/DiskSku" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Logical zone list for Disk." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Disk resource." + }, + "DiskUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/DiskSku" + } + }, + "description": "Disk update resource." + }, + "DiskList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "A list of disks." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks." + } + }, + "required": [ + "value" + ], + "description": "The List Disks operation response." + }, + "DiskSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ], + "x-ms-enum": { + "name": "DiskStorageAccountTypes", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + }, + { + "value": "UltraSSD_LRS", + "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads." + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "SnapshotSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ], + "x-ms-enum": { + "name": "SnapshotStorageAccountTypes", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage" + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage" + }, + { + "value": "Standard_ZRS", + "description": "Standard zone redundant storage" + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "DiskProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the disk." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "shareInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareInfoElement" + }, + "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "SnapshotProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the snapshot was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the snapshot." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "incremental": { + "type": "boolean", + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "ShareInfoElement": { + "properties": { + "vmUri": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + } + } + }, + "EncryptionSetProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "The key vault key which is currently used by this disk encryption set." + }, + "previousKeys": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk encryption set provisioning state." + } + } + }, + "EncryptionSettingsCollection": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + }, + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "properties": { + "diskEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndSecretReference", + "description": "Key Vault Secret Url and vault id of the disk encryption key" + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key." + } + }, + "description": "Encryption settings for one disk volume." + }, + "KeyVaultAndSecretReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "KeyVaultAndKeyReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "SourceVault": { + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "EncryptionType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "EncryptionType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithPlatformKey", + "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets." + }, + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "DiskEncryptionSetType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "Encryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "$ref": "#/definitions/EncryptionType" + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "NetworkAccessPolicy": { + "type": "string", + "description": "Policy for accessing the disk via network.", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ], + "x-ms-enum": { + "name": "NetworkAccessPolicy", + "modelAsString": true, + "values": [ + { + "value": "AllowAll", + "description": "The disk can be exported or uploaded to from any network." + }, + { + "value": "AllowPrivate", + "description": "The disk can be exported or uploaded to using a DiskAccess resource's private endpoints." + }, + { + "value": "DenyAll", + "description": "The disk cannot be exported." + } + ] + } + }, + "DiskUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + } + }, + "description": "Disk resource update properties." + }, + "SnapshotUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + } + }, + "description": "Snapshot resource update properties." + }, + "DiskEncryptionSetUpdateProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference" + } + }, + "description": "disk encryption set resource update properties." + }, + "DiskState": { + "type": "string", + "description": "This enumerates the possible state of the disk.", + "readOnly": true, + "enum": [ + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "ReadyToUpload", + "ActiveUpload" + ], + "x-ms-enum": { + "name": "DiskState", + "modelAsString": true, + "values": [ + { + "value": "Unattached", + "description": "The disk is not being used and can be attached to a VM." + }, + { + "value": "Attached", + "description": "The disk is currently mounted to a running VM." + }, + { + "value": "Reserved", + "description": "The disk is mounted to a stopped-deallocated VM" + }, + { + "value": "ActiveSAS", + "description": "The disk currently has an Active SAS Uri associated with it." + }, + { + "value": "ReadyToUpload", + "description": "A disk is ready to be created by upload by requesting a write token." + }, + { + "value": "ActiveUpload", + "description": "A disk is created for upload and a write token has been issued for uploading to it." + } + ] + } + }, + "CreationData": { + "properties": { + "createOption": { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ], + "x-ms-enum": { + "name": "DiskCreateOption", + "modelAsString": true, + "values": [ + { + "value": "Empty", + "description": "Create an empty data disk of a size given by diskSizeGB." + }, + { + "value": "Attach", + "description": "Disk will be attached to a VM." + }, + { + "value": "FromImage", + "description": "Create a new disk from a platform image specified by the given imageReference or galleryImageReference." + }, + { + "value": "Import", + "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId." + }, + { + "value": "Copy", + "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId." + }, + { + "value": "Restore", + "description": "Create a new disk by copying from a backup recovery point." + }, + { + "value": "Upload", + "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk." + } + ] + }, + "description": "This enumerates the possible sources of a disk's creation." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "imageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Disk source information." + }, + "galleryImageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUniqueId": { + "readOnly": true, + "type": "string", + "description": "If this field is set, this is the unique id identifying the source of this resource." + }, + "uploadSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + }, + "logicalSectorSize": { + "type": "integer", + "format": "int32", + "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "ImageDiskReference": { + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "GrantAccessData": { + "properties": { + "access": { + "type": "string", + "enum": [ + "None", + "Read", + "Write" + ], + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "durationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time duration in seconds until the SAS access expires." + } + }, + "required": [ + "access", + "durationInSeconds" + ], + "description": "Data used for requesting a SAS." + }, + "AccessUri": { + "properties": { + "accessSAS": { + "readOnly": true, + "type": "string", + "description": "A SAS uri for accessing a disk." + } + }, + "description": "A disk access SAS uri." + }, + "Snapshot": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "Unused. Always Null." + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Snapshot resource." + }, + "SnapshotUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + } + }, + "description": "Snapshot update resource." + }, + "SnapshotList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "A list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." + } + }, + "required": [ + "value" + ], + "description": "The List Snapshots operation response." + }, + "EncryptionSetIdentity": { + "properties": { + "type": { + "type": "string", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetIdentityType", + "modelAsString": true + }, + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity" + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity" + } + }, + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "DiskEncryptionSet": { + "properties": { + "identity": { + "$ref": "#/definitions/EncryptionSetIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EncryptionSetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "disk encryption set resource." + }, + "DiskEncryptionSetUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskEncryptionSetUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "disk encryption set update resource." + }, + "DiskEncryptionSetList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "A list of disk encryption sets." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets." + } + }, + "required": [ + "value" + ], + "description": "The List disk encryption set operation response." + }, + "ResourceUriList": { + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources." + } + }, + "required": [ + "value" + ], + "description": "The List resources which are encrypted with the disk encryption set." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "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." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/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 DiskAccess and Virtual Network." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection type" + } + }, + "description": "The Private Endpoint Connection resource." + }, + "DiskAccessProperties": { + "properties": { + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk access resource provisioning state." + }, + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk access was created." + } + } + }, + "DiskAccess": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskAccessProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "disk access resource." + }, + "DiskAccessList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "A list of disk access resources." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources." + } + }, + "required": [ + "value" + ], + "description": "The List disk access operation response." + }, + "DiskAccessUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a disk access resource." + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private link resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private link resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private link resource type" + } + }, + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "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 DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "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." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "DiskNameParameter": { + "name": "diskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "SnapshotNameParameter": { + "name": "snapshotName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskEncryptionSetNameParameter": { + "name": "diskEncryptionSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskAccessNameParameter": { + "name": "diskAccessName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json new file mode 100644 index 000000000000..e0eb2d326d00 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "location": "West US" + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskAccess", + "location": "West US", + "type": "Microsoft.Compute/diskAccesses" + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json new file mode 100644 index 000000000000..fbd1a70c3541 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json new file mode 100644 index 000000000000..f7e4e41bdd8c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..589a24e6fc0d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..a3776d835c85 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json new file mode 100644 index 000000000000..7a05366bc472 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json new file mode 100644 index 000000000000..68922f429d08 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk2", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json new file mode 100644 index 000000000000..95857a36f193 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json new file mode 100644 index 000000000000..934ee8105dae --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json new file mode 100644 index 000000000000..ef1e7cffc76d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "sku": { + "name": "UltraSSD_LRS" + }, + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json new file mode 100644 index 000000000000..1f5a6c842eed --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..4938448c4452 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot1", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..5a74852eb5e5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot1", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json new file mode 100644 index 000000000000..dad908891df8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot2", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "200": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json new file mode 100644 index 000000000000..07b205ae4e1a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json new file mode 100644 index 000000000000..8b2a0672cdda --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskAccessName": "myDiskAccess", + "api-version": "2020-06-30" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json new file mode 100644 index 000000000000..7110b2621858 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskEncryptionSetName": "myDiskEncryptionSet", + "api-version": "2020-06-30" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json new file mode 100644 index 000000000000..81224cffb7dc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateLinkResources/disks", + "name": "disks", + "type": "Microsoft.Compute/diskAccesses/privateLinkResources", + "properties": { + "groupId": "disks", + "requiredMembers": [ + "diskAccess_1" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json new file mode 100644 index 000000000000..241f0a434455 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json new file mode 100644 index 000000000000..675516844252 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json new file mode 100644 index 000000000000..096dbf8c6f25 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json new file mode 100644 index 000000000000..7b81ebdf8901 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myManagedDisk" + }, + "responses": { + "200": { + "body": { + "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec", + "sku": { + "name": "Standard_LRS" + }, + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.079872+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json new file mode 100644 index 000000000000..be9a074a1295 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 100, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.079872+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot", + "name": "mySnapshot" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json new file mode 100644 index 000000000000..6b4fd51a4884 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json new file mode 100644 index 000000000000..61e8dc0b8396 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json new file mode 100644 index 000000000000..a6ce0eb683d7 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet" + }, + "responses": { + "200": { + "body": { + "value": [ + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json new file mode 100644 index 000000000000..6dfbba43554d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json new file mode 100644 index 000000000000..00713b44d520 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json new file mode 100644 index 000000000000..f74e45c654c0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk2" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk3" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json new file mode 100644 index 000000000000..459fe55fd6d9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1", + "name": "myManagedDisk1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2", + "name": "myManagedDisk2" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3", + "name": "myManagedDisk3" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json new file mode 100644 index 000000000000..0874439e3ab8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot", + "name": "mySnapshot" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json new file mode 100644 index 000000000000..d7c9b1c683bc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:47:30.6630569+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1", + "name": "mySnapshot1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:47:30.3247198+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2", + "name": "mySnapshot2" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json new file mode 100644 index 000000000000..c7a4b67d60c4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json new file mode 100644 index 000000000000..e224ff0d64bf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json new file mode 100644 index 000000000000..9a3a372e812d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "properties": { + "networkAccessPolicy": "AllowAll" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..81b6c3e59c77 --- /dev/null +++ b/specification/compute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,308 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerservice-2017-01-31 + - tag: schema-containerservice-2016-09-30 + - tag: schema-containerservice-2016-03-30 + - tag: schema-containerservice-2015-11-01-preview + - tag: schema-compute-2020-09-30 + - tag: schema-compute-2020-06-30 + - tag: schema-compute-2020-06-01 + - tag: schema-compute-2020-05-01 + - tag: schema-compute-2019-12-01 + - tag: schema-compute-2019-11-01 + - tag: schema-compute-2019-07-01 + - tag: schema-compute-2019-04-01 + - tag: schema-compute-2019-03-01 + - tag: schema-compute-2018-10-01 + - tag: schema-compute-2018-09-30 + - tag: schema-compute-2018-06-01 + - tag: schema-compute-2018-04-01 + - tag: schema-compute-2017-12-01 + - tag: schema-compute-2017-09-01 + - tag: schema-compute-2017-03-30 + - tag: schema-compute-2016-04-30-preview + - tag: schema-compute-2016-03-30 + - tag: schema-compute-2015-06-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerservice-2017-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-01-31/containerService.json + +``` + +### Tag: schema-containerservice-2016-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-09-30/containerService.json + +``` + +### Tag: schema-containerservice-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-03-30/containerService.json + +``` + +### Tag: schema-containerservice-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json + +``` + +### Tag: schema-compute-2020-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/preview/2020-09-30/gallery.json + - Microsoft.Compute/preview/2020-09-30/sharedGallery.json + +``` + +### Tag: schema-compute-2020-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-06-30/disk.json + +``` + +### Tag: schema-compute-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-06-01/compute.json + - Microsoft.Compute/stable/2020-06-01/runCommands.json + +``` + +### Tag: schema-compute-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-05-01/disk.json + +``` + +### Tag: schema-compute-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-12-01/gallery.json + - Microsoft.Compute/stable/2019-12-01/compute.json + - Microsoft.Compute/stable/2019-12-01/runCommands.json + +``` + +### Tag: schema-compute-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-11-01/disk.json + +``` + +### Tag: schema-compute-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-07-01/compute.json + - Microsoft.Compute/stable/2019-07-01/runCommands.json + - Microsoft.Compute/stable/2019-07-01/gallery.json + - Microsoft.Compute/stable/2019-07-01/disk.json + +``` + +### Tag: schema-compute-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-04-01/skus.json + +``` + +### Tag: schema-compute-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-03-01/compute.json + - Microsoft.Compute/stable/2019-03-01/runCommands.json + - Microsoft.Compute/stable/2019-03-01/disk.json + - Microsoft.Compute/stable/2019-03-01/gallery.json + +``` + +### Tag: schema-compute-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-10-01/compute.json + - Microsoft.Compute/stable/2018-10-01/runCommands.json + +``` + +### Tag: schema-compute-2018-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-09-30/disk.json + +``` + +### Tag: schema-compute-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-06-01/gallery.json + - Microsoft.Compute/stable/2018-06-01/disk.json + - Microsoft.Compute/stable/2018-06-01/compute.json + - Microsoft.Compute/stable/2018-06-01/runCommands.json + +``` + +### Tag: schema-compute-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-04-01/compute.json + - Microsoft.Compute/stable/2018-04-01/runCommands.json + - Microsoft.Compute/stable/2018-04-01/disk.json + +``` + +### Tag: schema-compute-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-12-01/compute.json + - Microsoft.Compute/stable/2017-12-01/runCommands.json + +``` + +### Tag: schema-compute-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-09-01/skus.json + +``` + +### Tag: schema-compute-2017-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-03-30/disk.json + - Microsoft.Compute/stable/2017-03-30/compute.json + - Microsoft.Compute/stable/2017-03-30/runCommands.json + +``` + +### Tag: schema-compute-2016-04-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2016-04-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/preview/2016-04-30-preview/compute.json + - Microsoft.Compute/preview/2016-04-30-preview/disk.json + +``` + +### Tag: schema-compute-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2016-03-30/compute.json + +``` + +### Tag: schema-compute-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2015-06-15/compute.json + +``` diff --git a/specification/compute/resource-manager/readme.csharp.md b/specification/compute/resource-manager/readme.csharp.md index 3e85a94bd63f..8cb171aff28e 100644 --- a/specification/compute/resource-manager/readme.csharp.md +++ b/specification/compute/resource-manager/readme.csharp.md @@ -94,3 +94,15 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Compute/Management.Comput batch: - tag: profile-hybrid-2019-03-01 ``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Compute +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Compute/Management.Compute/Generated + +batch: + - tag: profile-hybrid-2020-09-01 + ``` \ No newline at end of file diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md index 561571b385b6..8ef9b3f63da9 100644 --- a/specification/compute/resource-manager/readme.go.md +++ b/specification/compute/resource-manager/readme.go.md @@ -31,6 +31,7 @@ directive: ```yaml $(go) && $(multiapi) batch: + - tag: package-2020-06-30 - tag: package-2020-06-01 - tag: package-2019-12-01 - tag: package-2019-07 @@ -50,6 +51,16 @@ batch: - tag: package-container-service-2015-11-preview ``` +### Tag: package-2020-06-30 and go + +These settings apply only when `--tag=package-2020-06-30 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag)=='package-2020-06-30' && $(go) +namespace: compute +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-30/$(namespace) +``` + ### Tag: package-2020-06-01 and go These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line. diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index ffe6a70bb98a..5bc5b1ffc8e6 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -34,7 +34,7 @@ These are the global settings for the Compute API. title: ComputeManagementClient description: Compute Client openapi-type: arm -tag: package-2020-06-01 +tag: package-2020-09-30 directive: - where: @@ -209,6 +209,53 @@ directive: - ACS service is deprecated so a PATCH endpoint won't be implemented ``` +### Tag: package-2020-09-30 + +These settings apply only when `--tag=package-2020-09-30` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-30' +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/2020-06-30/disk.json +- Microsoft.Compute/preview/2020-09-30/gallery.json +- Microsoft.Compute/preview/2020-09-30/sharedGallery.json +- Microsoft.ContainerService/stable/2017-01-31/containerService.json +``` + +### Tag: package-2020-09-30-only + +These settings apply only when `--tag=package-2020-09-30-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-30-only' +input-file: +- Microsoft.Compute/preview/2020-09-30/gallery.json +- Microsoft.Compute/preview/2020-09-30/sharedGallery.json +``` + +### Tag: package-2020-06-30 + +These settings apply only when `--tag=package-2020-06-30` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30' +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/2020-06-30/disk.json +- Microsoft.Compute/stable/2019-12-01/gallery.json +- Microsoft.ContainerService/stable/2017-01-31/containerService.json +``` + +### Tag: package-2020-06-30-only + +These settings apply only when `--tag=package-2020-06-30-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30-only' +input-file: +- Microsoft.Compute/stable/2020-06-30/disk.json +``` ### Tag: package-2020-06-01 @@ -712,6 +759,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_compute'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js compute/resource-manager ``` ## Go @@ -736,12 +786,26 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-compute ```yaml $(java) && $(multiapi) batch: + - tag: package-2020-06-01 - tag: package-disks-2018-04 - tag: package-compute-only-2017-12 - tag: package-skus-2017-09 - tag: package-compute-2017-03 ``` +### Tag: package-2020-06-01 and java + +These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-06-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.compute.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/compute/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-disks-2018-04 and java These settings apply only when `--tag=package-disks-2018-04 --java` is specified on the command line. @@ -805,66 +869,17 @@ input-file: - Microsoft.Compute/stable/2017-03-30/disk.json ``` -## 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.Compute/stable/2020-06-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2020-06-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json - - $(this-folder)/Microsoft.Compute/stable/2020-05-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json - - $(this-folder)/Microsoft.Compute/stable/2019-12-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2019-12-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2019-11-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2019-07-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2019-07-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2019-07-01/gallery.json - - $(this-folder)/Microsoft.Compute/stable/2019-07-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2019-03-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2019-03-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2019-03-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2019-03-01/gallery.json - - $(this-folder)/Microsoft.Compute/stable/2018-10-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2018-10-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2017-09-01/skus.json - - $(this-folder)/Microsoft.Compute/stable/2018-09-30/disk.json - - $(this-folder)/Microsoft.Compute/stable/2018-06-01/gallery.json - - $(this-folder)/Microsoft.Compute/stable/2018-06-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2018-06-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2018-06-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2018-04-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2018-04-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2018-04-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2017-12-01/compute.json - - $(this-folder)/Microsoft.Compute/stable/2017-12-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2017-03-30/disk.json - - $(this-folder)/Microsoft.Compute/stable/2017-03-30/compute.json - - $(this-folder)/Microsoft.Compute/stable/2017-03-30/runCommands.json - - $(this-folder)/Microsoft.ContainerService/stable/2016-09-30/containerService.json - - $(this-folder)/Microsoft.Compute/preview/2016-04-30-preview/compute.json - - $(this-folder)/Microsoft.Compute/preview/2016-04-30-preview/disk.json - - $(this-folder)/Microsoft.Compute/stable/2016-03-30/compute.json - - $(this-folder)/Microsoft.ContainerService/stable/2016-03-30/containerService.json - - $(this-folder)/Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json - - $(this-folder)/Microsoft.Compute/stable/2015-06-15/compute.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 +### 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.Compute/stable/2020-06-01/compute.json +- Microsoft.Compute/stable/2019-07-01/disk.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) \ No newline at end of file diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index 5d0b014f83e8..8dc4338cd615 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -44,6 +44,8 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-09-30-only + - tag: package-2020-06-30-only - tag: package-2020-06-01-only - tag: package-2020-05-01-only - tag: package-2019-12-01-only @@ -66,6 +68,8 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-09-30-only + - tag: package-2020-06-30-only - tag: package-2020-06-01-only - tag: package-2020-05-01-only - tag: package-2019-12-01-only @@ -92,6 +96,32 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-09-30-only and python + +These settings apply only when `--tag=package-2020-09-30-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-09-30-only' +namespace: azure.mgmt.compute.v2020_09_30 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30 +python: + namespace: azure.mgmt.compute.v2020_09_30 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_09_30 +``` + +### Tag: package-2020-06-30-only and python + +These settings apply only when `--tag=package-2020-06-30-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06-30-only' +namespace: azure.mgmt.compute.v2020_06_30 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30 +python: + namespace: azure.mgmt.compute.v2020_06_30 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30 +``` + ### Tag: package-2020-06-01-only and python These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line. diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json new file mode 100644 index 000000000000..029e2e3e1de3 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json @@ -0,0 +1,719 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Confluent", + "version": "2020-03-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + } + } + }, + "definitions": { + "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" + } + } + }, + "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", + "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", + "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", + "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" + }, + "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", + "allOf": [ + { + "$ref": "#/definitions/OfferDetail" + } + ] + }, + "userDetail": { + "description": "Subscriber detail", + "allOf": [ + { + "$ref": "#/definitions/UserDetail" + } + ] + } + } + }, + "OrganizationResource": { + "description": "Organization resource.", + "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 resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Organization resource properties", + "allOf": [ + { + "$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": [ + "2020-03-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/2020-03-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json new file mode 100644 index 000000000000..cf08589e54db --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/OrganizationOperations_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Confluent/organizations/Read", + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Get/List organization resources", + "description": "Read organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Write", + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Create/Update organization resources", + "description": "Write organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Delete", + "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/2020-03-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json new file mode 100644 index 000000000000..43c399cb2428 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Create.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-03-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", + "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/2020-03-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json new file mode 100644 index 000000000000..9621d3e6929b --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-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/2020-03-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json new file mode 100644 index 000000000000..881c6de0d126 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-03-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", + "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/2020-03-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json new file mode 100644 index 000000000000..8f8df808e8af --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-03-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/2020-03-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json new file mode 100644 index 000000000000..77d8875f22c1 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_ListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-03-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/2020-03-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json new file mode 100644 index 000000000000..ced813639343 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2020-03-01-preview/examples/Organization_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-03-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", + "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/readme.azureresourceschema.md b/specification/confluent/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4fd32b215793 --- /dev/null +++ b/specification/confluent/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-confluent-2020-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-confluent-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-confluent-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Confluent/preview/2020-03-01-preview/confluent.json + +``` diff --git a/specification/confluent/resource-manager/readme.csharp.md b/specification/confluent/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..6ce99f227179 --- /dev/null +++ b/specification/confluent/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 + namespace: Microsoft.Azure.Management.Confluent + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/confluent/Microsoft.Azure.Management.Confluent/src/Generated + clear-output-folder: true +``` \ No newline at end of file diff --git a/specification/confluent/resource-manager/readme.go.md b/specification/confluent/resource-manager/readme.go.md new file mode 100644 index 000000000000..11ba4585bdff --- /dev/null +++ b/specification/confluent/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 + namespace: confluent + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview and go + +These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/confluent/resource-manager/readme.java.md b/specification/confluent/resource-manager/readme.java.md new file mode 100644 index 000000000000..77fc8ec919e6 --- /dev/null +++ b/specification/confluent/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +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.confluent +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-confluent +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview and java + +These settings apply only when `--tag=package-2020-03-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-03-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.confluent.v2020_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/confluent/mgmt-v2020_03_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md new file mode 100644 index 000000000000..abc71a674bb0 --- /dev/null +++ b/specification/confluent/resource-manager/readme.md @@ -0,0 +1,122 @@ +# Confluent + +> see https://aka.ms/autorest + +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` + +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-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview + +These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-03-01-preview' +input-file: +- Microsoft.Confluent/preview/2020-03-01-preview/confluent.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 + - 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-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_confluent'] + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js confluent/resource-manager +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## Node.js + +See configuration in [readme.nodejs.md](./readme.nodejs.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) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.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.Confluent/preview/2020-03-01-preview/confluent.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/confluent/resource-manager/readme.nodejs.md b/specification/confluent/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..340d54169ee4 --- /dev/null +++ b/specification/confluent/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-confluent + output-folder: $(node-sdks-folder)/lib/services/confluentManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/confluent/resource-manager/readme.python.md b/specification/confluent/resource-manager/readme.python.md new file mode 100644 index 000000000000..e26460adc6cc --- /dev/null +++ b/specification/confluent/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=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) && !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.confluent + package-name: azure-mgmt-confluent + package-version: 1.0.0b1 + clear-output-folder: true +``` +``` yaml $(python) && $(track2) +python-mode: create +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +payload-flattening-threshold: 2 +namespace: azure.mgmt.confluent +package-name: azure-mgmt-confluent +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-confluent/azure/mgmt/confluent +no-namespace-folders: true +output-folder: $(python-sdks-folder)/azure-mgmt-confluent/azure/mgmt/confluent +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt-confluent +basic-setup-py: true +output-folder: $(python-sdks-folder)/azure-mgmt-confluent +``` \ No newline at end of file diff --git a/specification/confluent/resource-manager/readme.ruby.md b/specification/confluent/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..44c50b6d016c --- /dev/null +++ b/specification/confluent/resource-manager/readme.ruby.md @@ -0,0 +1,26 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_confluent +package-version: 2020-03-01-preview +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview and ruby + +These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-03-01-preview' && $(ruby) +namespace: Microsoft.Confluent +output-folder: $(ruby-sdks-folder)/confluent +``` \ No newline at end of file diff --git a/specification/confluent/resource-manager/readme.typescript.md b/specification/confluent/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..408cc2d9b895 --- /dev/null +++ b/specification/confluent/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: "@azure/arm-confluent" + output-folder: "$(typescript-sdks-folder)/sdk/confluent/arm-confluent" + clear-output-folder: true + generate-metadata: true +``` \ No newline at end of file diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json index 071d5f14e011..ee96fd1212d6 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json @@ -792,6 +792,9 @@ }, "ReservationSummariesMonthlyWithBillingProfileId": { "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileId.json" + }, + "ReservationSummariesMonthlyWithBillingProfileIdReservationId": { + "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json" } }, "parameters": [ @@ -824,6 +827,22 @@ "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" } @@ -868,7 +887,7 @@ }, { "name": "$filter", - "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ", + "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" @@ -964,6 +983,9 @@ }, "ReservationDetailsByBillingProfileId": { "$ref": "./examples/ReservationDetailsByBillingProfileId.json" + }, + "ReservationDetailsByBillingProfileIdReservationId": { + "$ref": "./examples/ReservationDetailsByBillingProfileIdReservationId.json" } }, "parameters": [ @@ -993,6 +1015,22 @@ "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" } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json new file mode 100644 index 000000000000..b6c7a8324acf --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-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/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json new file mode 100644 index 000000000000..4d7621b008d8 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-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/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cdf86806a081 --- /dev/null +++ b/specification/consumption/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,204 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-consumption-2019-10-01 + - tag: schema-consumption-2019-06-01 + - tag: schema-consumption-2019-05-01-preview + - tag: schema-consumption-2019-05-01 + - tag: schema-consumption-2019-04-01-preview + - tag: schema-consumption-2019-01-01 + - tag: schema-consumption-2018-11-01-preview + - tag: schema-consumption-2018-10-01 + - tag: schema-consumption-2018-08-31 + - tag: schema-consumption-2018-06-30 + - tag: schema-consumption-2018-05-31 + - tag: schema-consumption-2018-03-31 + - tag: schema-consumption-2018-01-31 + - tag: schema-consumption-2017-12-30-preview + - tag: schema-consumption-2017-11-30 + - tag: schema-consumption-2017-04-24-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-consumption-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-10-01/consumption.json + +``` + +### Tag: schema-consumption-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-06-01/consumption.json + +``` + +### Tag: schema-consumption-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2019-05-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-05-01/consumption.json + +``` + +### Tag: schema-consumption-2019-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2019-04-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-01-01/consumption.json + +``` + +### Tag: schema-consumption-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-10-01/consumption.json + +``` + +### Tag: schema-consumption-2018-08-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-08-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-08-31/consumption.json + +``` + +### Tag: schema-consumption-2018-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-06-30/consumption.json + +``` + +### Tag: schema-consumption-2018-05-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-05-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-05-31/consumption.json + +``` + +### Tag: schema-consumption-2018-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-03-31/consumption.json + +``` + +### Tag: schema-consumption-2018-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-01-31/consumption.json + +``` + +### Tag: schema-consumption-2017-12-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-12-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2017-12-30-preview/consumption.json + +``` + +### Tag: schema-consumption-2017-11-30 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-11-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2017-11-30/consumption.json + +``` + +### Tag: schema-consumption-2017-04-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-04-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2017-04-24-preview/consumption.json + +``` diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md index 2cd5284033ad..a0de97215d8d 100644 --- a/specification/consumption/resource-manager/readme.go.md +++ b/specification/consumption/resource-manager/readme.go.md @@ -22,8 +22,17 @@ batch: - tag: package-2018-08 - tag: package-2018-10 - tag: package-2019-01 + - tag: package-2019-10 ``` +### Tag: package-2019-10 and go + +These settings apply only when `--tag=package-2019-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-10' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-10-01/$(namespace) +``` ### Tag: package-2017-04-preview and go diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md index 645375a2b3dd..575e341b41c9 100644 --- a/specification/consumption/resource-manager/readme.md +++ b/specification/consumption/resource-manager/readme.md @@ -219,6 +219,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js consumption/resource-manager ``` ## C# @@ -404,41 +407,7 @@ regenerate-manager: true 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! +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Consumption/stable/2019-10-01/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2019-06-01/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2019-05-01/consumption.json - - $(this-folder)/Microsoft.Consumption/preview/2019-05-01-preview/consumption.json - - $(this-folder)/Microsoft.Consumption/preview/2019-04-01-preview/consumption.json - - $(this-folder)/Microsoft.Consumption/preview/2018-11-01-preview/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2019-01-01/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2017-11-30/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-01-31/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-03-31/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-05-31/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-06-30/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-08-31/consumption.json - - $(this-folder)/Microsoft.Consumption/stable/2018-10-01/consumption.json - - $(this-folder)/Microsoft.Consumption/preview/2017-04-24-preview/consumption.json - - $(this-folder)/Microsoft.Consumption/preview/2017-12-30-preview/consumption.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/containerinstance/resource-manager/readme.azureresourceschema.md b/specification/containerinstance/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..60456759fd2a --- /dev/null +++ b/specification/containerinstance/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerinstance-2019-12-01 + - tag: schema-containerinstance-2018-10-01 + - tag: schema-containerinstance-2018-09-01 + - tag: schema-containerinstance-2018-06-01 + - tag: schema-containerinstance-2018-04-01 + - tag: schema-containerinstance-2018-02-01-preview + - tag: schema-containerinstance-2017-12-01-preview + - tag: schema-containerinstance-2017-10-01-preview + - tag: schema-containerinstance-2017-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerinstance-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json + +``` diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md index 0aa15d6d6fee..f2c0f633cb1a 100644 --- a/specification/containerinstance/resource-manager/readme.md +++ b/specification/containerinstance/resource-manager/readme.md @@ -140,6 +140,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerinstance/resource-manager ``` ## C# @@ -171,34 +174,7 @@ See configuration in [readme.ruby.md](./readme.ruby.md) 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! +## AzureResourceSchema -``` 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.ContainerInstance/stable/2019-12-01/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json - - $(this-folder)/Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/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 8f4a653587c2..33c8f670d108 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 @@ -382,6 +382,9 @@ }, "Registries_ScheduleRun_WithCustomCredentials": { "$ref": "./examples/RegistriesScheduleRun_WithCustomCredentials.json" + }, + "Registries_ScheduleRun_WithLogTemplate": { + "$ref": "./examples/RegistriesScheduleRun_WithLogTemplate.json" } } } @@ -1154,6 +1157,9 @@ }, "Tasks_Create_WithUserIdentities": { "$ref": "./examples/ManagedIdentity/TasksCreate_WithUserIdentities.json" + }, + "Tasks_Create_QuickTask": { + "$ref": "./examples/TasksCreate_QuickTask.json" } } }, @@ -1269,6 +1275,9 @@ }, "Tasks_Update_WithOpaqueCustomCredentials": { "$ref": "./examples/TasksUpdate_WithOpaqueCustomCredentials.json" + }, + "Tasks_Update_QuickTask": { + "$ref": "./examples/TasksUpdate_QuickTask.json" } } } @@ -1459,6 +1468,10 @@ "agentPoolName": { "description": "The dedicated agent pool for the run.", "type": "string" + }, + "logTemplate": { + "description": "The template that describes the repository and tag information for run log artifact.", + "type": "string" } }, "discriminator": "type" @@ -1594,6 +1607,11 @@ "description": "The update trigger token passed for the Run.", "type": "string" }, + "logArtifact": { + "$ref": "#/definitions/ImageDescriptor", + "description": "The image description for the log artifact.", + "readOnly": true + }, "provisioningState": { "description": "The provisioning state of a run.", "enum": [ @@ -2095,10 +2113,6 @@ }, "TaskProperties": { "description": "The properties of a task.", - "required": [ - "platform", - "step" - ], "type": "object", "properties": { "provisioningState": { @@ -2167,6 +2181,15 @@ "credentials": { "$ref": "#/definitions/Credentials", "description": "The properties that describes a set of credentials that will be used when this run is invoked." + }, + "logTemplate": { + "description": "The template that describes the repository and tag information for run log artifact.", + "type": "string" + }, + "isSystemTask": { + "description": "The value of this property indicates whether the task resource is system task or not.", + "default": false, + "type": "boolean" } } }, @@ -2614,6 +2637,10 @@ "credentials": { "$ref": "#/definitions/Credentials", "description": "The parameters that describes a set of credentials that will be used when this run is invoked." + }, + "logTemplate": { + "description": "The template that describes the repository and tag information for run log artifact.", + "type": "string" } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json index 98a8d6b98259..c19f52749dc3 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json @@ -67,7 +67,9 @@ "updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo", "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "location": "eastus", "identity": { @@ -141,7 +143,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -222,7 +226,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json index eeeb532c2556..d17ccca5c89f 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json @@ -65,7 +65,9 @@ "name": "myBaseImageTrigger", "baseImageTriggerType": "Runtime" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "location": "eastus", "identity": { @@ -134,7 +136,9 @@ "status": "Enabled", "baseImageTriggerType": "Runtime" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -207,7 +211,9 @@ "status": "Enabled", "baseImageTriggerType": "Runtime" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json index 06577bf137e2..faf70131a4de 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json @@ -67,7 +67,9 @@ "updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo", "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "location": "eastus", "identity": { @@ -142,7 +144,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -225,7 +229,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Default" } - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json index edbd95c29df8..50ecf2ddaab9 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json @@ -48,7 +48,8 @@ "identity": "[system]" } } - } + }, + "logTemplate": null }, "tags": { "testkey": "value" @@ -121,7 +122,8 @@ "myregistry.azurecr.io": null }, "sourceRegistry": null - } + }, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -202,7 +204,8 @@ "myregistry.azurecr.io": null }, "sourceRegistry": null - } + }, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json index fc5ca27f5bcd..031821d89740 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json @@ -40,7 +40,8 @@ "identity": "[system]" } } - } + }, + "logTemplate": null }, "tags": { "testkey": "value" @@ -111,7 +112,8 @@ "myregistry.azure.io": null }, "sourceRegistry": null - } + }, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -190,7 +192,8 @@ "myregistry.azure.io": null }, "sourceRegistry": null - } + }, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json new file mode 100644 index 000000000000..5f78b70041b5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RegistriesScheduleRun_WithLogTemplate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "api-version": "2019-06-01-preview", + "runRequest": { + "type": "DockerBuildRequest", + "isArchiveEnabled": true, + "imageNames": [ + "azurerest:testtag" + ], + "noCache": true, + "sourceLocation": "https://myaccount.blob.core.windows.net/sascontainer/source.zip?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D", + "arguments": [ + { + "name": "mytestargument", + "value": "mytestvalue", + "isSecret": false + }, + { + "name": "mysecrettestargument", + "value": "mysecrettestvalue", + "isSecret": true + } + ], + "isPushEnabled": true, + "platform": { + "os": "Linux", + "architecture": "amd64" + }, + "agentConfiguration": { + "cpu": 2 + }, + "dockerFilePath": "DockerFile", + "logTemplate": "acr/tasks:{{.Run.OS}}" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "runId": "0accec26-d6de-4757-8e74-d080f38eaaab", + "status": "Succeeded", + "lastUpdatedTime": "2018-01-25T05:13:51.617Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab", + "name": "0accec26-d6de-4757-8e74-d080f38eaaab", + "type": "Microsoft.ContainerRegistry/registries/run" + } + }, + "202": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json index cd6d56392ffd..5df1bb3606f4 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsGet.json @@ -46,6 +46,12 @@ }, "agentConfiguration": { "cpu": 2 + }, + "logArtifact": { + "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0", + "registry": "myregistry", + "repository": "acr/tasks", + "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log" } }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json index 08cf3291f7c3..59743c38a91d 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsList.json @@ -49,6 +49,12 @@ }, "agentConfiguration": { "cpu": 2 + }, + "logArtifact": { + "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0", + "registry": "myregistry", + "repository": "acr/tasks", + "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log" } }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json index 67554f360bd5..a6f2cc6fbbcb 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/RunsUpdate.json @@ -49,6 +49,12 @@ }, "agentConfiguration": { "cpu": 2 + }, + "logArtifact": { + "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0", + "registry": "myregistry", + "repository": "acr/tasks", + "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log" } }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab", @@ -95,6 +101,12 @@ }, "agentConfiguration": { "cpu": 2 + }, + "logArtifact": { + "digest": "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0", + "registry": "myregistry", + "repository": "acr/tasks", + "tag": "mytask-0accec26-d6de-4757-8e74-d080f38eaaab-log" } }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json index 6200b73c0b1e..059a023711c4 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate.json @@ -67,7 +67,9 @@ "updateTriggerEndpoint": "https://user:pass@mycicd.webhook.com?token=foo", "updateTriggerPayloadType": "Token" } - } + }, + "isSystemTask": false, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "location": "eastus", "identity": { @@ -138,7 +140,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Token" } - } + }, + "isSystemTask": false, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -213,7 +217,9 @@ "updateTriggerEndpoint": null, "updateTriggerPayloadType": "Token" } - } + }, + "isSystemTask": false, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json new file mode 100644 index 000000000000..1766aa626b10 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksCreate_QuickTask.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "api-version": "2019-06-01-preview", + "taskName": "quicktask", + "taskCreateParameters": { + "properties": { + "status": "Enabled", + "isSystemTask": true, + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "location": "eastus", + "identity": null, + "tags": { + "testkey": "value" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-01-25T06:54:23.536Z", + "status": "Enabled", + "platform": null, + "agentConfiguration": null, + "trigger": null, + "isSystemTask": true, + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", + "name": "quicktask", + "type": "Microsoft.ContainerRegistry/registries/tasks", + "location": "eastus", + "identity": null, + "tags": { + "testkey": "value" + } + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "creationDate": "2018-01-25T06:54:23.536Z", + "status": "Enabled", + "platform": null, + "agentConfiguration": null, + "trigger": null, + "isSystemTask": true, + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", + "name": "quicktask", + "type": "Microsoft.ContainerRegistry/registries/tasks", + "location": "eastus", + "identity": null, + "tags": { + "testkey": "value" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json index 35233c27670d..76a4c616f2d7 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGet.json @@ -72,7 +72,9 @@ "myregistry.azure.io": null }, "sourceRegistry": null - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json index a68531461844..c10ac1068236 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksGetDetails.json @@ -89,7 +89,9 @@ } }, "sourceRegistry": null - } + }, + "isSystemTask": false, + "logTemplate": null }, "location": "eastus", "identity": { diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json index f76332bc0790..0953671b5f8a 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksList.json @@ -73,7 +73,9 @@ "myRegistry.azure.io": null }, "sourceRegistry": null - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json index fb0e6621cb2e..bcc5d2966d67 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate.json @@ -48,7 +48,8 @@ "identity": "[system]" } } - } + }, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "tags": { "testkey": "value" @@ -121,7 +122,8 @@ "myregistry.azurecr.io": null }, "sourceRegistry": null - } + }, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -202,7 +204,8 @@ "myregistry.azurecr.io": null }, "sourceRegistry": null - } + }, + "logTemplate": "acr/tasks:{{.Run.OS}}" }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json new file mode 100644 index 000000000000..7d067bad1519 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_QuickTask.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "api-version": "2019-06-01-preview", + "taskName": "quicktask", + "taskUpdateParameters": { + "properties": { + "status": "Enabled", + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "tags": { + "testkey": "value" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-01-25T06:54:23.536Z", + "status": "Enabled", + "platform": null, + "agentConfiguration": null, + "trigger": null, + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", + "name": "myTask", + "type": "Microsoft.ContainerRegistry/registries/tasks", + "location": "eastus", + "identity": null, + "tags": { + "testkey": "value" + } + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-01-25T06:54:23.536Z", + "status": "Enabled", + "platform": null, + "agentConfiguration": null, + "trigger": null, + "logTemplate": "acr/tasks:{{.Run.OS}}" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", + "name": "quicktask", + "type": "Microsoft.ContainerRegistry/registries/tasks", + "location": "eastus", + "identity": null, + "tags": { + "testkey": "value" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json index 8072e5b19b6e..70a55b828b9e 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/examples/TasksUpdate_WithOpaqueCustomCredentials.json @@ -47,7 +47,8 @@ } } } - } + }, + "logTemplate": null }, "tags": { "testkey": "value" @@ -118,7 +119,8 @@ "myregistry.azure.io": null }, "sourceRegistry": null - } + }, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", @@ -197,7 +199,9 @@ "myregistry.azure.io": null }, "sourceRegistry": null - } + }, + "isSystemTask": false, + "logTemplate": null }, "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tasks/myTask", "name": "myTask", diff --git a/specification/containerregistry/resource-manager/readme.azureresourceschema.md b/specification/containerregistry/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6668c2cecf11 --- /dev/null +++ b/specification/containerregistry/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,144 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerregistry-2019-12-01-preview + - tag: schema-containerregistry-2019-06-01-preview + - tag: schema-containerregistry-2019-05-01-preview + - tag: schema-containerregistry-2019-05-01 + - tag: schema-containerregistry-2019-04-01 + - tag: schema-containerregistry-2018-09-01 + - tag: schema-containerregistry-2018-02-01-preview + - tag: schema-containerregistry-2017-10-01 + - tag: schema-containerregistry-2017-06-01-preview + - tag: schema-containerregistry-2017-03-01 + - tag: schema-containerregistry-2016-06-27-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerregistry-2019-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json + +``` + +### Tag: schema-containerregistry-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json + +``` + +### Tag: schema-containerregistry-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json + +``` + +### Tag: schema-containerregistry-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2016-06-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2016-06-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json + +``` diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md index dc042e35dca0..7b1c94e51a3c 100644 --- a/specification/containerregistry/resource-manager/readme.md +++ b/specification/containerregistry/resource-manager/readme.md @@ -180,6 +180,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerregistry/resource-manager ``` ## C# @@ -209,36 +212,7 @@ 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! +## AzureResourceSchema -``` 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.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json - - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json - - $(this-folder)/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json - - $(this-folder)/Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json - - $(this-folder)/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json - - $(this-folder)/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json - - $(this-folder)/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json - - $(this-folder)/Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json - - $(this-folder)/Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json - - $(this-folder)/Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json - - $(this-folder)/Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json index 99afee6bcfd0..39b326850de7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json @@ -1746,7 +1746,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json index 46c3d28a4b11..49f59d3be75c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json @@ -1386,13 +1386,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1639,7 +1637,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json index 2adcf5c68ab2..c476b8355ae6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json @@ -1488,13 +1488,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1741,7 +1739,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json index c16a98053709..d336ac2148f8 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json @@ -1532,13 +1532,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1847,7 +1845,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json index b8e3358738bf..b218cd442c75 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json @@ -1575,13 +1575,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1895,7 +1893,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json index 8282d9264ca7..0be553652cb2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json @@ -1589,13 +1589,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1938,7 +1936,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json index dea09d26dea6..9052f5a6c66f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json @@ -1589,13 +1589,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1938,7 +1936,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json index 4c23040f7b7a..4572d2dec90e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json @@ -1596,13 +1596,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1957,7 +1955,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json index 894a1ab3fb3b..772ab033df01 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json @@ -1612,13 +1612,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1979,7 +1977,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json index 83b5e9e30cbb..3a813866b029 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json @@ -1630,13 +1630,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -1997,7 +1995,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json index e726cd78022b..b953c50c7963 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json @@ -1842,13 +1842,11 @@ "properties": { "adminUsername": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "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": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "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!\"" } }, "required": [ @@ -2209,7 +2207,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "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", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..ec43ba9e1863 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..a001a5428bf1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..c4fd0dc07f1e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..0341ca53c6a3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..47fd641d2059 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..f61986d807a7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..b110ebe7520f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..b2d63467a9cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..2c069e0f7d05 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "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/2020-07-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..11ec7257c46f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..d13c0a2cfdba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,236 @@ +{ + "parameters": { + "api-version": "2020-07-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", + "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", + "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/2020-07-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..ae067af5d51d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,272 @@ +{ + "parameters": { + "api-version": "2020-07-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": {}, + "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" + }, + "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", + "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" + }, + "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", + "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/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..07220a608e8d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-07-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", + "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", + "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/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..e3fd532bc1bf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2020-07-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", + "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", + "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/2020-07-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..2214600840a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..4650fbd25837 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-07-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", + "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", + "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/2020-07-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..7589ab0ac25b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..3e30bbecd4f4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..496b4f0e00ce --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..989448f5bf75 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..2cae16478490 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..93c854ac7497 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..309d53c2ab38 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..2214600840a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..69dced82c890 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..49ebb2d38eef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..805aef365f3d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..a680ac3d8ca7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..6e9dfbb9deac --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json new file mode 100644 index 000000000000..d1c2f34c1d52 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json @@ -0,0 +1,3026 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-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": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute 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 + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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.", + "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", + "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 upgrade profile for a managed cluster.", + "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "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": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/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": "Gets cluster admin credential of a managed cluster.", + "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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": "Gets cluster user credential of a managed cluster.", + "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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": "Gets cluster monitoring user credential of a managed cluster.", + "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "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.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "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/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "description": "Updates a managed cluster with the specified tags.", + "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.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "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}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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 agent pool.", + "description": "Gets the details of the agent pool by managed cluster and resource group.", + "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.", + "description": "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": "Parameters supplied to the Create or Update an agent pool operation." + } + ], + "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" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool.", + "description": "Deletes the 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 upgrade profile for an agent pool.", + "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "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 versions for the specified agent pool.", + "description": "Gets a list of supported versions for the specified agent pool.", + "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 Service Principal Profile of a managed cluster.", + "description": "Update the service principal Profile for 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/ManagedClusterServicePrincipalProfile" + }, + "description": "Parameters supplied to the Reset Service Principal Profile operation for a 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 AAD Profile of a managed cluster.", + "description": "Update the AAD Profile for 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": "Parameters supplied to the Reset AAD Profile operation for a 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": "Rotate certificates of a managed cluster.", + "description": "Rotate certificates of 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. 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}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.", + "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 private endpoint connection.", + "description": "Gets the details of the private endpoint connection by managed cluster and resource group.", + "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.", + "description": "Updates a private endpoint connection in the specified managed cluster.", + "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": "Parameters supplied to the Update a private endpoint connection operation." + } + ], + "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.", + "description": "Deletes the private endpoint connection in the specified managed cluster.", + "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": "Upgrade node image version of an agent pool to the latest.", + "description": "Upgrade node image version of an agent pool to the latest.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "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": 1023, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "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 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1." + }, + "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." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "AgentPoolType represents types of an agent pool" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "AgentPoolMode represents mode of an agent pool" + }, + "orchestratorVersion": { + "type": "string", + "description": "Version of orchestrator specified when creating the managed cluster." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "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, which only appears in the response." + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Enable public IP for nodes" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "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." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true + }, + "description": "AgentPoolType represents types of an agent pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true + }, + "description": "AgentPoolMode represents mode of an agent pool." + }, + "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", + "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default" + } + }, + "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 + }, + "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the container service 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": "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 + }, + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, + "description": "Network policy used for building Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true + }, + "description": "Network mode used for building Kubernetes network." + }, + "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" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true + }, + "default": "loadBalancer", + "description": "The outbound (egress) routing method." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true + }, + "description": "The load balancer sku for the managed cluster." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + } + }, + "description": "Profile of network configuration." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "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": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + } + }, + "description": "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. Only expect one key 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." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "FQDN of private cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "Profile for Windows VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, + "nodeResourceGroup": { + "type": "string", + "description": "Name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(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": "Profile of network configuration." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string" + }, + "scan-interval": { + "type": "string" + }, + "scale-down-delay-after-add": { + "type": "string" + }, + "scale-down-delay-after-delete": { + "type": "string" + }, + "scale-down-delay-after-failure": { + "type": "string" + }, + "scale-down-unneeded-time": { + "type": "string" + }, + "scale-down-unready-time": { + "type": "string" + }, + "scale-down-utilization-threshold": { + "type": "string" + }, + "max-graceful-termination-sec": { + "type": "string" + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "Access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "identityProfile": { + "additionalProperties": { + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "description": "Identities associated with the cluster." + } + }, + "description": "Properties of the managed cluster." + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Authorized IP Ranges to kubernetes API server." + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not." + } + }, + "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", + "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", + "enum": [ + "SystemAssigned", + "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 user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. 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 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." + } + } + }, + "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": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "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." + }, + "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": "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." + } + }, + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, + "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." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of 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": "Id of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "Properties of 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": "Kubernetes version (major, minor, patch)." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "LatestNodeImageVersion is 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": "Id of the agent pool available versions." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool available versions." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool available versions." + }, + "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": "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 + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true + }, + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true + }, + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "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 of 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": "Name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a managed cluster SKU.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true + } + } + } + }, + "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 for 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." + } + } + } + }, + "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" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..0465208ed255 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-09-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", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..fe3c6998bb0b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..1dd25b5f1cd6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..f72c274a469c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..34e078b8ddc9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..e2924bd00050 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..0562b87ea10e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..23544c4c5b16 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..09ec35dd854d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..d1d4d87e5881 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "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/2020-09-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..9c0ee3ef6a60 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..52cbf09263a2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,236 @@ +{ + "parameters": { + "api-version": "2020-09-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", + "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", + "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/2020-09-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..2154502d0c28 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2020-09-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": { + "balance-similar-node-groups": "true", + "expander": "most-pods", + "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", + "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", + "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": "most-pods", + "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", + "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", + "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/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..22500c964240 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-09-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", + "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", + "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/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..e88ec3b727e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2020-09-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", + "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", + "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/2020-09-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..74d4a76054ad --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-09-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", + "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", + "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/2020-09-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..e8fb8bd9c65b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..96bc1df11315 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..e89e09461ba0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..d4337b7e4d4b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..106b9437fe9b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..f655e65a95cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..5849ddf284ae --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..12b1a2395edb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..cb4dad284f12 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..9d4e3a35d790 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..737edc566ede --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..7a4bb726214b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..44f51606e06d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..c37322caf4b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-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/2020-09-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json new file mode 100644 index 000000000000..aa5a00d3e6c5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json @@ -0,0 +1,3335 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-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": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute 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 + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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.", + "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", + "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 upgrade profile for a managed cluster.", + "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "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": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/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": "Gets cluster admin credential of a managed cluster.", + "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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": "Gets cluster user credential of a managed cluster.", + "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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": "Gets cluster monitoring user credential of a managed cluster.", + "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "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.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "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.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "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/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "description": "Updates a managed cluster with the specified tags.", + "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.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "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}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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 agent pool.", + "description": "Gets the details of the agent pool by managed cluster and resource group.", + "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.", + "description": "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": "Parameters supplied to the Create or Update an agent pool operation." + } + ], + "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 Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool.", + "description": "Deletes the 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 upgrade profile for an agent pool.", + "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "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 versions for the specified agent pool.", + "description": "Gets a list of supported versions for the specified agent pool.", + "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 Service Principal Profile of a managed cluster.", + "description": "Update the service principal Profile for 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/ManagedClusterServicePrincipalProfile" + }, + "description": "Parameters supplied to the Reset Service Principal Profile operation for a 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 AAD Profile of a managed cluster.", + "description": "Update the AAD Profile for 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": "Parameters supplied to the Reset AAD Profile operation for a 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": "Rotate certificates of a managed cluster.", + "description": "Rotate certificates of 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. 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": "Stop Managed Cluster", + "description": "Stops a Running 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. 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": "Start Managed Cluster", + "description": "Starts a Stopped 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. 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": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.", + "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 private endpoint connection.", + "description": "Gets the details of the private endpoint connection by managed cluster and resource group.", + "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.", + "description": "Updates a private endpoint connection in the specified managed cluster.", + "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": "Parameters supplied to the Update a private endpoint connection operation." + } + ], + "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.", + "description": "Deletes the private endpoint connection in the specified managed cluster.", + "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": "Upgrade node image version of an agent pool to the latest.", + "description": "Upgrade node image version of an agent pool to the latest.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "Gets a list of private link resources in the specified managed cluster. The operation returns properties of each private link resource.", + "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.", + "description": "Gets the private link service ID 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 (name, groupId) supplied 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" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "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": 1023, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "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 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1." + }, + "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." + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType", + "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. May not be changed after creation." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "AgentPoolType represents types of an agent pool" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "AgentPoolMode represents mode of an agent pool" + }, + "orchestratorVersion": { + "type": "string", + "description": "Version of orchestrator specified when creating the managed cluster." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "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, which only appears in the response." + }, + "powerState": { + "readOnly": true, + "description": "Describes whether the Agent Pool is Running or Stopped", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Enable public IP for nodes" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "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." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true + }, + "description": "AgentPoolType represents types of an agent pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true + }, + "description": "AgentPoolMode represents mode of an agent pool." + }, + "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", + "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default" + } + }, + "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 + }, + "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the container service 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": "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 + }, + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, + "description": "Network policy used for building Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true + }, + "description": "Network mode used for building Kubernetes network." + }, + "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" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true + }, + "default": "loadBalancer", + "description": "The outbound (egress) routing method." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true + }, + "description": "The load balancer sku for the managed cluster." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + } + }, + "description": "Profile of network configuration." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "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": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + } + }, + "description": "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. Only expect one key 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." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "Represents 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", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "FQDN of private cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "Profile for Windows VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, + "nodeResourceGroup": { + "type": "string", + "description": "Name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(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": "Profile of network configuration." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true + } + }, + "max-empty-bulk-delete": { + "type": "string" + }, + "max-graceful-termination-sec": { + "type": "string" + }, + "max-total-unready-percentage": { + "type": "string" + }, + "new-pod-scale-up-delay": { + "type": "string" + }, + "ok-total-unready-count": { + "type": "string" + }, + "scan-interval": { + "type": "string" + }, + "scale-down-delay-after-add": { + "type": "string" + }, + "scale-down-delay-after-delete": { + "type": "string" + }, + "scale-down-delay-after-failure": { + "type": "string" + }, + "scale-down-unneeded-time": { + "type": "string" + }, + "scale-down-unready-time": { + "type": "string" + }, + "scale-down-utilization-threshold": { + "type": "string" + }, + "skip-nodes-with-local-storage": { + "type": "string" + }, + "skip-nodes-with-system-pods": { + "type": "string" + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "Access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "identityProfile": { + "additionalProperties": { + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "description": "Identities associated with the 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 + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Authorized IP Ranges to kubernetes API server." + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not." + } + }, + "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", + "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", + "enum": [ + "SystemAssigned", + "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 user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. 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 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." + } + } + }, + "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": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "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." + }, + "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": "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." + } + }, + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, + "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." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of 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": "Id of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "Properties of 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": "Kubernetes version (major, minor, patch)." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "LatestNodeImageVersion is 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": "Id of the agent pool available versions." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool available versions." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool available versions." + }, + "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": "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 + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true + }, + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true + }, + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "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 of 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": "Name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a managed cluster SKU.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true + } + } + } + }, + "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 for 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": "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 + }, + "description": "OSDiskType represents the type of an OS disk on an agent pool." + } + }, + "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" + } + } +} diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..757d9d5dd16f --- /dev/null +++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,315 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerservice-2020-09-01 + - tag: schema-containerservice-2020-07-01 + - tag: schema-containerservice-2020-06-01 + - tag: schema-containerservice-2020-04-01 + - tag: schema-containerservice-2020-03-01 + - tag: schema-containerservice-2020-02-01 + - tag: schema-containerservice-2020-01-01 + - tag: schema-containerservice-2019-11-01 + - tag: schema-containerservice-2019-10-27-preview + - tag: schema-containerservice-2019-10-01 + - tag: schema-containerservice-2019-09-30 + - tag: schema-containerservice-2019-08-01 + - tag: schema-containerservice-2019-06-01 + - tag: schema-containerservice-2019-04-30 + - tag: schema-containerservice-2019-04-01 + - tag: schema-containerservice-2019-02-01 + - tag: schema-containerservice-2018-09-30-preview + - tag: schema-containerservice-2018-08-01-preview + - tag: schema-containerservice-2018-03-31 + - tag: schema-containerservice-2017-09-30 + - tag: schema-containerservice-2017-08-31 + - tag: schema-containerservice-2017-07-01 + - tag: schema-containerservice-2017-01-31 + - tag: schema-containerservice-2016-09-30 + - tag: schema-containerservice-2016-03-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerservice-2020-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-03-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-02-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-01-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-11-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-10-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-10-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-10-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-06-01/location.json + - Microsoft.ContainerService/stable/2019-06-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-04-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-04-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-04-01/managedClusters.json + - Microsoft.ContainerService/stable/2019-04-01/location.json + +``` + +### Tag: schema-containerservice-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2018-09-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-09-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2018-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json + +``` + +### Tag: schema-containerservice-2018-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json + +``` + +### Tag: schema-containerservice-2017-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-09-30/location.json + +``` + +### Tag: schema-containerservice-2017-08-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-08-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json + +``` + +### Tag: schema-containerservice-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + +``` + +### Tag: schema-containerservice-2017-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-01-31/containerService.json + +``` + +### Tag: schema-containerservice-2016-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-09-30/containerService.json + +``` + +### Tag: schema-containerservice-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-03-30/containerService.json + +``` diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md index 657781427475..a237557ee2bd 100644 --- a/specification/containerservice/resource-manager/readme.go.md +++ b/specification/containerservice/resource-manager/readme.go.md @@ -12,6 +12,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09 + - tag: package-2020-07 - tag: package-2020-06 - tag: package-2020-04 - tag: package-2020-03 @@ -32,6 +34,26 @@ batch: - tag: package-2017-08 - tag: package-2017-07 ``` +### Tag: package-2020-09 and go + +These settings apply only when `--package-2020-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-09' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace) +``` + +### Tag: package-2020-07 and go + +These settings apply only when `--package-2020-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-07' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +``` + ### Tag: package-2020-06 and go These settings apply only when `--package-2020-06 --go` is specified on the command line. @@ -149,7 +171,7 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2020_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_07_01 +regenerate-manager: true +generate-interface: true +``` +### Tag: package-2020-09 and java + +These settings apply only when `--tag=package-2020-09` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2020_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_09_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2020-06 and java @@ -194,4 +221,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2017_07_01 regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md index 296d71dd7e19..b24570f6bfd1 100644 --- a/specification/containerservice/resource-manager/readme.md +++ b/specification/containerservice/resource-manager/readme.md @@ -34,21 +34,45 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-2020-06 +tag: package-2020-09 ``` +### Tag: package-2020-09 + +These settings apply only when `--tag=package-2020-09` is specified on the command line. + +```yaml $(tag) == 'package-2020-09' +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json +``` +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07' +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json +``` + ### Tag: package-2020-06 These settings apply only when `--tag=package-2020-06` is specified on the command line. -```yaml $(tag) == 'package-2020-06' +``` yaml $(tag) == 'package-2020-06' input-file: - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json - Microsoft.ContainerService/stable/2017-07-01/containerService.json - Microsoft.ContainerService/stable/2019-08-01/location.json - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json ``` + ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. @@ -256,6 +280,32 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma ``` yaml $(tag) == 'package-2017-07' input-file: - Microsoft.ContainerService/stable/2017-07-01/containerService.json + +``` +### Tag: package-2020-09-01-only + +These settings apply only when `--tag=package-2020-09-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-09-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-2020-07-01-only + +These settings apply only when `--tag=package-2020-07-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-07-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2020-06-01-only @@ -508,6 +558,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerservice/resource-manager ``` ## C# @@ -545,51 +598,7 @@ directive: reason: ACS service is deprecated so a PATCH endpoint won't be implemented ``` -## 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 +## AzureResourceSchema -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-07-01/containerService.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json - - $(this-folder)/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json - - $(this-folder)/Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/location.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-04-01/location.json - - $(this-folder)/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-09-30/location.json - - $(this-folder)/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json - - $(this-folder)/Microsoft.ContainerService/stable/2016-09-30/containerService.json - - $(this-folder)/Microsoft.ContainerService/stable/2016-03-30/containerService.json - -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md index 5fee0ec5f9e4..7a02ff59401b 100644 --- a/specification/containerservice/resource-manager/readme.python.md +++ b/specification/containerservice/resource-manager/readme.python.md @@ -18,6 +18,8 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-09-01-only + - tag: package-2020-07-01-only - tag: package-2020-06-01-only - tag: package-2020-04-01-only - tag: package-2020-03-01-only @@ -38,6 +40,28 @@ batch: - tag: package-2017-07-only-extended ``` +### Tag: package-2020-09-01-only and python + +These settings apply only when `--tag=package-2020-09-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-09-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_09_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_09_01 +``` + +### Tag: package-2020-07-01-only and python + +These settings apply only when `--tag=package-2020-07-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_07_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_07_01 +``` + ### Tag: package-2020-06-01-only and python These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json index 9f2d5580be06..918f269d90aa 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json @@ -4215,7 +4215,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponseUpdatedFormat" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -4251,7 +4251,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponseUpdatedFormat" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -4293,7 +4293,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponseUpdatedFormat" + "$ref": "#/definitions/DefaultErrorResponse" } } } @@ -4483,11 +4483,11 @@ }, "description": "Error Response." }, - "ErrorResponseUpdatedFormat": { + "DefaultErrorResponse": { "description": "An error response from the service.", "properties": { "error": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -5663,6 +5663,9 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/DatabaseAccountUpdateProperties" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" } } }, @@ -7024,17 +7027,36 @@ }, "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.", + "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", + "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." @@ -7664,7 +7686,7 @@ }, "restoreSource": { "type": "string", - "description": "Path of the source account from which the restore has to be initiated" + "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", diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json index 7857ad6e43d3..c36777803418 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json @@ -8,6 +8,12 @@ "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": [ @@ -73,6 +79,15 @@ "type": "Microsoft.DocumentDB/databaseAccounts", "kind": "MongoDB", "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "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, diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json index 988548baaf7f..5c0c861f1146 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json @@ -9,6 +9,12 @@ "tags": { "dept": "finance" }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, "properties": { "ipRules": [ { @@ -53,6 +59,15 @@ "tags": { "dept": "finance" }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "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/", diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json new file mode 100644 index 000000000000..dde4f7397304 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json new file mode 100644 index 000000000000..2055244f0a8d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json new file mode 100644 index 000000000000..e42f8592a146 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json new file mode 100644 index 000000000000..5ef2595574ee --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleAssignmentList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..88351bec1d9e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json new file mode 100644 index 000000000000..2208e3274038 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json new file mode 100644 index 000000000000..43ee7da06029 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json new file mode 100644 index 000000000000..52933db02416 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlRoleDefinitionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2020-06-01-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/2020-06-01-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json new file mode 100644 index 000000000000..cda13ff0d7e9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-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": "2020-06-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.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/DefaultErrorResponse" + } + } + } + }, + "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/DefaultErrorResponse" + } + } + } + }, + "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/DefaultErrorResponse" + } + } + } + } + }, + "/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/DefaultErrorResponse" + } + } + } + } + }, + "/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/DefaultErrorResponse" + } + } + } + }, + "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/DefaultErrorResponse" + } + } + } + }, + "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/DefaultErrorResponse" + } + } + } + } + }, + "/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/DefaultErrorResponse" + } + } + } + } + } + }, + "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/2020-09-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json new file mode 100644 index 000000000000..81461e3fd2f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json @@ -0,0 +1,8521 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2020-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.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" + } + }, + "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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + }, + "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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + }, + "/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/ErrorResponseUpdatedFormat" + } + } + } + } + } + }, + "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." + }, + "ErrorResponseUpdatedFormat": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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 + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + } + }, + "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": "#/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" + }, + "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" + }, + "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" + } + } + } + }, + "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" + }, + "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" + }, + "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" + } + } + }, + "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 + } + }, + "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" + }, + "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" + }, + "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" + } + } + } + }, + "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." + }, + "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", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range" + ], + "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" + } + } + }, + "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\"." + } + } + }, + "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\"." + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + }, + "actionsRequired": { + "type": "string", + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "readOnly": true + } + } + }, + "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", + "readOnly": true, + "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" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + } + }, + "required": [ + "type" + ] + }, + "BackupPolicyType": { + "description": "Describes the mode of backups.", + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyType" + } + }, + "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" + } + } + } + }, + "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." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..47fb08d20401 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..d8f70b74b7a0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..95864475fb90 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..d7cb043566b9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..a55d232ca2e4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..ffbd3024654b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..76eac069b31c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..4354443f15ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..05aed0225afe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..338259d8b9f4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..72e0f81ad5de --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..27073d47d041 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..f15c72d9d182 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..ae5b827c638a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..4613befe65bf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..a9efe7818fa3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..24bfa2f06287 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..ce429f69dc9b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..4fb2fe2935c6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..d561cfff9401 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..3bbc3b98f5eb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..96527de4c2a0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..f57283993261 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..66941f61e922 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "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 + } + ], + "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", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8 + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] + } + } + }, + "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": {}, + "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" + } + ], + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8 + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..2bd56832c535 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "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 + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..ec95b38afb2b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..1354b4e1da60 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..d2fc55846856 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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, + "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, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8 + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..7d8c635419d3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-09-01" + }, + "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/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..8055fa54f5ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..60d1c031ab81 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..bdf916d30a10 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..5a9a682d9b88 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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 + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..a7e19fb33847 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..4c5b2510e63e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..e3f934716bb9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..3acabc15beb7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..39d179708fc6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..072a8c3be238 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..55f31a5bfbb1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "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 + }, + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + } + } + }, + "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" + }, + "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": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..5ec50750399d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..6eaef53c3719 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..5b773535de43 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..c1a4cc1a44e6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..26151ec23c66 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..be85c4cecfd0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..78b43c1f5037 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..0bd7e872fd43 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..f8e9fd62d3df --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..9b8629c7c3bb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..8e8f2dc00ed2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..59ad4c7271c0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..e3d2b445cc40 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..861749b581f7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..38aee05e394b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..cec7a8b919ee --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..e4ed25496984 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..8e2f96514595 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..89c1024958a0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..0177c5d510a2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..8359ae790bff --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..8bcce66487be --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "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": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..f999d821ab09 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..509872ec3e71 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..c61b19bf719d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..0c40504d44c3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..818e8af71f14 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..d9678d2d1639 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..857057a3284a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..ebc040006786 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..78b43c1f5037 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..a3607909da37 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..37079493d3c9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..9b8629c7c3bb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..8e8f2dc00ed2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..3daf5421333f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..7291a4ce7fda --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..227f40b9db11 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..ed11fcbb5890 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..43414c379992 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..03d895f81238 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..3efb34d1e0bb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..1e4e36f02986 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..1e4e36f02986 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..9f1793f396e5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "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/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..2a702179959a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..dfe736bf7561 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..97d7429da96c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..d1665d4f2b19 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..b88a1f67b0a3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..f4558c9acff6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..d1fe235460ea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..a40cebb07721 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..719a0c2d5fa9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..4f9ae9367955 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..5a012d36a437 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..a3ea45c129a7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..a9ca1642de29 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..ba611bf80397 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..0e8c76e1d932 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..78b43c1f5037 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..c824a9db382e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..5ecd47ea4ea1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..9b8629c7c3bb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..8e8f2dc00ed2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..5710eb7386ba --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..08418ba9ce65 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..64be1b03bdfb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..d658c38fc1ad --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..0f712d8d1f5d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..3d208df315d6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..944215f97b06 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..6f94d01a816b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..253b0db56134 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..64927ab15cd9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..199e413365cb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..dd852f7d6e2e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..9cbf8ebf6595 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..1785789c9731 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..26a948590a98 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..bb58b961da41 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..b0f1a0d20f35 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..9e5f0e00fdb8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..a5dfe1d16f50 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..d51de224f66f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..d0da78e9f395 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..c36da4fcc471 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-09-01", + "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/2020-09-01/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/notebook.json new file mode 100644 index 000000000000..f14254b45682 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-09-01/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2020-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.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/2020-09-01/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/2020-09-01/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/2020-09-01/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/2020-09-01/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/2020-09-01/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/2020-09-01/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/2020-09-01/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../stable/2020-09-01/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/2020-09-01/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/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4abf996fb40b --- /dev/null +++ b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,150 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-documentdb-2020-06-01-preview + - tag: schema-documentdb-2020-04-01 + - tag: schema-documentdb-2020-03-01 + - tag: schema-documentdb-2019-12-12 + - tag: schema-documentdb-2019-08-01-preview + - tag: schema-documentdb-2019-08-01 + - tag: schema-documentdb-2016-03-31 + - tag: schema-documentdb-2016-03-19 + - tag: schema-documentdb-2015-11-06 + - tag: schema-documentdb-2015-04-08 + - tag: schema-documentdb-2014-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-documentdb-2020-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json + - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json + +``` + +### Tag: schema-documentdb-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2020-04-01/notebook.json + +``` + +### Tag: schema-documentdb-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2020-03-01/notebook.json + +``` + +### Tag: schema-documentdb-2019-12-12 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-12-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json + - Microsoft.DocumentDB/stable/2019-12-12/notebook.json + +``` + +### Tag: schema-documentdb-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json + - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json + +``` + +### Tag: schema-documentdb-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2019-08-01/notebook.json + +``` + +### Tag: schema-documentdb-2016-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2016-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json + +``` + +### Tag: schema-documentdb-2016-03-19 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2016-03-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json + +``` + +### Tag: schema-documentdb-2015-11-06 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2015-11-06' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json + +``` + +### Tag: schema-documentdb-2015-04-08 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2015-04-08' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json + +``` + +### Tag: schema-documentdb-2014-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2014-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json + +``` diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md index c87fb1089fde..278055715921 100644 --- a/specification/cosmos-db/resource-manager/readme.go.md +++ b/specification/cosmos-db/resource-manager/readme.go.md @@ -36,7 +36,7 @@ These settings apply only when `--tag=package-2020-04 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-04' && $(go) -output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2020-04-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-04-01-preview/$(namespace) ``` ### Tag: package-2020-03 and go @@ -45,7 +45,7 @@ These settings apply only when `--tag=package-2020-03 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-03' && $(go) -output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2020-03-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-03-01-preview/$(namespace) ``` ### Tag: package-2019-12 and go @@ -54,7 +54,7 @@ These settings apply only when `--tag=package-2019-12 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2019-12' && $(go) -output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2019-12-12/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2019-12-12-preview/$(namespace) ``` ### Tag: package-2019-08 and go diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index e3f17d7d79f3..c499f9084d26 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Cosmos-DB. - - --- + ## Getting Started + To build the SDK for Cosmos-DB, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,21 +15,31 @@ To build the SDK for Cosmos-DB, 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 Cosmos-DB API. ``` yaml title: CosmosDBManagementClient openapi-type: arm -tag: package-2020-04 +tag: package-2020-09 ``` + +### Tag: package-2020-09 + +These settings apply only when `--tag=package-2020-09` is specified on the command line. + +```yaml $(tag) == 'package-2020-09' +input-file: + - Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2020-09-01/notebook.json +``` ### Tag: package-2020-06-preview These settings apply only when `--tag=package-2020-06-preview` is specified on the command line. @@ -38,6 +48,7 @@ These settings apply only when `--tag=package-2020-06-preview` is specified on t input-file: - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json +- Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json ``` @@ -146,6 +157,7 @@ input-file: ``` ## Suppression + ``` yaml directive: - suppress: TrackedResourceGetOperation @@ -220,11 +232,14 @@ directive: - suppress: PathResourceProviderNamePascalCase from: privateLinkResources.json reason: The name of the provider is Microsoft.DocumentDB + - suppress: PathResourceProviderNamePascalCase + from: rbac.json + reason: The name of the provider is Microsoft.DocumentDB ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -238,9 +253,11 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cosmos-db/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -266,6 +283,11 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -280,6 +302,7 @@ require: $(this-folder)/../../../profiles/readme.md 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 @@ -305,4 +328,3 @@ uncomment the `exclude-file` section below and add the file paths. #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json new file mode 100644 index 000000000000..58ed986b82aa --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json @@ -0,0 +1,601 @@ +{ + "swagger": "2.0", + "info": { + "title": "CostManagementClient", + "version": "2020-03-01-preview" + }, + "tags": [ + { + "name": "CostAllocationRules", + "description": "An API for creating and managing cost allocation rules within a billing account or enterprise enrollment. These rules can be used to reallocate cost between resources, filtered by Resource Group, Subscription, or Tag." + } + ], + "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.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules": { + "get": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_List", + "description": "Get the list of all cost allocation rules for a billing account or enterprise enrollment.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CostAllocationRulesList": { + "$ref": "./examples/CostAllocationRulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + } + ], + "responses": { + "200": { + "description": "List of cost allocation rules for the billing account or enterprise enrollment.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/checkNameAvailability": { + "post": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_CheckNameAvailability", + "description": "Checks availability and correctness of a name for a cost allocation rule", + "x-ms-examples": { + "CostAllocationRuleCheckNameAvailability": { + "$ref": "./examples/CostAllocationRuleCheckNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "costAllocationRuleCheckNameAvailabilityRequest", + "description": "Cost allocation rule to be created or updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Response of cost allocation rule name availability.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}": { + "get": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_Get", + "description": "Get a cost allocation rule by rule name and billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRules": { + "$ref": "./examples/CostAllocationRuleGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_CreateOrUpdate", + "description": "Create/Update a rule to allocate cost between different resources within a billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRulesCreateResourceGroup": { + "$ref": "./examples/CostAllocationRuleCreate.json" + }, + "CostAllocationRulesCreateTag": { + "$ref": "./examples/CostAllocationRuleCreateTag.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + }, + { + "name": "costAllocationRule", + "description": "Cost allocation rule to be created or updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_Delete", + "description": "Delete cost allocation rule for billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRules": { + "$ref": "./examples/CostAllocationRuleDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Rule did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "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 + } + } + }, + "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" + } + } + }, + "CostAllocationRuleList": { + "type": "object", + "description": "Result of listing cost allocation rules. It contains a list of available rules in the billing account or enterprise enrollment provided.", + "properties": { + "value": { + "description": "The list of cost allocation rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "nextLink": { + "description": "URL to get the next set of rule list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CostAllocationRuleCheckNameAvailabilityRequest": { + "type": "object", + "description": "The cost allocation rule check name availability request", + "properties": { + "name": { + "type": "string", + "description": "Rule name" + }, + "type": { + "type": "string", + "description": "Resource type. This is expected to be Microsoft.CostManagement/costAllocationRules" + } + } + }, + "CostAllocationRuleCheckNameAvailabilityResponse": { + "type": "object", + "description": "The cost allocation rule check name availability response", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Whether this rule name is available" + }, + "reason": { + "$ref": "#/definitions/Reason", + "description": "The reason this name is not available" + }, + "message": { + "type": "string", + "description": "Error message if the name is not available" + } + } + }, + "Reason": { + "type": "string", + "description": "The reason this name is not available.", + "enum": [ + "Invalid", + "AlreadyExists", + "Valid" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "CostAllocationRuleDefinition": { + "type": "object", + "description": "The cost allocation rule model definition", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure Resource Manager Id for the rule. This is a read ony value." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the rule. This is a read only value." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule." + }, + "properties": { + "description": "Cost allocation rule properties", + "$ref": "#/definitions/CostAllocationRuleProperties" + } + }, + "x-ms-azure-resource": true + }, + "CostAllocationRuleProperties": { + "type": "object", + "description": "The properties of a cost allocation rule", + "additionalProperties": false, + "required": [ + "details", + "status" + ], + "properties": { + "description": { + "description": "Description of a cost allocation rule.", + "type": "string" + }, + "details": { + "description": "Resource information for the cost allocation rule", + "$ref": "#/definitions/CostAllocationRuleDetails" + }, + "status": { + "$ref": "#/definitions/RuleStatus", + "description": "Status of the rule" + }, + "createdDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation." + }, + "updatedDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which the rule was last updated." + } + } + }, + "RuleStatus": { + "type": "string", + "description": "Current status of the rule.", + "enum": [ + "NotActive", + "Active", + "Processing" + ], + "x-ms-enum": { + "name": "RuleStatus", + "modelAsString": true, + "values": [ + { + "value": "NotActive", + "description": "Rule is saved but not used to allocate costs.", + "name": "NotActive" + }, + { + "value": "Active", + "description": "Rule is saved and impacting cost allocation.", + "name": "Active" + }, + { + "value": "Processing", + "description": "Rule is saved and cost allocation is being updated. Readonly value that cannot be submitted in a put request.", + "name": "Processing" + } + ] + } + }, + "CostAllocationRuleDetails": { + "type": "object", + "description": "Resource details of the cost allocation rule", + "properties": { + "sourceResources": { + "description": "Source resources for cost allocation. At this time, this list can contain no more than one element.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceCostAllocationResource" + } + }, + "targetResources": { + "type": "array", + "description": "Target resources for cost allocation. At this time, this list can contain no more than one element.", + "items": { + "$ref": "#/definitions/TargetCostAllocationResource" + } + } + } + }, + "CostAllocationResource": { + "type": "object", + "description": "Common values for resources for cost allocation", + "required": [ + "resourceType", + "name" + ], + "properties": { + "resourceType": { + "description": "Type of resources contained in this cost allocation rule", + "$ref": "#/definitions/CostAllocationResourceType" + }, + "name": { + "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag", + "type": "string" + } + } + }, + "SourceCostAllocationResource": { + "allOf": [ + { + "$ref": "#/definitions/CostAllocationResource" + }, + { + "type": "object", + "properties": { + "values": { + "description": "Source Resources for cost allocation. This list cannot contain more than 25 values.", + "type": "array", + "items": { + "description": "Source resource for cost allocation", + "type": "string" + } + } + }, + "required": [ + "values" + ] + } + ], + "description": "Source resources for cost allocation" + }, + "TargetCostAllocationResource": { + "description": "Target resources for cost allocation.", + "allOf": [ + { + "$ref": "#/definitions/CostAllocationResource" + }, + { + "type": "object", + "properties": { + "values": { + "description": "Target resources for cost allocation. This list cannot contain more than 25 values.", + "type": "array", + "items": { + "$ref": "#/definitions/CostAllocationProportion" + } + }, + "policyType": { + "description": "Method of cost allocation for the rule", + "$ref": "#/definitions/CostAllocationPolicyType" + } + }, + "required": [ + "values", + "policyType" + ] + } + ] + }, + "CostAllocationResourceType": { + "type": "string", + "description": "Category of resource to use for allocation.", + "enum": [ + "Dimension", + "Tag" + ], + "x-ms-enum": { + "name": "CostAllocationResourceType", + "modelAsString": true, + "values": [ + { + "value": "Dimension", + "description": "Indicates an Azure dimension such as a subscription id or resource group name is being used for allocation.", + "name": "Dimension" + }, + { + "value": "Tag", + "description": "Allocates cost based on Azure Tag key value pairs.", + "name": "Tag" + } + ] + } + }, + "CostAllocationProportion": { + "type": "object", + "description": "Target resources and allocation", + "required": [ + "percentage", + "name" + ], + "properties": { + "name": { + "description": "Target resource for cost allocation", + "type": "string" + }, + "percentage": { + "description": "Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00.", + "type": "number" + } + } + }, + "CostAllocationPolicyType": { + "type": "string", + "description": "Method to use for allocating cost. FixedProportion indicates that cost will be split based on specified percentage values.", + "enum": [ + "FixedProportion" + ], + "x-ms-enum": { + "name": "CostAllocationPolicyType", + "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 (e.g. '2020-06-01')." + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ruleNameParameter": { + "name": "ruleName", + "in": "path", + "description": "Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json new file mode 100644 index 000000000000..01dce08d0ffc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "costAllocationRuleCheckNameAvailabilityRequest": { + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "A cost allocation rule with name testRule is already present for the billing account 100. Please specify a differnt name." + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json new file mode 100644 index 000000000000..82d5cefa2b2e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule", + "costAllocationRule": { + "properties": { + "description": "This is a testRule", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG", + "secondRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 45 + }, + { + "name": "destinationRG2", + "percentage": 54 + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Creating", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json new file mode 100644 index 000000000000..87edfcec150c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule", + "costAllocationRule": { + "properties": { + "description": "This is a testRule", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Tag", + "name": "category", + "values": [ + "devops" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 33.33 + }, + { + "name": "destinationRG2", + "percentage": 33.33 + }, + { + "name": "destinationRG3", + "percentage": 33.34 + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Creating", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json new file mode 100644 index 000000000000..3a796c1a47b5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json new file mode 100644 index 000000000000..c2e38a9710ed --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "NotActive", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json new file mode 100644 index 000000000000..96642fa6fdb5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "NotActive", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule2", + "name": "testRule2", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a second test Rule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "SubscriptionId", + "values": [ + "2A002F2D-536F-4D7C-90DA-3D0BAE879B0E" + ] + } + ], + "targetResources": [ + { + "resourceType": "Tag", + "policyType": "FixedProportion", + "name": "category", + "values": [ + { + "name": "devops", + "percentage": 100 + } + ] + } + ] + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule3", + "name": "testRule3", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a third test Rule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Tag", + "name": "category", + "values": [ + "devops" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "ResourceGroup", + "percentage": 55.55 + }, + { + "name": "ResourceGroupSecond", + "percentage": 44.45 + } + ] + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json new file mode 100644 index 000000000000..00b0485fcc45 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json @@ -0,0 +1,951 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-11-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": { + "SubscriptionExportList": { + "$ref": "./examples/ExportListBySubscription.json" + }, + "ResourceGroupExportList": { + "$ref": "./examples/ExportListByResourceGroup.json" + }, + "BillingAccountExportList": { + "$ref": "./examples/ExportListByBillingAccount.json" + }, + "DepartmentExportList": { + "$ref": "./examples/ExportListByDepartment.json" + }, + "EnrollmentAccountExportList": { + "$ref": "./examples/ExportListByEnrollmentAccount.json" + }, + "ManagementGroupExportList": { + "$ref": "./examples/ExportListByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "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": { + "SubscriptionExport": { + "$ref": "./examples/ExportBySubscription.json" + }, + "ResourceGroupExport": { + "$ref": "./examples/ExportByResourceGroup.json" + }, + "BillingAccountExport": { + "$ref": "./examples/ExportByBillingAccount.json" + }, + "DepartmentExport": { + "$ref": "./examples/ExportByDepartment.json" + }, + "EnrollmentAccountExport": { + "$ref": "./examples/ExportByEnrollmentAccount.json" + }, + "ManagementGroupExport": { + "$ref": "./examples/ExportByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "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": { + "SubscriptionCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateBySubscription.json" + }, + "ResourceGroupCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json" + }, + "BillingAccountCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json" + }, + "DepartmentCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateByDepartment.json" + }, + "EnrollmentAccountCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json" + }, + "ManagementGroupCreateOrUpdateExport": { + "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$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": { + "SubscriptionDeleteExport": { + "$ref": "./examples/ExportDeleteBySubscription.json" + }, + "ResourceGroupDeleteExport": { + "$ref": "./examples/ExportDeleteByResourceGroup.json" + }, + "BillingAccountDeleteExport": { + "$ref": "./examples/ExportDeleteByBillingAccount.json" + }, + "EnrollmentAccountDeleteExport": { + "$ref": "./examples/ExportDeleteByEnrollmentAccount.json" + }, + "DepartmentDeleteExport": { + "$ref": "./examples/ExportDeleteByDepartment.json" + }, + "ManagementGroupDeleteExport": { + "$ref": "./examples/ExportDeleteByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$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 a export.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionExecuteExport": { + "$ref": "./examples/ExportExecutionBySubscription.json" + }, + "ResourceGroupExecuteExport": { + "$ref": "./examples/ExportExecutionByResourceGroup.json" + }, + "BillingAccountExecuteExport": { + "$ref": "./examples/ExportExecutionByBillingAccount.json" + }, + "DepartmentExecuteExport": { + "$ref": "./examples/ExportExecutionByDepartment.json" + }, + "EnrollmentAccountExecuteExport": { + "$ref": "./examples/ExportExecutionByEnrollmentAccount.json" + }, + "ManagementGroupExecuteExport": { + "$ref": "./examples/ExportExecutionByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$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 by export name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListBySubscription.json" + }, + "ResourceGroupExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListByResourceGroup.json" + }, + "BillingAccountExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListByBillingAccount.json" + }, + "DepartmentExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListByDepartment.json" + }, + "EnrollmentAccountExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json" + }, + "ManagementGroupExecutionHistoryExport": { + "$ref": "./examples/ExportExecutionListByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$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": { + "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 + } + } + }, + "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.", + "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 + }, + "QueryDefinition": { + "description": "The definition of a query.", + "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" + ] + }, + "QueryTimePeriod": { + "description": "The start and end date for pulling data for the query.", + "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.", + "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": "Has filter expression to use in the query.", + "$ref": "#/definitions/QueryFilter" + } + } + }, + "QueryDatasetConfiguration": { + "description": "The configuration of dataset in the query.", + "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.", + "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.", + "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.", + "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.", + "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": "OperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ExportListResult": { + "description": "Result of listing exports. It contains a list of available exports in the scope provided.", + "properties": { + "value": { + "description": "The list of exports.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Export" + } + } + } + }, + "Export": { + "description": "A export resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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.", + "properties": { + "format": { + "description": "The format of the export being delivered.", + "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 definition for the export.", + "$ref": "#/definitions/QueryDefinition" + } + }, + "required": [ + "deliveryInfo", + "definition" + ] + }, + "ExportSchedule": { + "description": "The schedule associated with a export.", + "properties": { + "status": { + "description": "The status of the schedule. Whether active or not. If inactive, the export's scheduled execution 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" + } + }, + "required": [ + "recurrence" + ] + }, + "ExportDeliveryInfo": { + "description": "The delivery information associated with a export.", + "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.", + "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": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .", + "properties": { + "resourceId": { + "description": "The resource id of the storage account where exports will be delivered.", + "type": "string" + }, + "container": { + "description": "The name of the container where exports will be uploaded.", + "type": "string" + }, + "rootFolderPath": { + "description": "The name of the directory where exports will be uploaded.", + "type": "string" + } + }, + "required": [ + "resourceId", + "container" + ] + }, + "ExportExecutionListResult": { + "description": "Result of listing exports execution history of a export by name", + "properties": { + "value": { + "description": "The list of export executions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExportExecution" + } + } + } + }, + "ExportExecution": { + "description": "A export execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExportExecutionProperties", + "title": "Export execution properties" + } + } + }, + "ExportExecutionProperties": { + "description": "The properties of the export execution.", + "properties": { + "executionType": { + "description": "The type of the export execution.", + "type": "string", + "enum": [ + "OnDemand", + "Scheduled" + ], + "x-ms-enum": { + "name": "ExecutionType", + "modelAsString": true + } + }, + "status": { + "description": "The 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 email id. For Scheduled executions, it is the constant value - 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 export execution finished.", + "type": "string", + "format": "date-time" + }, + "fileName": { + "description": "The name of the file export got written to.", + "type": "string" + }, + "runSettings": { + "$ref": "#/definitions/CommonExportProperties" + } + } + } + }, + "parameters": { + "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 2019-11-01." + }, + "exportNameParameter": { + "name": "exportName", + "in": "path", + "description": "Export Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "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 + } + } +} 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 2f0fc9a8dc97..e7a9d2b5817e 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 @@ -1098,229 +1098,59 @@ } } }, - "/{scope}/providers/Microsoft.CostManagement/exports": { - "get": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": { + "post": { "tags": [ - "Exports" + "ReservedInstances" ], - "operationId": "Exports_List", - "description": "The operation to list all exports at the given scope.", + "operationId": "GenerateReservationDetailsReport_ByBillingAccountId", + "description": "Generates the reservations details report for provided date range asynchronously based on enrollment id.", "externalDocs": { "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" }, "x-ms-examples": { - "SubscriptionExportList": { - "$ref": "./examples/ExportListBySubscription.json" - }, - "ResourceGroupExportList": { - "$ref": "./examples/ExportListByResourceGroup.json" - }, - "BillingAccountExportList": { - "$ref": "./examples/ExportListByBillingAccount.json" - }, - "DepartmentExportList": { - "$ref": "./examples/ExportListByDepartment.json" - }, - "EnrollmentAccountExportList": { - "$ref": "./examples/ExportListByEnrollmentAccount.json" - }, - "ManagementGroupExportList": { - "$ref": "./examples/ExportListByManagementGroup.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/scopeQueryParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "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" - } + "ReservationDetails": { + "$ref": "./examples/GenerateReservationDetailsReportByBillingAccount.json" } - } - } - }, - "/{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": { - "SubscriptionExport": { - "$ref": "./examples/ExportBySubscription.json" - }, - "ResourceGroupExport": { - "$ref": "./examples/ExportByResourceGroup.json" - }, - "BillingAccountExport": { - "$ref": "./examples/ExportByBillingAccount.json" - }, - "DepartmentExport": { - "$ref": "./examples/ExportByDepartment.json" - }, - "EnrollmentAccountExport": { - "$ref": "./examples/ExportByEnrollmentAccount.json" - }, - "ManagementGroupExport": { - "$ref": "./examples/ExportByManagementGroup.json" - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, "parameters": [ { - "$ref": "#/parameters/scopeQueryParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "#/parameters/enrollmentIdParameter" }, { - "$ref": "#/parameters/exportNameParameter" - } - ], - "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": { - "SubscriptionCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateBySubscription.json" - }, - "ResourceGroupCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json" - }, - "BillingAccountCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json" + "$ref": "#/parameters/startDateParameter" }, - "DepartmentCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateByDepartment.json" - }, - "EnrollmentAccountCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json" - }, - "ManagementGroupCreateOrUpdateExport": { - "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json" - } - }, - "parameters": [ { - "$ref": "#/parameters/scopeQueryParameter" + "$ref": "#/parameters/endDateParameter" }, { "$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.", + "description": "Request processing completed.", "schema": { - "$ref": "#/definitions/Export" + "$ref": "#/definitions/OperationStatus" } }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" + "202": { + "description": "Accepted. Request will be processed. Use the location header to check the status.", + "headers": { + "Location": { + "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" + } } - } - } - }, - "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": { - "SubscriptionDeleteExport": { - "$ref": "./examples/ExportDeleteBySubscription.json" - }, - "ResourceGroupDeleteExport": { - "$ref": "./examples/ExportDeleteByResourceGroup.json" - }, - "BillingAccountDeleteExport": { - "$ref": "./examples/ExportDeleteByBillingAccount.json" - }, - "EnrollmentAccountDeleteExport": { - "$ref": "./examples/ExportDeleteByEnrollmentAccount.json" - }, - "DepartmentDeleteExport": { - "$ref": "./examples/ExportDeleteByDepartment.json" - }, - "ManagementGroupDeleteExport": { - "$ref": "./examples/ExportDeleteByManagementGroup.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/scopeQueryParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/exportNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." }, "default": { "description": "Error response describing why the operation failed.", @@ -1331,106 +1161,61 @@ } } }, - "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": { "post": { "tags": [ - "Exports" + "ReservedInstances" ], - "operationId": "Exports_Execute", - "description": "The operation to execute a export.", + "operationId": "GenerateReservationDetailsReport_ByBillingProfileId", + "description": "Generates the reservations details report for provided date range asynchronously by billing profile.", "externalDocs": { "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" }, "x-ms-examples": { - "SubscriptionExecuteExport": { - "$ref": "./examples/ExportExecutionBySubscription.json" - }, - "ResourceGroupExecuteExport": { - "$ref": "./examples/ExportExecutionByResourceGroup.json" - }, - "BillingAccountExecuteExport": { - "$ref": "./examples/ExportExecutionByBillingAccount.json" - }, - "DepartmentExecuteExport": { - "$ref": "./examples/ExportExecutionByDepartment.json" - }, - "EnrollmentAccountExecuteExport": { - "$ref": "./examples/ExportExecutionByEnrollmentAccount.json" - }, - "ManagementGroupExecuteExport": { - "$ref": "./examples/ExportExecutionByManagementGroup.json" + "ReservationDetails": { + "$ref": "./examples/GenerateReservationDetailsReportByBillingProfile.json" } }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "parameters": [ { - "$ref": "#/parameters/scopeQueryParameter" + "$ref": "#/parameters/billingAccountIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "#/parameters/billingProfileIdParameter" }, { - "$ref": "#/parameters/exportNameParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." + "$ref": "#/parameters/startDateParameter" }, - "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 by export name.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" - }, - "x-ms-examples": { - "SubscriptionExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListBySubscription.json" - }, - "ResourceGroupExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListByResourceGroup.json" - }, - "BillingAccountExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListByBillingAccount.json" - }, - "DepartmentExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListByDepartment.json" - }, - "EnrollmentAccountExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json" - }, - "ManagementGroupExecutionHistoryExport": { - "$ref": "./examples/ExportExecutionListByManagementGroup.json" - } - }, - "parameters": [ { - "$ref": "#/parameters/scopeQueryParameter" + "$ref": "#/parameters/endDateParameter" }, { "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/exportNameParameter" } ], "responses": { "200": { - "description": "OK. The request has succeeded.", + "description": "Request processing completed.", "schema": { - "$ref": "#/definitions/ExportExecutionListResult" + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted. Request will be processed. Use the Location header to check the status.", + "headers": { + "Location": { + "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": { @@ -2611,6 +2396,53 @@ } } }, + "Status": { + "description": "The status of the long running operation.", + "properties": { + "status": { + "description": "The status of the long running operation.", + "type": "string", + "enum": [ + "Running", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "OperationStatusType", + "modelAsString": true + } + } + } + }, + "OperationStatus": { + "description": "The status of the long running operation.", + "properties": { + "status": { + "description": "The status of the long running operation.", + "$ref": "#/definitions/Status" + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The properties of the resource generated.", + "$ref": "#/definitions/ReportURL" + } + } + }, + "ReportURL": { + "description": "The URL to download the generated report.", + "properties": { + "reportUrl": { + "description": "The URL to download the generated report.", + "type": "string" + }, + "validUntil": { + "description": "The time at which report URL becomes invalid.", + "type": "string", + "format": "date-time" + } + } + }, "QueryDatasetConfiguration": { "description": "The configuration of dataset in the query.", "properties": { @@ -2741,256 +2573,6 @@ "operator", "values" ] - }, - "ExportListResult": { - "description": "Result of listing exports. It contains a list of available exports in the scope provided.", - "properties": { - "value": { - "description": "The list of exports.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Export" - } - } - } - }, - "Export": { - "description": "A export resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "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.", - "properties": { - "format": { - "description": "The format of the export being delivered.", - "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 definition for the export.", - "$ref": "#/definitions/QueryDefinition" - } - }, - "required": [ - "deliveryInfo", - "definition" - ] - }, - "ExportSchedule": { - "description": "The schedule associated with a export.", - "properties": { - "status": { - "description": "The status of the schedule. Whether active or not. If inactive, the export's scheduled execution 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" - } - }, - "required": [ - "recurrence" - ] - }, - "ExportDeliveryInfo": { - "description": "The delivery information associated with a export.", - "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.", - "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": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .", - "properties": { - "resourceId": { - "description": "The resource id of the storage account where exports will be delivered.", - "type": "string" - }, - "container": { - "description": "The name of the container where exports will be uploaded.", - "type": "string" - }, - "rootFolderPath": { - "description": "The name of the directory where exports will be uploaded.", - "type": "string" - } - }, - "required": [ - "resourceId", - "container" - ] - }, - "ExportExecutionListResult": { - "description": "Result of listing exports execution history of a export by name", - "properties": { - "value": { - "description": "The list of export executions.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ExportExecution" - } - } - } - }, - "ExportExecution": { - "description": "A export execution.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ExportExecutionProperties", - "title": "Export execution properties" - } - } - }, - "ExportExecutionProperties": { - "description": "The properties of the export execution.", - "properties": { - "executionType": { - "description": "The type of the export execution.", - "type": "string", - "enum": [ - "OnDemand", - "Scheduled" - ], - "x-ms-enum": { - "name": "ExecutionType", - "modelAsString": true - } - }, - "status": { - "description": "The 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 email id. For Scheduled executions, it is the constant value - 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 export execution finished.", - "type": "string", - "format": "date-time" - }, - "fileName": { - "description": "The name of the file export got written to.", - "type": "string" - }, - "runSettings": { - "$ref": "#/definitions/CommonExportProperties" - } - } } }, "parameters": { @@ -3068,6 +2650,30 @@ "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" + }, + "enrollmentIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "Enrollment ID (Legacy BillingAccount ID)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "billingAccountIdParameter": { "name": "billingAccountId", "in": "path", @@ -3076,6 +2682,14 @@ "type": "string", "x-ms-parameter-location": "method" }, + "billingProfileIdParameter": { + "name": "billingProfileId", + "in": "path", + "description": "BillingProfile ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "managementGroupIdParameter": { "name": "managementGroupId", "in": "path", @@ -3100,14 +2714,6 @@ "type": "string", "x-ms-parameter-location": "method" }, - "exportNameParameter": { - "name": "exportName", - "in": "path", - "description": "Export Name.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "externalCloudProviderTypeParameter": { "name": "externalCloudProviderType", "in": "path", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json new file mode 100644 index 000000000000..d8c8f0f40faf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingAccount.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "billingAccountId": "9845612", + "startDate": "2020-01-01", + "endDate": "2020-01-30", + "api-version": "2019-11-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/9845612/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "status": "Completed", + "properties": { + "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ", + "validUntil": "2020-09-12T02:56:55.5021869Z" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json new file mode 100644 index 000000000000..a4bd203ef284 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/GenerateReservationDetailsReportByBillingProfile.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "billingAccountId": "00000000-0000-0000-0000-000000000000", + "billingProfileId": "CZSFR-SDFXC-DSDF", + "startDate": "2020-01-01", + "endDate": "2020-01-30", + "api-version": "2019-11-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000/billingProfiles/CZSFR-SDFXC-DSDF/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "status": "Completed", + "properties": { + "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ", + "validUntil": "2020-09-12T02:56:55.5021869Z" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json new file mode 100644 index 000000000000..6f5153b995a9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json @@ -0,0 +1,1139 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-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": { + "ReportConfigDefinition": { + "description": "The definition of a report config.", + "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" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ReportConfigTimePeriod": { + "description": "The start and end date for pulling data for the report.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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" + ] + }, + "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.", + "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.", + "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.", + "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" + }, + "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" + } + }, + "required": [ + "recurrence" + ] + }, + "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": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id of the storage account where exports will be delivered.", + "type": "string" + }, + "container": { + "description": "The name of the container where exports will be uploaded.", + "type": "string" + }, + "rootFolderPath": { + "description": "The name of the directory where exports will be uploaded.", + "type": "string" + } + }, + "required": [ + "resourceId", + "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/Resource" + } + ], + "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. The current version is 2020-06-01." + }, + "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/2020-06-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json index 456686294225..1bf76b2ce885 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json @@ -1098,364 +1098,6 @@ } } }, - "/{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/scopeQueryParameter" - }, - { - "$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/scopeQueryParameter" - }, - { - "$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/scopeQueryParameter" - }, - { - "$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/scopeQueryParameter" - }, - { - "$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/scopeQueryParameter" - }, - { - "$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/scopeQueryParameter" - }, - { - "$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" - } - } - } - } - }, "/providers/Microsoft.CostManagement/operations": { "get": { "tags": [ @@ -2502,7 +2144,7 @@ }, "dataset": { "description": "Has definition for data in this forecast.", - "$ref": "#/definitions/QueryDataset" + "$ref": "#/definitions/ForecastDataset" }, "includeActualCost": { "description": "a boolean determining if actualCost will be included", @@ -2518,11 +2160,45 @@ "timeframe" ] }, - "QueryDefinition": { - "description": "The definition of a query.", + "ForecastDataset": { + "description": "The definition of data present in the forecast.", "properties": { - "type": { - "description": "The type of the query.", + "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.", + "properties": { + "type": { + "description": "The type of the query.", "type": "string", "enum": [ "Usage", @@ -2755,383 +2431,16 @@ "operator", "values" ] - }, - "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" - }, - "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" - } - }, - "required": [ - "recurrence" - ] - }, - "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": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource id of the storage account where exports will be delivered.", - "type": "string" - }, - "container": { - "description": "The name of the container where exports will be uploaded.", - "type": "string" - }, - "rootFolderPath": { - "description": "The name of the directory where exports will be uploaded.", - "type": "string" - } - }, - "required": [ - "resourceId", - "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/Resource" - } - ], - "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. The current version is 2020-06-01." + }, "viewNameParameter": { "name": "viewName", "in": "path", @@ -3184,13 +2493,6 @@ "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 (e.g. '2020-06-01')." - }, "subscriptionIdParameter": { "name": "subscriptionId", "in": "path", @@ -3238,14 +2540,6 @@ "type": "string", "x-ms-parameter-location": "method" }, - "exportNameParameter": { - "name": "exportName", - "in": "path", - "description": "Export Name.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "externalCloudProviderTypeParameter": { "name": "externalCloudProviderType", "in": "path", diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c684505db1d6 --- /dev/null +++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,145 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - 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-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 + +``` + +### 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 85e079d2ccba..b8127660918f 100644 --- a/specification/cost-management/resource-manager/readme.md +++ b/specification/cost-management/resource-manager/readme.md @@ -33,6 +33,16 @@ azure-validator: false --- +### Tag: package-preview-2020-03 + +These settings apply only when `--tag=package-preview-2020-03` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-03' +input-file: + - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json + - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json +``` + ### Tag: package-2020-06 These settings apply only when `--tag=package-2020-06` is specified on the command line. @@ -40,11 +50,10 @@ These settings apply only when `--tag=package-2020-06` is specified on the comma ```yaml $(tag) == 'package-2020-06' input-file: - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json + - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json ``` -======= ->>>>>>> Stashed changes ### Tag: package-2019-11 These settings apply only when `--tag=package-2019-11` is specified on the command line. @@ -52,6 +61,7 @@ These settings apply only when `--tag=package-2019-11` is specified on the comma ``` yaml $(tag) == 'package-2019-11' input-file: - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json + - Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json ``` ### Tag: package-2019-10 @@ -204,6 +214,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cost-management/resource-manager ``` ## C# @@ -327,35 +340,7 @@ regenerate-manager: true 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. +## AzureResourceSchema -This block is updated by an automatic script. Edits may be lost! +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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.CostManagement/stable/2020-06-01/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/stable/2018-05-31/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json - - $(this-folder)/Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.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/cpim/resource-manager/readme.azureresourceschema.md b/specification/cpim/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b627d4375146 --- /dev/null +++ b/specification/cpim/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-azureactivedirectory-2020-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json + +``` diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md index d9bdf7941d0a..acc5245c5750 100644 --- a/specification/cpim/resource-manager/readme.md +++ b/specification/cpim/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_cpim'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cpim/resource-manager ``` ## Go @@ -78,27 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/customer-insights/resource-manager/readme.azureresourceschema.md b/specification/customer-insights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..856e894fb719 --- /dev/null +++ b/specification/customer-insights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-customerinsights-2017-04-26 + - tag: schema-customerinsights-2017-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customerinsights-2017-04-26 and azureresourceschema + +``` yaml $(tag) == 'schema-customerinsights-2017-04-26' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json + +``` + +### Tag: schema-customerinsights-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-customerinsights-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json + +``` diff --git a/specification/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md index 7dae56441cff..c75b5444e49c 100644 --- a/specification/customer-insights/resource-manager/readme.md +++ b/specification/customer-insights/resource-manager/readme.md @@ -68,6 +68,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customer_insights'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customer-insights/resource-manager ``` @@ -140,28 +143,7 @@ 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.CustomerInsights/stable/2017-04-26/customer-insights.json - - $(this-folder)/Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c4bfaba99a75 --- /dev/null +++ b/specification/customerlockbox/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-customerlockbox-2018-02-28-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customerlockbox-2018-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-customerlockbox-2018-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json + +``` diff --git a/specification/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md index 0e67eb17a65c..0b8ea5704f95 100644 --- a/specification/customerlockbox/resource-manager/readme.md +++ b/specification/customerlockbox/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customerlockbox'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customerlockbox/resource-manager ``` ## Go @@ -78,27 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/customproviders/resource-manager/readme.azureresourceschema.md b/specification/customproviders/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cfe5cfcbb11e --- /dev/null +++ b/specification/customproviders/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-customproviders-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customproviders-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-customproviders-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json + +``` diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md index 27afdefab93c..0574110e0f4b 100644 --- a/specification/customproviders/resource-manager/readme.md +++ b/specification/customproviders/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customproviders'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customproviders/resource-manager ``` ## Go @@ -90,29 +93,9 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md) See configuration in [readme.trenton.md](./readme.trenton.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.CustomProviders/preview/2018-09-01-preview/customproviders.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## cli diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json new file mode 100644 index 000000000000..93a9fd590650 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json @@ -0,0 +1,4689 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01", + "title": "DataBoxManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBox/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "This method gets all the operations.", + "operationId": "Operations_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The supported operations list.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the subscription.", + "operationId": "Jobs_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs available under the subscription.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsList": { + "$ref": "./examples/JobsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": { + "post": { + "tags": [ + "Service" + ], + "description": "This method provides the list of available skus for the given subscription, resource group and location.", + "operationId": "Service_ListAvailableSkusByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "availableSkuRequest", + "in": "body", + "description": "Filters for showing the available skus.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableSkuRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available skus under Resource group.", + "schema": { + "$ref": "#/definitions/AvailableSkusResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkusPost": { + "$ref": "./examples/AvailableSkusPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": { + "post": { + "tags": [ + "Service" + ], + "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.", + "operationId": "Service_ValidateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validateAddress", + "in": "body", + "description": "Shipping address of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateAddress" + } + } + ], + "responses": { + "200": { + "description": "The valid and alternate addresses.", + "schema": { + "$ref": "#/definitions/AddressValidationOutput" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "deprecated": true, + "x-ms-examples": { + "ValidateAddressPost": { + "$ref": "./examples/ValidateAddressPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under resource group.", + "operationId": "Service_ValidateInputsByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputsByResourceGroup": { + "$ref": "./examples/ValidateInputsByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under subscription.", + "operationId": "Service_ValidateInputs", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputs": { + "$ref": "./examples/ValidateInputs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the given resource group.", + "operationId": "Jobs_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs by resource group.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsListByResourceGroup": { + "$ref": "./examples/JobsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets information about the specified job.", + "operationId": "Jobs_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on details parameter for job, which provides details on the job stages.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + }, + "JobsGetCmk": { + "$ref": "./examples/JobsGetCmk.json" + }, + "JobsGetExport": { + "$ref": "./examples/JobsGetExport.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.", + "operationId": "Jobs_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "jobResource", + "in": "body", + "description": "Job details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResource" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for create Job." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsCreate": { + "$ref": "./examples/JobsCreate.json" + }, + "JobsCreateDevicePassword": { + "$ref": "./examples/JobsCreateDevicePassword.json" + }, + "JobsCreateExport": { + "$ref": "./examples/JobsCreateExport.json" + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "description": "Deletes a job.", + "operationId": "Jobs_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Just for swagger we are adding this status code." + }, + "202": { + "description": "Accepted request for delete Job." + }, + "204": { + "description": "Job deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsDelete": { + "$ref": "./examples/JobsDelete.json" + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "description": "Updates the properties of an existing job.", + "operationId": "Jobs_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/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.", + "type": "string" + }, + { + "name": "jobResourceUpdateParameter", + "in": "body", + "description": "Job update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResourceUpdateParameter" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for job updated." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsPatch": { + "$ref": "./examples/JobsPatch.json" + }, + "JobsPatchCmk": { + "$ref": "./examples/JobsPatchCmk.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Book shipment pick up.", + "operationId": "Jobs_BookShipmentPickUp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "shipmentPickUpRequest", + "in": "body", + "description": "Details of shipment pick up request.", + "required": true, + "schema": { + "$ref": "#/definitions/ShipmentPickUpRequest" + } + } + ], + "responses": { + "200": { + "description": "Booked shipment pick up successfully.", + "schema": { + "$ref": "#/definitions/ShipmentPickUpResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "BookShipmentPickupPost": { + "$ref": "./examples/BookShipmentPickupPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": { + "post": { + "tags": [ + "Jobs" + ], + "description": "CancelJob.", + "operationId": "Jobs_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "204": { + "description": "Job cancelled." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsCancelPost": { + "$ref": "./examples/JobsCancelPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": { + "post": { + "tags": [ + "Jobs" + ], + "description": "This method gets the unencrypted secrets related to the job.", + "operationId": "Jobs_ListCredentials", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of unencrypted credentials of the job.", + "schema": { + "$ref": "#/definitions/UnencryptedCredentialsList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "JobsListCredentials": { + "$ref": "./examples/JobsListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Subscription level.", + "operationId": "Service_RegionConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfiguration": { + "$ref": "./examples/RegionConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Resource group level.", + "operationId": "Service_RegionConfigurationByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region at resource group level.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfigurationByResourceGroup": { + "$ref": "./examples/RegionConfigurationByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "AccountCredentialDetails": { + "description": "Credential details of the account.", + "type": "object", + "properties": { + "accountName": { + "description": "Name of the account.", + "type": "string", + "readOnly": true + }, + "dataAccountType": { + "description": "Type of the account.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountConnectionString": { + "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.", + "type": "string", + "readOnly": true + }, + "shareCredentialDetails": { + "description": "Per share level unencrypted access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/ShareCredentialDetails" + }, + "readOnly": true + } + } + }, + "AdditionalErrorInfo": { + "type": "object", + "description": "Additional error info.", + "properties": { + "type": { + "description": "Additional error type.", + "type": "string" + }, + "info": { + "description": "Additional error info.", + "type": "object" + } + } + }, + "AddressValidationOutput": { + "description": "Output of the address validation api.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressValidationProperties", + "description": "The address validation properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AddressValidationProperties": { + "description": "The address validation output.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "validationStatus": { + "description": "The address validation status.", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsExtensible": 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." + } + ] + } + }, + "alternateAddresses": { + "description": "List of alternate addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/ShippingAddress" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ApiError": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ApplianceNetworkConfiguration": { + "description": "The Network Adapter configuration of a DataBox.", + "type": "object", + "properties": { + "name": { + "description": "Name of the network.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac Address.", + "type": "string", + "readOnly": true + } + } + }, + "ArmBaseObject": { + "description": "Base class for all objects under resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "AvailableSkuRequest": { + "description": "The filters for showing the available skus.", + "required": [ + "transferType", + "country", + "location" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuNames": { + "description": "Sku Names to filter for available skus", + "type": "array", + "items": { + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + } + }, + "AvailableSkusResult": { + "description": "The available skus operation response.", + "type": "object", + "properties": { + "value": { + "description": "List of available skus.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of skus.", + "type": "string" + } + } + }, + "AzureFileFilterDetails": { + "description": "Filter details to transfer Azure files", + "type": "object", + "properties": { + "filePrefixList": { + "description": "Prefix list of the Azure files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "filePathList": { + "description": "List of full path of the files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "fileShareList": { + "description": "List of file shares to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BlobFilterDetails": { + "description": "Filter details to transfer Azure Blobs", + "type": "object", + "properties": { + "blobPrefixList": { + "description": "Prefix list of the Azure blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "blobPathList": { + "description": "List of full path of the blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "containerList": { + "description": "List of blob containers to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CloudError": { + "description": "Cloud error.", + "type": "object", + "properties": { + "code": { + "description": "Cloud error code.", + "type": "string" + }, + "message": { + "description": "Cloud error message.", + "type": "string" + }, + "target": { + "description": "Cloud error target.", + "type": "string" + }, + "details": { + "description": "Cloud error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + }, + "readOnly": true + }, + "additionalInfo": { + "description": "Cloud error additional info.", + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalErrorInfo" + }, + "readOnly": true + } + }, + "x-ms-external": true + }, + "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.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationPreference": { + "description": "Notification preference for a job stage.", + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + } + } + } + }, + "CopyLogDetails": { + "description": "Details for log generated during copy.", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "properties": { + "copyLogDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + } + }, + "discriminator": "copyLogDetailsType" + }, + "CopyProgress": { + "description": "Copy progress.", + "type": "object", + "properties": { + "storageAccountName": { + "description": "Name of the storage account. This will be empty for data account types other than storage account.", + "type": "string", + "readOnly": true + }, + "transferType": { + "description": "Transfer type of data", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "dataAccountType": { + "description": "Data Account Type.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountId": { + "description": "Id of the account where the data needs to be uploaded.", + "type": "string", + "readOnly": true + }, + "bytesProcessed": { + "format": "int64", + "description": "To indicate bytes transferred.", + "type": "integer", + "readOnly": true + }, + "totalBytesToProcess": { + "format": "int64", + "description": "Total amount of data to be processed by the job.", + "type": "integer", + "readOnly": true + }, + "filesProcessed": { + "format": "int64", + "description": "Number of files processed", + "type": "integer", + "readOnly": true + }, + "totalFilesToProcess": { + "format": "int64", + "description": "Total files to process", + "type": "integer", + "readOnly": true + }, + "invalidFilesProcessed": { + "format": "int64", + "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "invalidFileBytesUploaded": { + "format": "int64", + "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "renamedContainerCount": { + "format": "int64", + "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "filesErroredOut": { + "format": "int64", + "description": "Number of files which could not be copied", + "type": "integer", + "readOnly": true + }, + "directoriesErroredOut": { + "format": "int64", + "description": "To indicate directories errored out in the job.", + "type": "integer", + "readOnly": true + }, + "invalidDirectoriesProcessed": { + "format": "int64", + "description": "To indicate directories renamed", + "type": "integer", + "readOnly": true + }, + "isEnumerationInProgress": { + "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.", + "type": "boolean", + "readOnly": true + } + } + }, + "CreateJobValidations": { + "description": "It does all pre-job creation validations.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "JobCreationValidation" + }, + "CreateOrderLimitForSubscriptionValidationRequest": { + "description": "Request to validate create order limit for current subscription.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "CreateOrderLimitForSubscriptionValidationResponseProperties": { + "description": "Properties of create order limit for subscription validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Create order limit validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "DataAccountDetails": { + "description": "Account details of the data to be transferred", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Account Type of the data to be transferred.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "sharePassword": { + "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "discriminator": "dataAccountType" + }, + "DataBoxAccountCopyLogDetails": { + "description": "Copy log details for a storage account of a DataBox job", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "string", + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxDiskCopyLogDetails": { + "description": "Copy Log Details for a disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "diskSerialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskCopyProgress": { + "description": "DataBox Disk Copy Progress", + "type": "object", + "properties": { + "serialNumber": { + "description": "The serial number of the disk", + "type": "string", + "readOnly": true + }, + "bytesCopied": { + "format": "int64", + "description": "Bytes copied during the copy of disk.", + "type": "integer", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "Indicates the percentage completed for the copy of the disk.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + } + ] + } + } + } + }, + "DataBoxDiskJobDetails": { + "description": "DataBox Disk Job Details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "preferredDisks": { + "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + }, + "copyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxDiskCopyProgress" + }, + "readOnly": true + }, + "disksAndSizeDetails": { + "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + }, + "passkey": { + "description": "User entered passkey for DataBox Disk job.", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskJobSecrets": { + "description": "The secrets related to disk job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "diskSecrets": { + "description": "Contains the list of secrets object for that device.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskSecret" + }, + "readOnly": true + }, + "passKey": { + "description": "PassKey for the disk Job.", + "type": "string", + "readOnly": true + }, + "isPasskeyUserDefined": { + "description": "Whether passkey was provided by user.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxHeavyAccountCopyLogDetails": { + "description": "Copy log details for a storage account for Databox heavy", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobDetails": { + "description": "Databox Heavy Device Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobSecrets": { + "description": "The secrets related to a databox heavy job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "cabinetPodSecrets": { + "description": "Contains the list of secret objects for a databox heavy job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxHeavySecret" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavySecret": { + "description": "The secrets related to a databox heavy.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataBoxJobDetails": { + "description": "Databox Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per storage account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataboxJobSecrets": { + "description": "The secrets related to a databox job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "podSecrets": { + "description": "Contains the list of secret objects for a job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxSecret" + } + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling data box orders orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxSecret": { + "description": "The secrets related to a DataBox.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataExportDetails": { + "description": "Details of the data to be used for exporting data from azure.", + "required": [ + "transferConfiguration", + "accountDetails" + ], + "type": "object", + "properties": { + "transferConfiguration": { + "$ref": "#/definitions/TransferConfiguration", + "description": "Configuration for the data transfer." + }, + "logCollectionLevel": { + "description": "Level of the logs to be collected.", + "enum": [ + "Error", + "Verbose" + ], + "type": "string", + "x-ms-enum": { + "name": "LogCollectionLevel", + "modelAsExtensible": true, + "values": [ + { + "value": "Error", + "description": "Only Errors will be collected in the logs." + }, + { + "value": "Verbose", + "description": "Verbose logging (includes Errors, CRC, size information and others)." + } + ] + } + }, + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataImportDetails": { + "description": "Details of the data to be used for importing data to azure.", + "required": [ + "accountDetails" + ], + "type": "object", + "properties": { + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataLocationToServiceLocationMap": { + "description": "Map of data location to service location", + "type": "object", + "properties": { + "dataLocation": { + "description": "Location of the data.", + "type": "string", + "readOnly": true + }, + "serviceLocation": { + "description": "Location of the service.", + "type": "string", + "readOnly": true + } + } + }, + "DataTransferDetailsValidationRequest": { + "description": "Request to validate export and import data details.", + "required": [ + "deviceType", + "transferType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "dataExportDetails": { + "description": "List of DataTransfer details to be used to export data from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "dataImportDetails": { + "description": "List of DataTransfer details to be used to import data to azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "deviceType": { + "description": "Device type.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DataTransferDetailsValidationResponseProperties": { + "description": "Properties of data transfer details validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Data transfer details validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DcAccessSecurityCode": { + "description": "Dc access security code", + "type": "object", + "properties": { + "reverseDcAccessCode": { + "description": "Reverse Dc access security code.", + "type": "string" + }, + "forwardDcAccessCode": { + "description": "Forward Dc access security code.", + "type": "string" + } + } + }, + "Details": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "DiskScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling disk orders.", + "required": [ + "storageLocation", + "skuName", + "expectedDataSizeInTerabytes" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": { + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DiskSecret": { + "description": "Contains all the secrets of a Disk.", + "type": "object", + "properties": { + "diskSerialNumber": { + "description": "Serial number of the assigned disk.", + "type": "string", + "readOnly": true + }, + "bitLockerKey": { + "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetail": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Details" + } + }, + "target": { + "type": "string" + } + } + }, + "FilterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "required": [ + "filterFileType", + "filterFilePath" + ], + "type": "object", + "properties": { + "filterFileType": { + "description": "Type of the filter file.", + "enum": [ + "AzureBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "FilterFileType", + "modelAsExtensible": true, + "values": [ + { + "value": "AzureBlob", + "description": "Filter file is of the type AzureBlob." + }, + { + "value": "AzureFile", + "description": "Filter file is of the type AzureFiles." + } + ] + } + }, + "filterFilePath": { + "description": "Path of the file that contains the details of all items to transfer.", + "type": "string" + } + } + }, + "HeavyScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling heavy orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "JobDeliveryInfo": { + "description": "Additional delivery info.", + "type": "object", + "properties": { + "scheduledDateTime": { + "format": "date-time", + "description": "Scheduled date time.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "properties": { + "jobStages": { + "description": "List of stages that run in the job.", + "type": "array", + "items": { + "$ref": "#/definitions/JobStages" + }, + "readOnly": true + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deliveryPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Delivery package shipping details.", + "readOnly": true + }, + "returnPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Return package shipping details.", + "readOnly": true + }, + "dataImportDetails": { + "description": "Details of the data to be imported into azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "dataExportDetails": { + "description": "Details of the data to be exported from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "jobDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Preferences for the order." + }, + "copyLogDetails": { + "description": "List of copy log details.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyLogDetails" + }, + "readOnly": true + }, + "reverseShipmentLabelSasKey": { + "description": "Shared access key to download the return shipment label", + "type": "string", + "readOnly": true + }, + "chainOfCustodySasKey": { + "description": "Shared access key to download the chain of custody logs", + "type": "string", + "readOnly": true + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Details about which key encryption type is being used.", + "readOnly": true + }, + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "discriminator": "jobDetailsType" + }, + "JobProperties": { + "description": "Job Properties", + "required": [ + "transferType" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the data transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "isCancellable": { + "description": "Describes whether the job is cancellable or not.", + "type": "boolean", + "readOnly": true + }, + "isDeletable": { + "description": "Describes whether the job is deletable or not.", + "type": "boolean", + "readOnly": true + }, + "isShippingAddressEditable": { + "description": "Describes whether the shipping address is editable or not.", + "type": "boolean", + "readOnly": true + }, + "isPrepareToShipEnabled": { + "description": "Is Prepare To Ship Enabled on this job", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "Name of the stage which is in progress.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "startTime": { + "format": "date-time", + "description": "Time at which the job was started in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Top level error for the job.", + "readOnly": true + }, + "details": { + "$ref": "#/definitions/JobDetails", + "description": "Details of a job run. This field will only be sent for expand details filter." + }, + "cancellationReason": { + "description": "Reason for cancellation.", + "type": "string", + "readOnly": true + }, + "deliveryType": { + "description": "Delivery type of Job.", + "enum": [ + "NonScheduled", + "Scheduled" + ], + "type": "string", + "x-ms-enum": { + "name": "JobDeliveryType", + "modelAsExtensible": true, + "values": [ + { + "value": "NonScheduled", + "description": "Non Scheduled job." + }, + { + "value": "Scheduled", + "description": "Scheduled job." + } + ] + } + }, + "deliveryInfo": { + "$ref": "#/definitions/JobDeliveryInfo", + "description": "Delivery Info of Job." + }, + "isCancellableWithoutFee": { + "description": "Flag to indicate cancellation of scheduled job.", + "type": "boolean", + "readOnly": true + } + } + }, + "JobResource": { + "description": "Job Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Properties of a job.", + "x-ms-client-flatten": true + }, + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "JobResourceList": { + "description": "Job Resource Collection", + "type": "object", + "properties": { + "value": { + "description": "List of job resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "JobResourceUpdateParameter": { + "description": "The JobResourceUpdateParameter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateJobProperties", + "description": "Properties of a job 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" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "JobSecrets": { + "description": "The base class for the secrets", + "required": [ + "jobSecretsType" + ], + "type": "object", + "properties": { + "jobSecretsType": { + "description": "Used to indicate what type of job secrets object.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "dcAccessSecurityCode": { + "$ref": "#/definitions/DcAccessSecurityCode", + "description": "Dc Access Security Code for Customer Managed Shipping", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error while fetching the secrets.", + "readOnly": true + } + }, + "discriminator": "jobSecretsType" + }, + "JobStages": { + "description": "Job stages.", + "type": "object", + "properties": { + "stageName": { + "description": "Name of the job stage.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "displayName": { + "description": "Display name of the job stage.", + "type": "string", + "readOnly": true + }, + "stageStatus": { + "description": "Status of the job stage.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling", + "SucceededWithErrors", + "WaitingForCustomerAction", + "SucceededWithWarnings" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsExtensible": 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." + }, + { + "value": "SucceededWithErrors", + "description": "Stage has succeeded with errors." + }, + { + "value": "WaitingForCustomerAction", + "description": "Stage is stuck until customer takes some action." + }, + { + "value": "SucceededWithWarnings", + "description": "Stage has succeeded with warnings." + } + ] + } + }, + "stageTime": { + "format": "date-time", + "description": "Time for the job stage in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "jobStageDetails": { + "description": "Job Stage Details", + "type": "object", + "readOnly": true + } + } + }, + "KeyEncryptionKey": { + "description": "Encryption key containing details about key to encrypt different keys.", + "required": [ + "kekType" + ], + "type": "object", + "properties": { + "kekType": { + "description": "Type of encryption key used for key encryption.", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "KekType", + "modelAsExtensible": true, + "values": [ + { + "value": "MicrosoftManaged", + "description": "Key encryption key is managed by Microsoft." + }, + { + "value": "CustomerManaged", + "description": "Key encryption key is managed by the Customer." + } + ] + } + }, + "kekUrl": { + "description": "Key encryption key. It is required in case of Customer managed KekType.", + "type": "string" + }, + "kekVaultResourceID": { + "description": "Kek vault resource id. It is required in case of Customer managed KekType.", + "type": "string" + } + } + }, + "ManagedDiskDetails": { + "description": "Details of the managed disks.", + "required": [ + "resourceGroupId", + "stagingStorageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "resourceGroupId": { + "description": "Resource Group Id of the compute disks.", + "type": "string" + }, + "stagingStorageAccountId": { + "description": "Resource Id of the storage account that can be used to copy the vhd for staging.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManagedDisk" + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DevicePrepared", + "description": "Notification at device prepared stage." + }, + { + "value": "Dispatched", + "description": "Notification at device dispatched stage." + }, + { + "value": "Delivered", + "description": "Notification at device delivered stage." + }, + { + "value": "PickedUp", + "description": "Notification at device picked up from user stage." + }, + { + "value": "AtAzureDC", + "description": "Notification at device received at Azure datacenter stage." + }, + { + "value": "DataCopy", + "description": "Notification at data copy started stage." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean" + } + } + }, + "Operation": { + "description": "Operation entity.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Operation display values.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "origin": { + "description": "Origin of the operation. Can be : user|system|user,system", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationDisplay": { + "description": "Operation display", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "Resource name.", + "type": "string" + }, + "operation": { + "description": "Localized name of the operation for display purpose.", + "type": "string" + }, + "description": { + "description": "Localized description of the operation for display purpose.", + "type": "string" + } + } + }, + "OperationList": { + "description": "Operation Collection.", + "type": "object", + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of operations.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "PackageShippingDetails": { + "description": "Shipping details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "Url where shipment can be tracked.", + "type": "string", + "readOnly": true + } + } + }, + "Preferences": { + "description": "Preferences related to the order", + "type": "object", + "properties": { + "preferredDataCenterRegion": { + "description": "Preferred data center region.", + "type": "array", + "items": { + "type": "string" + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + } + }, + "PreferencesValidationRequest": { + "description": "Request to validate preference of transport and data center.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "preference": { + "description": "Preference of transport and data center.", + "$ref": "#/definitions/Preferences" + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "PreferencesValidationResponseProperties": { + "description": "Properties of data center and transport preference validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of requested data center and transport.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "RegionConfigurationRequest": { + "description": "Request body to get the configuration for the region.", + "type": "object", + "properties": { + "scheduleAvailabilityRequest": { + "$ref": "#/definitions/ScheduleAvailabilityRequest", + "description": "Request body to get the availability for scheduling orders." + }, + "transportAvailabilityRequest": { + "$ref": "#/definitions/TransportAvailabilityRequest", + "description": "Request body to get the transport availability for given sku." + } + } + }, + "RegionConfigurationResponse": { + "description": "Configuration response specific to a region.", + "type": "object", + "properties": { + "scheduleAvailabilityResponse": { + "$ref": "#/definitions/ScheduleAvailabilityResponse", + "description": "Schedule availability for given sku in a region.", + "readOnly": true + }, + "transportAvailabilityResponse": { + "$ref": "#/definitions/TransportAvailabilityResponse", + "description": "Transport options available for given sku in a region.", + "readOnly": true + } + } + }, + "Resource": { + "description": "Model of the Resource.", + "required": [ + "location", + "sku" + ], + "type": "object", + "properties": { + "location": { + "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "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" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku type." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + }, + "x-ms-azure-resource": true + }, + "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 + } + } + }, + "ScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "properties": { + "storageLocation": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuName": { + "description": "Sku Name for which the order is to be scheduled.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "country": { + "description": "Country in which storage location should be supported.", + "type": "string" + } + }, + "discriminator": "skuName" + }, + "ScheduleAvailabilityResponse": { + "description": "Schedule availability for given sku in a region.", + "type": "object", + "properties": { + "availableDates": { + "description": "List of dates available to schedule", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + }, + "readOnly": true + } + } + }, + "ShareCredentialDetails": { + "description": "Credential details of the shares in account.", + "type": "object", + "properties": { + "shareName": { + "description": "Name of the share.", + "type": "string", + "readOnly": true + }, + "shareType": { + "description": "Type of the share.", + "enum": [ + "UnknownType", + "HCS", + "BlockBlob", + "PageBlob", + "AzureFile", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ShareDestinationFormatType", + "modelAsExtensible": true, + "values": [ + { + "value": "UnknownType", + "description": "Unknown format." + }, + { + "value": "HCS", + "description": "Storsimple data format." + }, + { + "value": "BlockBlob", + "description": "Azure storage block blob format." + }, + { + "value": "PageBlob", + "description": "Azure storage page blob format." + }, + { + "value": "AzureFile", + "description": "Azure storage file format." + }, + { + "value": "ManagedDisk", + "description": "Azure Compute Disk." + } + ] + } + }, + "userName": { + "description": "User name for the share.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Password for the share.", + "type": "string", + "readOnly": true + }, + "supportedAccessProtocols": { + "description": "Access protocols supported on the device.", + "type": "array", + "items": { + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessProtocol", + "modelAsExtensible": true, + "values": [ + { + "value": "SMB", + "description": "Server Message Block protocol(SMB)." + }, + { + "value": "NFS", + "description": "Network File System protocol(NFS)." + } + ] + } + }, + "readOnly": true + } + } + }, + "ShipmentPickUpRequest": { + "description": "Shipment pick up request details.", + "required": [ + "startTime", + "endTime", + "shipmentLocation" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "shipmentLocation": { + "description": "Shipment Location in the pickup place. Eg.front desk", + "type": "string" + } + } + }, + "ShipmentPickUpResponse": { + "description": "Shipment pick up response.", + "type": "object", + "properties": { + "confirmationNumber": { + "description": "Confirmation number for the pick up request.", + "type": "string", + "readOnly": true + }, + "readyByTime": { + "format": "date-time", + "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.", + "type": "string", + "readOnly": true + } + } + }, + "ShippingAddress": { + "description": "Shipping address where customer wishes to receive the device.", + "required": [ + "streetAddress1", + "country", + "postalCode" + ], + "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", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + } + } + } + }, + "Sku": { + "description": "The Sku.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "displayName": { + "description": "The display name of the sku.", + "type": "string" + }, + "family": { + "description": "The sku family.", + "type": "string" + } + } + }, + "SkuAvailabilityValidationRequest": { + "description": "Request to validate sku availability.", + "required": [ + "deviceType", + "transferType", + "country", + "location", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuAvailabilityValidationResponseProperties": { + "description": "Properties of sku availability validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Sku availability validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuCapacity": { + "description": "Capacity of the sku.", + "type": "object", + "properties": { + "usable": { + "description": "Usable capacity in TB.", + "type": "string", + "readOnly": true + }, + "maximum": { + "description": "Maximum capacity in TB.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "Describes metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Meter id of the Sku.", + "type": "string", + "readOnly": true + }, + "meterType": { + "description": "The type of the meter.", + "type": "string", + "readOnly": true + }, + "multiplier": { + "format": "double", + "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.", + "type": "number", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Information of the sku.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The Sku.", + "readOnly": true + }, + "enabled": { + "description": "The sku is enabled or not.", + "type": "boolean", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SkuProperties", + "description": "Properties of the sku.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "SkuProperties": { + "description": "Properties of the sku.", + "type": "object", + "properties": { + "dataLocationToServiceLocationMap": { + "description": "The map of data location to service location.", + "type": "array", + "items": { + "$ref": "#/definitions/DataLocationToServiceLocationMap" + }, + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Capacity of the Sku.", + "readOnly": true + }, + "costs": { + "description": "Cost of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "apiVersions": { + "description": "Api versions that support this Sku.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "disabledReason": { + "description": "Reason why the Sku is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuDisabledReason", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "SKU is not disabled." + }, + { + "value": "Country", + "description": "SKU is not available in the requested country." + }, + { + "value": "Region", + "description": "SKU is not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled for the SKU." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types for the SKU." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the Sku is disabled.", + "type": "string", + "readOnly": true + }, + "requiredFeature": { + "description": "Required feature to access the sku.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountDetails": { + "description": "Details for the storage account.", + "required": [ + "storageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "storageAccountId": { + "description": "Storage Account Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "SubscriptionIsAllowedToCreateJobValidationRequest": { + "description": "Request to validate subscription permission to create jobs.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "SubscriptionIsAllowedToCreateJobValidationResponseProperties": { + "description": "Properties of subscription permission to create job validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of subscription permission to create job.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "TransferAllDetails": { + "description": "Details to transfer all data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "transferAllBlobs": { + "description": "To indicate if all Azure blobs have to be transferred", + "type": "boolean" + }, + "transferAllFiles": { + "description": "To indicate if all Azure Files have to be transferred", + "type": "boolean" + } + } + }, + "TransferConfiguration": { + "description": "Configuration for defining the transfer of data.", + "required": [ + "transferConfigurationType" + ], + "type": "object", + "properties": { + "transferConfigurationType": { + "description": "Type of the configuration for transfer.", + "enum": [ + "TransferAll", + "TransferUsingFilter" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferConfigurationType", + "modelAsExtensible": true, + "values": [ + { + "value": "TransferAll", + "description": "Transfer all the data." + }, + { + "value": "TransferUsingFilter", + "description": "Transfer using filter." + } + ] + } + }, + "transferFilterDetails": { + "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.", + "type": "object", + "properties": { + "include": { + "description": "Details of the filtering the transfer of data.", + "$ref": "#/definitions/TransferFilterDetails" + } + } + }, + "transferAllDetails": { + "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll", + "type": "object", + "properties": { + "include": { + "description": "Details to transfer all data.", + "$ref": "#/definitions/TransferAllDetails" + } + } + } + } + }, + "TransferFilterDetails": { + "description": "Details of the filtering the transfer of data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "blobFilterDetails": { + "$ref": "#/definitions/BlobFilterDetails", + "description": "Filter details to transfer blobs." + }, + "azureFileFilterDetails": { + "$ref": "#/definitions/AzureFileFilterDetails", + "description": "Filter details to transfer Azure files." + }, + "filterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "type": "array", + "items": { + "$ref": "#/definitions/FilterFileDetails" + } + } + } + }, + "TransportAvailabilityDetails": { + "description": "Transport options availability details for given region.", + "type": "object", + "properties": { + "shipmentType": { + "description": "Transport Shipment Type supported for given region.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "TransportAvailabilityRequest": { + "description": "Request body to get the transport availability for given sku.", + "type": "object", + "properties": { + "skuName": { + "description": "Type of the device.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + }, + "TransportAvailabilityResponse": { + "description": "Transport options available for given sku in a region.", + "type": "object", + "properties": { + "transportAvailabilityDetails": { + "description": "List of transport availability details for given region", + "type": "array", + "items": { + "$ref": "#/definitions/TransportAvailabilityDetails" + }, + "readOnly": true + } + } + }, + "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", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "UnencryptedCredentials": { + "description": "Unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "jobName": { + "description": "Name of the job.", + "type": "string", + "readOnly": true + }, + "jobSecrets": { + "$ref": "#/definitions/JobSecrets", + "description": "Secrets related to this job.", + "readOnly": true + } + } + }, + "UnencryptedCredentialsList": { + "description": "List of unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "value": { + "description": "List of unencrypted credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/UnencryptedCredentials" + } + }, + "nextLink": { + "description": "Link for the next set of unencrypted credentials.", + "type": "string" + } + } + }, + "UpdateJobDetails": { + "description": "Job details for update.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Key encryption key for the job." + } + } + }, + "UpdateJobProperties": { + "description": "Job Properties for update", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/UpdateJobDetails", + "description": "Details of a job to be updated." + } + } + }, + "ValidateAddress": { + "description": "The requirements to validate customer address where the device needs to be shipped.", + "required": [ + "shippingAddress", + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ValidationInputRequest": { + "description": "Minimum fields that must be present in any type of validation request.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation request.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + } + }, + "discriminator": "validationType" + }, + "ValidationInputResponse": { + "description": "Minimum properties that should be present in each individual validation response.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation response.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error code and message of validation response.", + "readOnly": true + } + }, + "discriminator": "validationType" + }, + "ValidationRequest": { + "description": "Minimum request requirement of any validation category.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "properties": { + "validationCategory": { + "description": "Identify the nature of validation.", + "enum": [ + "JobCreationValidation" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationCategory", + "modelAsExtensible": true, + "values": [ + { + "value": "JobCreationValidation", + "description": "Identify request of pre-job creation validations." + } + ] + } + }, + "individualRequestDetails": { + "description": "List of request details contain validationType and its request as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputRequest" + } + } + }, + "discriminator": "validationCategory" + }, + "ValidationResponse": { + "description": "Response of pre job creation validations.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ValidationResponseProperties", + "description": "Properties of pre job creation validation response.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ValidationResponseProperties": { + "description": "Properties of pre job creation validation response.", + "type": "object", + "properties": { + "status": { + "description": "Overall validation status.", + "enum": [ + "AllValidToProceed", + "InputsRevisitRequired", + "CertainInputValidationsSkipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OverallValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "AllValidToProceed", + "description": "Every input request is valid." + }, + { + "value": "InputsRevisitRequired", + "description": "Some input requests are not valid." + }, + { + "value": "CertainInputValidationsSkipped", + "description": "Certain input validations skipped." + } + ] + } + }, + "individualResponseDetails": { + "description": "List of response details contain validationType and its response as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputResponse" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API Version", + "required": true, + "type": "string" + }, + "jobNameParameter": { + "name": "jobName", + "in": "path", + "description": "The name of the job Resource within the specified resource group. job 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" + }, + "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": { + "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/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json new file mode 100644 index 000000000000..1f8c4f4c1af2 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "ce815189-a9cc-4288-8166-d78f211bed5a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "84" + ], + "availableSkuRequest": { + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "DataBox" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "80", + "maximum": "100" + }, + "costs": [ + { + "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042", + "meterType": "DataBoxServiceFee", + "multiplier": 1 + }, + { + "meterId": "a701f058-119b-4713-a923-bed7da4b7801", + "meterType": "DataBoxShippingFee", + "multiplier": 1 + }, + { + "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed", + "meterType": "DataBoxExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057", + "meterType": "DataBoxLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxDisk" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "35", + "maximum": "40" + }, + "costs": [ + { + "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f", + "meterType": "DataBoxDiskServiceFee", + "multiplier": 1 + }, + { + "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e", + "meterType": "DataBoxDiskShippingFee", + "multiplier": 1 + }, + { + "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4", + "meterType": "DataBoxDiskDailyUsageFee", + "multiplier": 1 + }, + { + "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e", + "meterType": "DataBoxDiskLostDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxHeavy" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "800", + "maximum": "1000" + }, + "costs": [ + { + "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126", + "meterType": "DataBoxHeavyServiceFee", + "multiplier": 1 + }, + { + "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9", + "meterType": "DataBoxHeavyShippingFee", + "multiplier": 1 + }, + { + "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7", + "meterType": "DataBoxHeavyExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f", + "meterType": "DataBoxHeavyLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None", + "requiredFeature": "HeavyCreateAccess" + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json new file mode 100644 index 000000000000..bec928ad7c87 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2019-09-01", + "x-ms-client-request-id": [ + "e1437186-b41d-492e-9b7a-e197c28a517a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.27817.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18362.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "118" + ], + "shipmentPickUpRequest": { + "startTime": "2019-09-20T18:30:00Z", + "endTime": "2019-09-22T18:30:00Z", + "shipmentLocation": "Front desk" + } + }, + "responses": { + "200": { + "body": { + "confirmationNumber": "2929602E9CP", + "readyByTime": "2019-09-20T18:30:00Z" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json new file mode 100644 index 000000000000..b0615f487570 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "95fc15f7-4976-46bb-8370-74ed4cb676be" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "30" + ], + "cancellationReason": { + "reason": "CancelTest" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json new file mode 100644 index 000000000000..d4c85d99bfb2 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "04f2835f-a2a2-4f25-96df-568460e5be24" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1064" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json new file mode 100644 index 000000000000..e0966d489b9f --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7478", + "jobName": "SdkJob9640", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "c4c8f926-ebbe-4c07-ae1a-b716911058df" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1168" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "devicePassword": "Abcd223@22344", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "sharePassword": "Abcd223@22344Abcd223@22344" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob9640", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json new file mode 100644 index 000000000000..9ed85155cd73 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1395" + ], + "jobResource": { + "properties": { + "transferType": "ExportFromAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json new file mode 100644 index 000000000000..eb1ae2a45dec --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json new file mode 100644 index 000000000000..ba27dbca634d --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "e76214b0-6013-499e-8f91-3a287f421f2e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:50:40.1872217+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json new file mode 100644 index 000000000000..4ae6cb839525 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c8cf9d3e-55f1-488f-bcee-53f4939f44e8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:47:42.0009935+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:47:44.8736499+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r", + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json new file mode 100644 index 000000000000..2544b1682896 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "b3739c7c-02b6-46c2-a04c-da6f8bca279c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "Cancelled", + "startTime": "2020-08-07T10:49:08.7195419+05:30", + "details": { + "copyProgress": [ + { + "storageAccountName": "aaaaaa2", + "transferType": "ExportFromAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "bytesProcessed": 0, + "totalBytesToProcess": 0, + "isEnumerationInProgress": false + } + ], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:12.7675644+05:30" + }, + { + "stageName": "Cancelled", + "displayName": "Canceled", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:57.2572438+05:30" + } + ], + "contactDetails": { + "contactName": " ", + "emailList": [], + "phone": "1234567890", + "phoneExtension": "1234", + "notificationPreference": [] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [], + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferFilterDetails": {}, + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "logCollectionLevel": "Error", + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r", + "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "cancellationReason": "CancelTest", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json new file mode 100644 index 000000000000..09068ac61e28 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json @@ -0,0 +1,805 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "044127c5-663e-4a0f-9061-2fa0ca8058c4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T14:44:39.77401+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "mnaustest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-09-10T18:03:22.2578238+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "portalcontractAUS", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T15:17:17.3753642+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "testBB-diskAU", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T11:12:15.5972523+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "allXML", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-07T15:51:08.4479315+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "bothExportAllxml", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T19:44:59.2410723+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T18:31:05.3036028+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "importRegressnTest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-09T01:57:03.8985885+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testBotthXMLAndAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-05T15:56:52.6983398+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testExportAllOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T17:45:25.464989+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testPayload", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T10:43:04.8775864+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "xmlOnlyOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-11-27T15:17:49.0760408+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testbadresourcegroup", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-01-04T09:08:49.9928621+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "andipodtest4jan", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-28T15:20:48.1058546+05:30", + "cancellationReason": "NoLongerNeeded null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "dbtest1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:51:18.2067875+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautam14-04-Clone", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-27T18:08:30.6622356+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestexport", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-21T20:41:02.3837388+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "DegautamTestExportOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-24T07:56:23.6839464+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:48:21.2260174+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamTestOrder14-04", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-12T12:19:19.8627264+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "export", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-05T19:50:20.9692355+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportTestResource", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:09:45.7080012+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportNew", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:13:02.5724966+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-20T13:39:28.1940929+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:14:59.6879599+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-07-21T23:43:34.513148+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "saranyagorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-07-04T14:01:50.9232807+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testdeepak04-07", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-02-11T12:33:16.6231232+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBoxHeavy" + }, + "identity": { + "type": "None" + }, + "name": "testdurga-heavy", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy", + "type": "Microsoft.DataBox/jobs" + } + ], + "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-04-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json new file mode 100644 index 000000000000..f3697a29a111 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c1514209-a439-4bd1-b040-76d7539d2509" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-07-03T11:55:54.463792+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob5928", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json new file mode 100644 index 000000000000..20101ff6dc09 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "cda11c92-529b-4b75-b56d-ff1a69ffeeba" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobName": "TJ-636646322037905056", + "jobSecrets": { + "podSecrets": [ + { + "deviceSerialNumber": "testimolapod-3ecc44ce", + "devicePassword": "cT5nt8R;S%5", + "networkConfigurations": [ + { + "name": "DataPort3", + "macAddress": "D05099C1F439" + }, + { + "name": "DataPort1", + "macAddress": "EC0D9A21A6C0" + }, + { + "name": "DataPort2", + "macAddress": "EC0D9A21A6C1" + } + ], + "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==", + "accountCredentialDetails": [ + { + "accountName": "databoxbvttestaccount", + "dataAccountType": "StorageAccount", + "accountConnectionString": "", + "shareCredentialDetails": [ + { + "shareName": "databoxbvttestaccount_PageBlob", + "shareType": "PageBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_BlockBlob", + "shareType": "BlockBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_AzFile", + "shareType": "AzureFile", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + } + ] + } + ] + } + ], + "jobSecretsType": "DataBox", + "dcAccessSecurityCode": {} + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json new file mode 100644 index 000000000000..2f34b6fd3217 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "ff3829ca-bcb0-4737-b6e0-52af57f34bb7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "584" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "contactDetails": { + "contactName": "Update Job", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json new file mode 100644 index 000000000000..899ea6b87097 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "fcab0fa9-7af8-47e0-b570-d703a48ee66b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "358" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json new file mode 100644 index 000000000000..175a10a5e8cd --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "b9453354-c675-40a8-99c0-8039818c85fd" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBox/locations/operationResults/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operation Results", + "operation": "List Operation Results", + "description": "List or get the Operation Results" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/cancel/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Cancel", + "description": "Cancels an order in progress." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Book Shipment Pick Up", + "description": "Allows to book a pick up for return shipments." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/read", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Orders", + "description": "List or get the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/delete", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Delete Orders", + "description": "Delete the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/write", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Create or Update Orders", + "description": "Create or update the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/listCredentials/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Credentials", + "description": "Lists the unencrypted credentials related to the order." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateInputs/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Inputs", + "operation": "Validate Inputs", + "description": "This method does all type of validations." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateAddress/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Address", + "operation": "Validate Address", + "description": "Validates the shipping address and provides alternate addresses if any." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Move Resource", + "description": "This method performs the resource move." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Validate Move Resource Request", + "description": "This method validates whether resource move is allowed or not." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/action", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "Availabe Skus", + "description": "This method returns the list of available skus." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/regionConfiguration/action", + "display": { + "provider": "Azure Data Box", + "resource": "Region Configuration", + "operation": "Region Configuration", + "description": "This method returns the configurations for the region." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/read", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "List Available Skus", + "description": "List or get the Available Skus" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/register/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Register Microsoft.Databox", + "description": "Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/unregister/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Un-Register Microsoft.Databox", + "description": "Un-Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/operations/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operations", + "operation": "List Operations", + "description": "List or get the Operations" + }, + "properties": {}, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json new file mode 100644 index 000000000000..fe90d5aba5cb --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json new file mode 100644 index 000000000000..a1df996e1da1 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg4981", + "location": "westus", + "api-version": "2020-04-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json new file mode 100644 index 000000000000..76f2fa59a0bc --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "cfda3c52-b129-4568-aba7-e743edf747c2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "351" + ], + "validateAddress": { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress" + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json new file mode 100644 index 000000000000..820e8c21cdd4 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "129a0589-5017-4f35-a66c-8da38e04aae1" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json new file mode 100644 index 000000000000..5a551216c1e0 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg6861", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "85f045bb-7659-4a2f-bcf5-96723954afdf" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json new file mode 100644 index 000000000000..068771392d92 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/databox.json @@ -0,0 +1,4785 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-11-01", + "title": "DataBoxManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBox/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "This method gets all the operations.", + "operationId": "Operations_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The supported operations list.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the subscription.", + "operationId": "Jobs_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs available under the subscription.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsList": { + "$ref": "./examples/JobsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": { + "post": { + "tags": [ + "Service" + ], + "description": "This method provides the list of available skus for the given subscription, resource group and location.", + "operationId": "Service_ListAvailableSkusByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "availableSkuRequest", + "in": "body", + "description": "Filters for showing the available skus.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableSkuRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available skus under Resource group.", + "schema": { + "$ref": "#/definitions/AvailableSkusResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkusPost": { + "$ref": "./examples/AvailableSkusPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": { + "post": { + "tags": [ + "Service" + ], + "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.", + "operationId": "Service_ValidateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validateAddress", + "in": "body", + "description": "Shipping address of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateAddress" + } + } + ], + "responses": { + "200": { + "description": "The valid and alternate addresses.", + "schema": { + "$ref": "#/definitions/AddressValidationOutput" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "deprecated": true, + "x-ms-examples": { + "ValidateAddressPost": { + "$ref": "./examples/ValidateAddressPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under resource group.", + "operationId": "Service_ValidateInputsByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputsByResourceGroup": { + "$ref": "./examples/ValidateInputsByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under subscription.", + "operationId": "Service_ValidateInputs", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputs": { + "$ref": "./examples/ValidateInputs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the given resource group.", + "operationId": "Jobs_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs by resource group.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsListByResourceGroup": { + "$ref": "./examples/JobsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets information about the specified job.", + "operationId": "Jobs_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on details parameter for job, which provides details on the job stages.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + }, + "JobsGetCmk": { + "$ref": "./examples/JobsGetCmk.json" + }, + "JobsGetExport": { + "$ref": "./examples/JobsGetExport.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.", + "operationId": "Jobs_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "jobResource", + "in": "body", + "description": "Job details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResource" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for create Job." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsCreate": { + "$ref": "./examples/JobsCreate.json" + }, + "JobsCreateDevicePassword": { + "$ref": "./examples/JobsCreateDevicePassword.json" + }, + "JobsCreateExport": { + "$ref": "./examples/JobsCreateExport.json" + }, + "JobsCreateDoubleEncryption": { + "$ref": "./examples/JobsCreateDoubleEncryption.json" + }, + "JobsCreateWithUserAssignedIdentity": { + "$ref": "./examples/JobsCreateWithUserAssignedIdentity.json" + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "description": "Deletes a job.", + "operationId": "Jobs_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Just for swagger we are adding this status code." + }, + "202": { + "description": "Accepted request for delete Job." + }, + "204": { + "description": "Job deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsDelete": { + "$ref": "./examples/JobsDelete.json" + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "description": "Updates the properties of an existing job.", + "operationId": "Jobs_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/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.", + "type": "string" + }, + { + "name": "jobResourceUpdateParameter", + "in": "body", + "description": "Job update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResourceUpdateParameter" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for job updated." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsPatch": { + "$ref": "./examples/JobsPatch.json" + }, + "JobsPatchCmk": { + "$ref": "./examples/JobsPatchCmk.json" + }, + "JobsPatchSystemAssignedToUserAssigned": { + "$ref": "./examples/JobsPatchSystemAssignedToUserAssigned.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Book shipment pick up.", + "operationId": "Jobs_BookShipmentPickUp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "shipmentPickUpRequest", + "in": "body", + "description": "Details of shipment pick up request.", + "required": true, + "schema": { + "$ref": "#/definitions/ShipmentPickUpRequest" + } + } + ], + "responses": { + "200": { + "description": "Booked shipment pick up successfully.", + "schema": { + "$ref": "#/definitions/ShipmentPickUpResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "BookShipmentPickupPost": { + "$ref": "./examples/BookShipmentPickupPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": { + "post": { + "tags": [ + "Jobs" + ], + "description": "CancelJob.", + "operationId": "Jobs_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "204": { + "description": "Job cancelled." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsCancelPost": { + "$ref": "./examples/JobsCancelPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": { + "post": { + "tags": [ + "Jobs" + ], + "description": "This method gets the unencrypted secrets related to the job.", + "operationId": "Jobs_ListCredentials", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of unencrypted credentials of the job.", + "schema": { + "$ref": "#/definitions/UnencryptedCredentialsList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "JobsListCredentials": { + "$ref": "./examples/JobsListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Subscription level.", + "operationId": "Service_RegionConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfiguration": { + "$ref": "./examples/RegionConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Resource group level.", + "operationId": "Service_RegionConfigurationByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region at resource group level.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfigurationByResourceGroup": { + "$ref": "./examples/RegionConfigurationByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "AccountCredentialDetails": { + "description": "Credential details of the account.", + "type": "object", + "properties": { + "accountName": { + "description": "Name of the account.", + "type": "string", + "readOnly": true + }, + "dataAccountType": { + "description": "Type of the account.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountConnectionString": { + "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.", + "type": "string", + "readOnly": true + }, + "shareCredentialDetails": { + "description": "Per share level unencrypted access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/ShareCredentialDetails" + }, + "readOnly": true + } + } + }, + "AdditionalErrorInfo": { + "type": "object", + "description": "Additional error info.", + "properties": { + "type": { + "description": "Additional error type.", + "type": "string" + }, + "info": { + "description": "Additional error info.", + "type": "object" + } + } + }, + "AddressValidationOutput": { + "description": "Output of the address validation api.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressValidationProperties", + "description": "The address validation properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AddressValidationProperties": { + "description": "The address validation output.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "validationStatus": { + "description": "The address validation status.", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsExtensible": 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." + } + ] + } + }, + "alternateAddresses": { + "description": "List of alternate addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/ShippingAddress" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ApiError": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ApplianceNetworkConfiguration": { + "description": "The Network Adapter configuration of a DataBox.", + "type": "object", + "properties": { + "name": { + "description": "Name of the network.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac Address.", + "type": "string", + "readOnly": true + } + } + }, + "ArmBaseObject": { + "description": "Base class for all objects under resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "AvailableSkuRequest": { + "description": "The filters for showing the available skus.", + "required": [ + "transferType", + "country", + "location" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuNames": { + "description": "Sku Names to filter for available skus", + "type": "array", + "items": { + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + } + }, + "AvailableSkusResult": { + "description": "The available skus operation response.", + "type": "object", + "properties": { + "value": { + "description": "List of available skus.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of skus.", + "type": "string" + } + } + }, + "AzureFileFilterDetails": { + "description": "Filter details to transfer Azure files", + "type": "object", + "properties": { + "filePrefixList": { + "description": "Prefix list of the Azure files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "filePathList": { + "description": "List of full path of the files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "fileShareList": { + "description": "List of file shares to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BlobFilterDetails": { + "description": "Filter details to transfer Azure Blobs", + "type": "object", + "properties": { + "blobPrefixList": { + "description": "Prefix list of the Azure blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "blobPathList": { + "description": "List of full path of the blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "containerList": { + "description": "List of blob containers to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CloudError": { + "description": "Cloud error.", + "type": "object", + "properties": { + "code": { + "description": "Cloud error code.", + "type": "string" + }, + "message": { + "description": "Cloud error message.", + "type": "string" + }, + "target": { + "description": "Cloud error target.", + "type": "string" + }, + "details": { + "description": "Cloud error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + }, + "readOnly": true + }, + "additionalInfo": { + "description": "Cloud error additional info.", + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalErrorInfo" + }, + "readOnly": true + } + }, + "x-ms-external": true + }, + "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.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationPreference": { + "description": "Notification preference for a job stage.", + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + } + } + } + }, + "CopyLogDetails": { + "description": "Details for log generated during copy.", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "properties": { + "copyLogDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + } + }, + "discriminator": "copyLogDetailsType" + }, + "CopyProgress": { + "description": "Copy progress.", + "type": "object", + "properties": { + "storageAccountName": { + "description": "Name of the storage account. This will be empty for data account types other than storage account.", + "type": "string", + "readOnly": true + }, + "transferType": { + "description": "Transfer type of data", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "dataAccountType": { + "description": "Data Account Type.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountId": { + "description": "Id of the account where the data needs to be uploaded.", + "type": "string", + "readOnly": true + }, + "bytesProcessed": { + "format": "int64", + "description": "To indicate bytes transferred.", + "type": "integer", + "readOnly": true + }, + "totalBytesToProcess": { + "format": "int64", + "description": "Total amount of data to be processed by the job.", + "type": "integer", + "readOnly": true + }, + "filesProcessed": { + "format": "int64", + "description": "Number of files processed", + "type": "integer", + "readOnly": true + }, + "totalFilesToProcess": { + "format": "int64", + "description": "Total files to process", + "type": "integer", + "readOnly": true + }, + "invalidFilesProcessed": { + "format": "int64", + "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "invalidFileBytesUploaded": { + "format": "int64", + "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "renamedContainerCount": { + "format": "int64", + "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "filesErroredOut": { + "format": "int64", + "description": "Number of files which could not be copied", + "type": "integer", + "readOnly": true + }, + "directoriesErroredOut": { + "format": "int64", + "description": "To indicate directories errored out in the job.", + "type": "integer", + "readOnly": true + }, + "invalidDirectoriesProcessed": { + "format": "int64", + "description": "To indicate directories renamed", + "type": "integer", + "readOnly": true + }, + "isEnumerationInProgress": { + "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.", + "type": "boolean", + "readOnly": true + } + } + }, + "CreateJobValidations": { + "description": "It does all pre-job creation validations.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "JobCreationValidation" + }, + "CreateOrderLimitForSubscriptionValidationRequest": { + "description": "Request to validate create order limit for current subscription.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "CreateOrderLimitForSubscriptionValidationResponseProperties": { + "description": "Properties of create order limit for subscription validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Create order limit validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "DataAccountDetails": { + "description": "Account details of the data to be transferred", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Account Type of the data to be transferred.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "sharePassword": { + "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "discriminator": "dataAccountType" + }, + "DataBoxAccountCopyLogDetails": { + "description": "Copy log details for a storage account of a DataBox job", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "string", + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxDiskCopyLogDetails": { + "description": "Copy Log Details for a disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "diskSerialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskCopyProgress": { + "description": "DataBox Disk Copy Progress", + "type": "object", + "properties": { + "serialNumber": { + "description": "The serial number of the disk", + "type": "string", + "readOnly": true + }, + "bytesCopied": { + "format": "int64", + "description": "Bytes copied during the copy of disk.", + "type": "integer", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "Indicates the percentage completed for the copy of the disk.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + } + ] + } + } + } + }, + "DataBoxDiskJobDetails": { + "description": "DataBox Disk Job Details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "preferredDisks": { + "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + }, + "copyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxDiskCopyProgress" + }, + "readOnly": true + }, + "disksAndSizeDetails": { + "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + }, + "passkey": { + "description": "User entered passkey for DataBox Disk job.", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskJobSecrets": { + "description": "The secrets related to disk job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "diskSecrets": { + "description": "Contains the list of secrets object for that device.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskSecret" + }, + "readOnly": true + }, + "passKey": { + "description": "PassKey for the disk Job.", + "type": "string", + "readOnly": true + }, + "isPasskeyUserDefined": { + "description": "Whether passkey was provided by user.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxHeavyAccountCopyLogDetails": { + "description": "Copy log details for a storage account for Databox heavy", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobDetails": { + "description": "Databox Heavy Device Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobSecrets": { + "description": "The secrets related to a databox heavy job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "cabinetPodSecrets": { + "description": "Contains the list of secret objects for a databox heavy job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxHeavySecret" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavySecret": { + "description": "The secrets related to a databox heavy.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataBoxJobDetails": { + "description": "Databox Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per storage account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataboxJobSecrets": { + "description": "The secrets related to a databox job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "podSecrets": { + "description": "Contains the list of secret objects for a job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxSecret" + } + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling data box orders orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxSecret": { + "description": "The secrets related to a DataBox.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataExportDetails": { + "description": "Details of the data to be used for exporting data from azure.", + "required": [ + "transferConfiguration", + "accountDetails" + ], + "type": "object", + "properties": { + "transferConfiguration": { + "$ref": "#/definitions/TransferConfiguration", + "description": "Configuration for the data transfer." + }, + "logCollectionLevel": { + "description": "Level of the logs to be collected.", + "enum": [ + "Error", + "Verbose" + ], + "type": "string", + "x-ms-enum": { + "name": "LogCollectionLevel", + "modelAsExtensible": true, + "values": [ + { + "value": "Error", + "description": "Only Errors will be collected in the logs." + }, + { + "value": "Verbose", + "description": "Verbose logging (includes Errors, CRC, size information and others)." + } + ] + } + }, + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataImportDetails": { + "description": "Details of the data to be used for importing data to azure.", + "required": [ + "accountDetails" + ], + "type": "object", + "properties": { + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataLocationToServiceLocationMap": { + "description": "Map of data location to service location", + "type": "object", + "properties": { + "dataLocation": { + "description": "Location of the data.", + "type": "string", + "readOnly": true + }, + "serviceLocation": { + "description": "Location of the service.", + "type": "string", + "readOnly": true + } + } + }, + "DataTransferDetailsValidationRequest": { + "description": "Request to validate export and import data details.", + "required": [ + "deviceType", + "transferType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "dataExportDetails": { + "description": "List of DataTransfer details to be used to export data from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "dataImportDetails": { + "description": "List of DataTransfer details to be used to import data to azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "deviceType": { + "description": "Device type.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DataTransferDetailsValidationResponseProperties": { + "description": "Properties of data transfer details validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Data transfer details validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DcAccessSecurityCode": { + "description": "Dc access security code", + "type": "object", + "properties": { + "reverseDcAccessCode": { + "description": "Reverse Dc access security code.", + "type": "string" + }, + "forwardDcAccessCode": { + "description": "Forward Dc access security code.", + "type": "string" + } + } + }, + "Details": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "DiskScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling disk orders.", + "required": [ + "storageLocation", + "skuName", + "expectedDataSizeInTerabytes" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": { + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DiskSecret": { + "description": "Contains all the secrets of a Disk.", + "type": "object", + "properties": { + "diskSerialNumber": { + "description": "Serial number of the assigned disk.", + "type": "string", + "readOnly": true + }, + "bitLockerKey": { + "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionPreferences": { + "description": "Preferences related to the Encryption.", + "type": "object", + "properties": { + "doubleEncryption": { + "description": "Defines secondary layer of software-based encryption enablement.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DoubleEncryption", + "modelAsExtensible": true, + "values": [ + { + "value": "Enabled", + "description": "Software-based encryption is enabled." + }, + { + "value": "Disabled", + "description": "Software-based encryption is disabled." + } + ] + } + } + } + }, + "ErrorDetail": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Details" + } + }, + "target": { + "type": "string" + } + } + }, + "FilterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "required": [ + "filterFileType", + "filterFilePath" + ], + "type": "object", + "properties": { + "filterFileType": { + "description": "Type of the filter file.", + "enum": [ + "AzureBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "FilterFileType", + "modelAsExtensible": true, + "values": [ + { + "value": "AzureBlob", + "description": "Filter file is of the type AzureBlob." + }, + { + "value": "AzureFile", + "description": "Filter file is of the type AzureFiles." + } + ] + } + }, + "filterFilePath": { + "description": "Path of the file that contains the details of all items to transfer.", + "type": "string" + } + } + }, + "HeavyScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling heavy orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "IdentityProperties": { + "description": "Managed identity properties.", + "type": "object", + "properties": { + "type": { + "description": "Managed service identity type.", + "type": "string" + }, + "userAssigned": { + "$ref": "#/definitions/UserAssignedProperties", + "description": "User assigned identity properties." + } + } + }, + "JobDeliveryInfo": { + "description": "Additional delivery info.", + "type": "object", + "properties": { + "scheduledDateTime": { + "format": "date-time", + "description": "Scheduled date time.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "properties": { + "jobStages": { + "description": "List of stages that run in the job.", + "type": "array", + "items": { + "$ref": "#/definitions/JobStages" + }, + "readOnly": true + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deliveryPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Delivery package shipping details.", + "readOnly": true + }, + "returnPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Return package shipping details.", + "readOnly": true + }, + "dataImportDetails": { + "description": "Details of the data to be imported into azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "dataExportDetails": { + "description": "Details of the data to be exported from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "jobDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Preferences for the order." + }, + "copyLogDetails": { + "description": "List of copy log details.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyLogDetails" + }, + "readOnly": true + }, + "reverseShipmentLabelSasKey": { + "description": "Shared access key to download the return shipment label", + "type": "string", + "readOnly": true + }, + "chainOfCustodySasKey": { + "description": "Shared access key to download the chain of custody logs", + "type": "string", + "readOnly": true + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Details about which key encryption type is being used.", + "readOnly": true + }, + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "discriminator": "jobDetailsType" + }, + "JobProperties": { + "description": "Job Properties", + "required": [ + "transferType" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the data transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "isCancellable": { + "description": "Describes whether the job is cancellable or not.", + "type": "boolean", + "readOnly": true + }, + "isDeletable": { + "description": "Describes whether the job is deletable or not.", + "type": "boolean", + "readOnly": true + }, + "isShippingAddressEditable": { + "description": "Describes whether the shipping address is editable or not.", + "type": "boolean", + "readOnly": true + }, + "isPrepareToShipEnabled": { + "description": "Is Prepare To Ship Enabled on this job", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "Name of the stage which is in progress.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "startTime": { + "format": "date-time", + "description": "Time at which the job was started in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Top level error for the job.", + "readOnly": true + }, + "details": { + "$ref": "#/definitions/JobDetails", + "description": "Details of a job run. This field will only be sent for expand details filter." + }, + "cancellationReason": { + "description": "Reason for cancellation.", + "type": "string", + "readOnly": true + }, + "deliveryType": { + "description": "Delivery type of Job.", + "enum": [ + "NonScheduled", + "Scheduled" + ], + "type": "string", + "x-ms-enum": { + "name": "JobDeliveryType", + "modelAsExtensible": true, + "values": [ + { + "value": "NonScheduled", + "description": "Non Scheduled job." + }, + { + "value": "Scheduled", + "description": "Scheduled job." + } + ] + } + }, + "deliveryInfo": { + "$ref": "#/definitions/JobDeliveryInfo", + "description": "Delivery Info of Job." + }, + "isCancellableWithoutFee": { + "description": "Flag to indicate cancellation of scheduled job.", + "type": "boolean", + "readOnly": true + } + } + }, + "JobResource": { + "description": "Job Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Properties of a job.", + "x-ms-client-flatten": true + }, + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "JobResourceList": { + "description": "Job Resource Collection", + "type": "object", + "properties": { + "value": { + "description": "List of job resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "JobResourceUpdateParameter": { + "description": "The JobResourceUpdateParameter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateJobProperties", + "description": "Properties of a job 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" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "JobSecrets": { + "description": "The base class for the secrets", + "required": [ + "jobSecretsType" + ], + "type": "object", + "properties": { + "jobSecretsType": { + "description": "Used to indicate what type of job secrets object.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "dcAccessSecurityCode": { + "$ref": "#/definitions/DcAccessSecurityCode", + "description": "Dc Access Security Code for Customer Managed Shipping", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error while fetching the secrets.", + "readOnly": true + } + }, + "discriminator": "jobSecretsType" + }, + "JobStages": { + "description": "Job stages.", + "type": "object", + "properties": { + "stageName": { + "description": "Name of the job stage.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "displayName": { + "description": "Display name of the job stage.", + "type": "string", + "readOnly": true + }, + "stageStatus": { + "description": "Status of the job stage.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling", + "SucceededWithErrors", + "WaitingForCustomerAction", + "SucceededWithWarnings" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsExtensible": 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." + }, + { + "value": "SucceededWithErrors", + "description": "Stage has succeeded with errors." + }, + { + "value": "WaitingForCustomerAction", + "description": "Stage is stuck until customer takes some action." + }, + { + "value": "SucceededWithWarnings", + "description": "Stage has succeeded with warnings." + } + ] + } + }, + "stageTime": { + "format": "date-time", + "description": "Time for the job stage in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "jobStageDetails": { + "description": "Job Stage Details", + "type": "object", + "readOnly": true + } + } + }, + "KeyEncryptionKey": { + "description": "Encryption key containing details about key to encrypt different keys.", + "required": [ + "kekType" + ], + "type": "object", + "properties": { + "kekType": { + "description": "Type of encryption key used for key encryption.", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "KekType", + "modelAsExtensible": true, + "values": [ + { + "value": "MicrosoftManaged", + "description": "Key encryption key is managed by Microsoft." + }, + { + "value": "CustomerManaged", + "description": "Key encryption key is managed by the Customer." + } + ] + } + }, + "identityProperties": { + "$ref": "#/definitions/IdentityProperties", + "description": "Managed identity properties used for key encryption." + }, + "kekUrl": { + "description": "Key encryption key. It is required in case of Customer managed KekType.", + "type": "string" + }, + "kekVaultResourceID": { + "description": "Kek vault resource id. It is required in case of Customer managed KekType.", + "type": "string" + } + } + }, + "ManagedDiskDetails": { + "description": "Details of the managed disks.", + "required": [ + "resourceGroupId", + "stagingStorageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "resourceGroupId": { + "description": "Resource Group Id of the compute disks.", + "type": "string" + }, + "stagingStorageAccountId": { + "description": "Resource Id of the storage account that can be used to copy the vhd for staging.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManagedDisk" + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DevicePrepared", + "description": "Notification at device prepared stage." + }, + { + "value": "Dispatched", + "description": "Notification at device dispatched stage." + }, + { + "value": "Delivered", + "description": "Notification at device delivered stage." + }, + { + "value": "PickedUp", + "description": "Notification at device picked up from user stage." + }, + { + "value": "AtAzureDC", + "description": "Notification at device received at Azure datacenter stage." + }, + { + "value": "DataCopy", + "description": "Notification at data copy started stage." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean" + } + } + }, + "Operation": { + "description": "Operation entity.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Operation display values.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "origin": { + "description": "Origin of the operation. Can be : user|system|user,system", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationDisplay": { + "description": "Operation display", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "Resource name.", + "type": "string" + }, + "operation": { + "description": "Localized name of the operation for display purpose.", + "type": "string" + }, + "description": { + "description": "Localized description of the operation for display purpose.", + "type": "string" + } + } + }, + "OperationList": { + "description": "Operation Collection.", + "type": "object", + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of operations.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "PackageShippingDetails": { + "description": "Shipping details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "Url where shipment can be tracked.", + "type": "string", + "readOnly": true + } + } + }, + "Preferences": { + "description": "Preferences related to the order", + "type": "object", + "properties": { + "preferredDataCenterRegion": { + "description": "Preferred data center region.", + "type": "array", + "items": { + "type": "string" + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + }, + "encryptionPreferences": { + "$ref": "#/definitions/EncryptionPreferences", + "description": "Preferences related to the Encryption." + } + } + }, + "PreferencesValidationRequest": { + "description": "Request to validate preference of transport and data center.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "preference": { + "description": "Preference of transport and data center.", + "$ref": "#/definitions/Preferences" + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "PreferencesValidationResponseProperties": { + "description": "Properties of data center and transport preference validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of requested data center and transport.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "RegionConfigurationRequest": { + "description": "Request body to get the configuration for the region.", + "type": "object", + "properties": { + "scheduleAvailabilityRequest": { + "$ref": "#/definitions/ScheduleAvailabilityRequest", + "description": "Request body to get the availability for scheduling orders." + }, + "transportAvailabilityRequest": { + "$ref": "#/definitions/TransportAvailabilityRequest", + "description": "Request body to get the transport availability for given sku." + } + } + }, + "RegionConfigurationResponse": { + "description": "Configuration response specific to a region.", + "type": "object", + "properties": { + "scheduleAvailabilityResponse": { + "$ref": "#/definitions/ScheduleAvailabilityResponse", + "description": "Schedule availability for given sku in a region.", + "readOnly": true + }, + "transportAvailabilityResponse": { + "$ref": "#/definitions/TransportAvailabilityResponse", + "description": "Transport options available for given sku in a region.", + "readOnly": true + } + } + }, + "Resource": { + "description": "Model of the Resource.", + "required": [ + "location", + "sku" + ], + "type": "object", + "properties": { + "location": { + "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "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" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku type." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + }, + "x-ms-azure-resource": true + }, + "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 + }, + "userAssignedIdentities": { + "description": "User Assigned Identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "ScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "properties": { + "storageLocation": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuName": { + "description": "Sku Name for which the order is to be scheduled.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "country": { + "description": "Country in which storage location should be supported.", + "type": "string" + } + }, + "discriminator": "skuName" + }, + "ScheduleAvailabilityResponse": { + "description": "Schedule availability for given sku in a region.", + "type": "object", + "properties": { + "availableDates": { + "description": "List of dates available to schedule", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + }, + "readOnly": true + } + } + }, + "ShareCredentialDetails": { + "description": "Credential details of the shares in account.", + "type": "object", + "properties": { + "shareName": { + "description": "Name of the share.", + "type": "string", + "readOnly": true + }, + "shareType": { + "description": "Type of the share.", + "enum": [ + "UnknownType", + "HCS", + "BlockBlob", + "PageBlob", + "AzureFile", + "ManagedDisk", + "AzurePremiumFiles" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ShareDestinationFormatType", + "modelAsExtensible": true, + "values": [ + { + "value": "UnknownType", + "description": "Unknown format." + }, + { + "value": "HCS", + "description": "Storsimple data format." + }, + { + "value": "BlockBlob", + "description": "Azure storage block blob format." + }, + { + "value": "PageBlob", + "description": "Azure storage page blob format." + }, + { + "value": "AzureFile", + "description": "Azure storage file format." + }, + { + "value": "ManagedDisk", + "description": "Azure Compute Disk." + }, + { + "value": "AzurePremiumFiles", + "description": "Azure storage Premium Files format" + } + ] + } + }, + "userName": { + "description": "User name for the share.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Password for the share.", + "type": "string", + "readOnly": true + }, + "supportedAccessProtocols": { + "description": "Access protocols supported on the device.", + "type": "array", + "items": { + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessProtocol", + "modelAsExtensible": true, + "values": [ + { + "value": "SMB", + "description": "Server Message Block protocol(SMB)." + }, + { + "value": "NFS", + "description": "Network File System protocol(NFS)." + } + ] + } + }, + "readOnly": true + } + } + }, + "ShipmentPickUpRequest": { + "description": "Shipment pick up request details.", + "required": [ + "startTime", + "endTime", + "shipmentLocation" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "shipmentLocation": { + "description": "Shipment Location in the pickup place. Eg.front desk", + "type": "string" + } + } + }, + "ShipmentPickUpResponse": { + "description": "Shipment pick up response.", + "type": "object", + "properties": { + "confirmationNumber": { + "description": "Confirmation number for the pick up request.", + "type": "string", + "readOnly": true + }, + "readyByTime": { + "format": "date-time", + "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.", + "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", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + } + } + } + }, + "Sku": { + "description": "The Sku.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "displayName": { + "description": "The display name of the sku.", + "type": "string" + }, + "family": { + "description": "The sku family.", + "type": "string" + } + } + }, + "SkuAvailabilityValidationRequest": { + "description": "Request to validate sku availability.", + "required": [ + "deviceType", + "transferType", + "country", + "location", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuAvailabilityValidationResponseProperties": { + "description": "Properties of sku availability validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Sku availability validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuCapacity": { + "description": "Capacity of the sku.", + "type": "object", + "properties": { + "usable": { + "description": "Usable capacity in TB.", + "type": "string", + "readOnly": true + }, + "maximum": { + "description": "Maximum capacity in TB.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "Describes metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Meter id of the Sku.", + "type": "string", + "readOnly": true + }, + "meterType": { + "description": "The type of the meter.", + "type": "string", + "readOnly": true + }, + "multiplier": { + "format": "double", + "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.", + "type": "number", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Information of the sku.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The Sku.", + "readOnly": true + }, + "enabled": { + "description": "The sku is enabled or not.", + "type": "boolean", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SkuProperties", + "description": "Properties of the sku.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "SkuProperties": { + "description": "Properties of the sku.", + "type": "object", + "properties": { + "dataLocationToServiceLocationMap": { + "description": "The map of data location to service location.", + "type": "array", + "items": { + "$ref": "#/definitions/DataLocationToServiceLocationMap" + }, + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Capacity of the Sku.", + "readOnly": true + }, + "costs": { + "description": "Cost of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "apiVersions": { + "description": "Api versions that support this Sku.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "disabledReason": { + "description": "Reason why the Sku is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuDisabledReason", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "SKU is not disabled." + }, + { + "value": "Country", + "description": "SKU is not available in the requested country." + }, + { + "value": "Region", + "description": "SKU is not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled for the SKU." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types for the SKU." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the Sku is disabled.", + "type": "string", + "readOnly": true + }, + "requiredFeature": { + "description": "Required feature to access the sku.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountDetails": { + "description": "Details for the storage account.", + "required": [ + "storageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "storageAccountId": { + "description": "Storage Account Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "SubscriptionIsAllowedToCreateJobValidationRequest": { + "description": "Request to validate subscription permission to create jobs.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "SubscriptionIsAllowedToCreateJobValidationResponseProperties": { + "description": "Properties of subscription permission to create job validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of subscription permission to create job.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "TransferAllDetails": { + "description": "Details to transfer all data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "transferAllBlobs": { + "description": "To indicate if all Azure blobs have to be transferred", + "type": "boolean" + }, + "transferAllFiles": { + "description": "To indicate if all Azure Files have to be transferred", + "type": "boolean" + } + } + }, + "TransferConfiguration": { + "description": "Configuration for defining the transfer of data.", + "required": [ + "transferConfigurationType" + ], + "type": "object", + "properties": { + "transferConfigurationType": { + "description": "Type of the configuration for transfer.", + "enum": [ + "TransferAll", + "TransferUsingFilter" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferConfigurationType", + "modelAsExtensible": true, + "values": [ + { + "value": "TransferAll", + "description": "Transfer all the data." + }, + { + "value": "TransferUsingFilter", + "description": "Transfer using filter." + } + ] + } + }, + "transferFilterDetails": { + "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.", + "type": "object", + "properties": { + "include": { + "description": "Details of the filtering the transfer of data.", + "$ref": "#/definitions/TransferFilterDetails" + } + } + }, + "transferAllDetails": { + "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll", + "type": "object", + "properties": { + "include": { + "description": "Details to transfer all data.", + "$ref": "#/definitions/TransferAllDetails" + } + } + } + } + }, + "TransferFilterDetails": { + "description": "Details of the filtering the transfer of data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "blobFilterDetails": { + "$ref": "#/definitions/BlobFilterDetails", + "description": "Filter details to transfer blobs." + }, + "azureFileFilterDetails": { + "$ref": "#/definitions/AzureFileFilterDetails", + "description": "Filter details to transfer Azure files." + }, + "filterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "type": "array", + "items": { + "$ref": "#/definitions/FilterFileDetails" + } + } + } + }, + "TransportAvailabilityDetails": { + "description": "Transport options availability details for given region.", + "type": "object", + "properties": { + "shipmentType": { + "description": "Transport Shipment Type supported for given region.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "TransportAvailabilityRequest": { + "description": "Request body to get the transport availability for given sku.", + "type": "object", + "properties": { + "skuName": { + "description": "Type of the device.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + }, + "TransportAvailabilityResponse": { + "description": "Transport options available for given sku in a region.", + "type": "object", + "properties": { + "transportAvailabilityDetails": { + "description": "List of transport availability details for given region", + "type": "array", + "items": { + "$ref": "#/definitions/TransportAvailabilityDetails" + }, + "readOnly": true + } + } + }, + "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", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "UnencryptedCredentials": { + "description": "Unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "jobName": { + "description": "Name of the job.", + "type": "string", + "readOnly": true + }, + "jobSecrets": { + "$ref": "#/definitions/JobSecrets", + "description": "Secrets related to this job.", + "readOnly": true + } + } + }, + "UnencryptedCredentialsList": { + "description": "List of unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "value": { + "description": "List of unencrypted credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/UnencryptedCredentials" + } + }, + "nextLink": { + "description": "Link for the next set of unencrypted credentials.", + "type": "string" + } + } + }, + "UpdateJobDetails": { + "description": "Job details for update.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Key encryption key for the job." + } + } + }, + "UpdateJobProperties": { + "description": "Job Properties for update", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/UpdateJobDetails", + "description": "Details of a job to be updated." + } + } + }, + "UserAssignedIdentity": { + "description": "Class defining User assigned identity details.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "UserAssignedProperties": { + "description": "User assigned identity properties.", + "type": "object", + "properties": { + "resourceId": { + "description": "Arm resource id for user assigned identity to be used to fetch MSI token.", + "type": "string" + } + } + }, + "ValidateAddress": { + "description": "The requirements to validate customer address where the device needs to be shipped.", + "required": [ + "shippingAddress", + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ValidationInputRequest": { + "description": "Minimum fields that must be present in any type of validation request.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation request.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + } + }, + "discriminator": "validationType" + }, + "ValidationInputResponse": { + "description": "Minimum properties that should be present in each individual validation response.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation response.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error code and message of validation response.", + "readOnly": true + } + }, + "discriminator": "validationType" + }, + "ValidationRequest": { + "description": "Minimum request requirement of any validation category.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "properties": { + "validationCategory": { + "description": "Identify the nature of validation.", + "enum": [ + "JobCreationValidation" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationCategory", + "modelAsExtensible": true, + "values": [ + { + "value": "JobCreationValidation", + "description": "Identify request of pre-job creation validations." + } + ] + } + }, + "individualRequestDetails": { + "description": "List of request details contain validationType and its request as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputRequest" + } + } + }, + "discriminator": "validationCategory" + }, + "ValidationResponse": { + "description": "Response of pre job creation validations.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ValidationResponseProperties", + "description": "Properties of pre job creation validation response.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ValidationResponseProperties": { + "description": "Properties of pre job creation validation response.", + "type": "object", + "properties": { + "status": { + "description": "Overall validation status.", + "enum": [ + "AllValidToProceed", + "InputsRevisitRequired", + "CertainInputValidationsSkipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OverallValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "AllValidToProceed", + "description": "Every input request is valid." + }, + { + "value": "InputsRevisitRequired", + "description": "Some input requests are not valid." + }, + { + "value": "CertainInputValidationsSkipped", + "description": "Certain input validations skipped." + } + ] + } + }, + "individualResponseDetails": { + "description": "List of response details contain validationType and its response as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputResponse" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API Version", + "required": true, + "type": "string" + }, + "jobNameParameter": { + "name": "jobName", + "in": "path", + "description": "The name of the job Resource within the specified resource group. job 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" + }, + "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": { + "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/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/AvailableSkusPost.json new file mode 100644 index 000000000000..b152fbd9b733 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/AvailableSkusPost.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "location": "westus", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "ce815189-a9cc-4288-8166-d78f211bed5a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "84" + ], + "availableSkuRequest": { + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "DataBox" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "80", + "maximum": "100" + }, + "costs": [ + { + "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042", + "meterType": "DataBoxServiceFee", + "multiplier": 1 + }, + { + "meterId": "a701f058-119b-4713-a923-bed7da4b7801", + "meterType": "DataBoxShippingFee", + "multiplier": 1 + }, + { + "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed", + "meterType": "DataBoxExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057", + "meterType": "DataBoxLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxDisk" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "35", + "maximum": "40" + }, + "costs": [ + { + "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f", + "meterType": "DataBoxDiskServiceFee", + "multiplier": 1 + }, + { + "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e", + "meterType": "DataBoxDiskShippingFee", + "multiplier": 1 + }, + { + "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4", + "meterType": "DataBoxDiskDailyUsageFee", + "multiplier": 1 + }, + { + "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e", + "meterType": "DataBoxDiskLostDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxHeavy" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "800", + "maximum": "1000" + }, + "costs": [ + { + "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126", + "meterType": "DataBoxHeavyServiceFee", + "multiplier": 1 + }, + { + "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9", + "meterType": "DataBoxHeavyShippingFee", + "multiplier": 1 + }, + { + "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7", + "meterType": "DataBoxHeavyExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f", + "meterType": "DataBoxHeavyLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None", + "requiredFeature": "HeavyCreateAccess" + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/BookShipmentPickupPost.json new file mode 100644 index 000000000000..bec928ad7c87 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/BookShipmentPickupPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2019-09-01", + "x-ms-client-request-id": [ + "e1437186-b41d-492e-9b7a-e197c28a517a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.27817.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18362.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "118" + ], + "shipmentPickUpRequest": { + "startTime": "2019-09-20T18:30:00Z", + "endTime": "2019-09-22T18:30:00Z", + "shipmentLocation": "Front desk" + } + }, + "responses": { + "200": { + "body": { + "confirmationNumber": "2929602E9CP", + "readyByTime": "2019-09-20T18:30:00Z" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCancelPost.json new file mode 100644 index 000000000000..9203b2b65bf0 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCancelPost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "95fc15f7-4976-46bb-8370-74ed4cb676be" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "30" + ], + "cancellationReason": { + "reason": "CancelTest" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreate.json new file mode 100644 index 000000000000..00263e181498 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreate.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "04f2835f-a2a2-4f25-96df-568460e5be24" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1064" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDevicePassword.json new file mode 100644 index 000000000000..7328395015a5 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDevicePassword.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7478", + "jobName": "SdkJob9640", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "c4c8f926-ebbe-4c07-ae1a-b716911058df" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1168" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "devicePassword": "Abcd223@22344", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "sharePassword": "Abcd223@22344Abcd223@22344" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob9640", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDoubleEncryption.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDoubleEncryption.json new file mode 100644 index 000000000000..3710dbc740bf --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateDoubleEncryption.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg608", + "jobName": "SdkJob6599", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "c9c24c55-fd51-4374-839e-60ee5f0d8832" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1186" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "preferences": { + "encryptionPreferences": { + "doubleEncryption": "Enabled" + } + } + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6599", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg608/providers/Microsoft.DataBox/jobs/SdkJob6599", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateExport.json new file mode 100644 index 000000000000..4356fc39fd85 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateExport.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1395" + ], + "jobResource": { + "properties": { + "transferType": "ExportFromAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateWithUserAssignedIdentity.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateWithUserAssignedIdentity.json new file mode 100644 index 000000000000..ccc4f82aff22 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsCreateWithUserAssignedIdentity.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7552", + "jobName": "SdkJob5337", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "618b064d-967c-4156-a8dd-a9867cc22af9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1318" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {} + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob5337", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7552/providers/Microsoft.DataBox/jobs/SdkJob5337", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsDelete.json new file mode 100644 index 000000000000..c408ddf7352f --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGet.json new file mode 100644 index 000000000000..c8dc2863f7df --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGet.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "e76214b0-6013-499e-8f91-3a287f421f2e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:50:40.1872217+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetCmk.json new file mode 100644 index 000000000000..73882b877d1f --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetCmk.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c8cf9d3e-55f1-488f-bcee-53f4939f44e8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:47:42.0009935+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:47:44.8736499+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r", + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetExport.json new file mode 100644 index 000000000000..f5a346dce6e3 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsGetExport.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "b3739c7c-02b6-46c2-a04c-da6f8bca279c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "Cancelled", + "startTime": "2020-08-07T10:49:08.7195419+05:30", + "details": { + "copyProgress": [ + { + "storageAccountName": "aaaaaa2", + "transferType": "ExportFromAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "bytesProcessed": 0, + "totalBytesToProcess": 0, + "isEnumerationInProgress": false + } + ], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:12.7675644+05:30" + }, + { + "stageName": "Cancelled", + "displayName": "Canceled", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:57.2572438+05:30" + } + ], + "contactDetails": { + "contactName": " ", + "emailList": [], + "phone": "1234567890", + "phoneExtension": "1234", + "notificationPreference": [] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [], + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferFilterDetails": {}, + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "logCollectionLevel": "Error", + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r", + "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "cancellationReason": "CancelTest", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsList.json new file mode 100644 index 000000000000..d64a4a51fe40 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsList.json @@ -0,0 +1,805 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "044127c5-663e-4a0f-9061-2fa0ca8058c4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T14:44:39.77401+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "mnaustest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-09-10T18:03:22.2578238+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "portalcontractAUS", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T15:17:17.3753642+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "testBB-diskAU", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T11:12:15.5972523+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "allXML", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-07T15:51:08.4479315+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "bothExportAllxml", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T19:44:59.2410723+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T18:31:05.3036028+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "importRegressnTest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-09T01:57:03.8985885+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testBotthXMLAndAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-05T15:56:52.6983398+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testExportAllOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T17:45:25.464989+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testPayload", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T10:43:04.8775864+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "xmlOnlyOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-11-27T15:17:49.0760408+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testbadresourcegroup", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-01-04T09:08:49.9928621+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "andipodtest4jan", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-28T15:20:48.1058546+05:30", + "cancellationReason": "NoLongerNeeded null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "dbtest1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:51:18.2067875+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautam14-04-Clone", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-27T18:08:30.6622356+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestexport", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-21T20:41:02.3837388+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "DegautamTestExportOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-24T07:56:23.6839464+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:48:21.2260174+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamTestOrder14-04", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-12T12:19:19.8627264+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "export", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-05T19:50:20.9692355+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportTestResource", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:09:45.7080012+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportNew", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:13:02.5724966+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-20T13:39:28.1940929+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:14:59.6879599+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-07-21T23:43:34.513148+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "saranyagorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-07-04T14:01:50.9232807+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testdeepak04-07", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-02-11T12:33:16.6231232+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBoxHeavy" + }, + "identity": { + "type": "None" + }, + "name": "testdurga-heavy", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy", + "type": "Microsoft.DataBox/jobs" + } + ], + "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-11-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListByResourceGroup.json new file mode 100644 index 000000000000..61e890cd477b --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListByResourceGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c1514209-a439-4bd1-b040-76d7539d2509" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-07-03T11:55:54.463792+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob5928", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListCredentials.json new file mode 100644 index 000000000000..620e05afbfd1 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsListCredentials.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "cda11c92-529b-4b75-b56d-ff1a69ffeeba" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobName": "TJ-636646322037905056", + "jobSecrets": { + "podSecrets": [ + { + "deviceSerialNumber": "testimolapod-3ecc44ce", + "devicePassword": "cT5nt8R;S%5", + "networkConfigurations": [ + { + "name": "DataPort3", + "macAddress": "D05099C1F439" + }, + { + "name": "DataPort1", + "macAddress": "EC0D9A21A6C0" + }, + { + "name": "DataPort2", + "macAddress": "EC0D9A21A6C1" + } + ], + "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==", + "accountCredentialDetails": [ + { + "accountName": "databoxbvttestaccount", + "dataAccountType": "StorageAccount", + "accountConnectionString": "", + "shareCredentialDetails": [ + { + "shareName": "databoxbvttestaccount_PageBlob", + "shareType": "PageBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_BlockBlob", + "shareType": "BlockBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_AzFile", + "shareType": "AzureFile", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + } + ] + } + ] + } + ], + "jobSecretsType": "DataBox", + "dcAccessSecurityCode": {} + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatch.json new file mode 100644 index 000000000000..92febae7150b --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-11-01", + "$expand": "details", + "x-ms-client-request-id": [ + "ff3829ca-bcb0-4737-b6e0-52af57f34bb7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "584" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "contactDetails": { + "contactName": "Update Job", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchCmk.json new file mode 100644 index 000000000000..1992899e8242 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchCmk.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "fcab0fa9-7af8-47e0-b570-d703a48ee66b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "358" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchSystemAssignedToUserAssigned.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchSystemAssignedToUserAssigned.json new file mode 100644 index 000000000000..c2d169ad6a82 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/JobsPatchSystemAssignedToUserAssigned.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg9765", + "jobName": "SdkJob2965", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "25b11bec-6551-47a4-9ee2-575245cbfd45" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "923" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "identityProperties": { + "type": "UserAssigned", + "userAssigned": { + "resourceId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity" + } + }, + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {} + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob2965", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg9765/providers/Microsoft.DataBox/jobs/SdkJob2965", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/OperationsGet.json new file mode 100644 index 000000000000..f96f0598e269 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/OperationsGet.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "b9453354-c675-40a8-99c0-8039818c85fd" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBox/locations/operationResults/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operation Results", + "operation": "List Operation Results", + "description": "List or get the Operation Results" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/cancel/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Cancel", + "description": "Cancels an order in progress." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Book Shipment Pick Up", + "description": "Allows to book a pick up for return shipments." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/read", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Orders", + "description": "List or get the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/delete", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Delete Orders", + "description": "Delete the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/write", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Create or Update Orders", + "description": "Create or update the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/listCredentials/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Credentials", + "description": "Lists the unencrypted credentials related to the order." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateInputs/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Inputs", + "operation": "Validate Inputs", + "description": "This method does all type of validations." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateAddress/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Address", + "operation": "Validate Address", + "description": "Validates the shipping address and provides alternate addresses if any." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Move Resource", + "description": "This method performs the resource move." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Validate Move Resource Request", + "description": "This method validates whether resource move is allowed or not." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/action", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "Availabe Skus", + "description": "This method returns the list of available skus." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/regionConfiguration/action", + "display": { + "provider": "Azure Data Box", + "resource": "Region Configuration", + "operation": "Region Configuration", + "description": "This method returns the configurations for the region." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/read", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "List Available Skus", + "description": "List or get the Available Skus" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/register/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Register Microsoft.Databox", + "description": "Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/unregister/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Un-Register Microsoft.Databox", + "description": "Un-Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/operations/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operations", + "operation": "List Operations", + "description": "List or get the Operations" + }, + "properties": {}, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfiguration.json new file mode 100644 index 000000000000..ea1758e64f6b --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfiguration.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-11-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfigurationByResourceGroup.json new file mode 100644 index 000000000000..653dbcb9e19e --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/RegionConfigurationByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg4981", + "location": "westus", + "api-version": "2020-11-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateAddressPost.json new file mode 100644 index 000000000000..40a3f3c5037d --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateAddressPost.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "cfda3c52-b129-4568-aba7-e743edf747c2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "351" + ], + "validateAddress": { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress" + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputs.json new file mode 100644 index 000000000000..cd8a27819782 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputs.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "129a0589-5017-4f35-a66c-8da38e04aae1" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputsByResourceGroup.json new file mode 100644 index 000000000000..c70a59c27ffe --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-11-01/examples/ValidateInputsByResourceGroup.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg6861", + "location": "westus", + "api-version": "2020-11-01", + "x-ms-client-request-id": [ + "85f045bb-7659-4a2f-bcf5-96723954afdf" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/readme.azureresourceschema.md b/specification/databox/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c4424d428592 --- /dev/null +++ b/specification/databox/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-databox-2020-11-01 + - tag: schema-databox-2020-04-01 + - tag: schema-databox-2019-09-01 + - tag: schema-databox-2018-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databox-2020-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2020-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2020-11-01/databox.json + +``` + +### Tag: schema-databox-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2020-04-01/databox.json + +``` + +### Tag: schema-databox-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2019-09-01/databox.json + +``` + +### Tag: schema-databox-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2018-01-01/databox.json + +``` diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md index f284d008936f..36d7f11fa3d8 100644 --- a/specification/databox/resource-manager/readme.go.md +++ b/specification/databox/resource-manager/readme.go.md @@ -15,6 +15,8 @@ go: batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 + - tag: package-2020-11 ``` ### Tag: package-2018-01 and go @@ -33,4 +35,22 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace) +``` + +### Tag: package-2020-11 and go + +These settings apply only when `--tag=package-2020-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-11' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-11-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md index cb252a0cfb96..88bd4002d480 100644 --- a/specification/databox/resource-manager/readme.md +++ b/specification/databox/resource-manager/readme.md @@ -26,7 +26,25 @@ These are the global settings for the DataBox API. ``` yaml openapi-type: arm -tag: package-2019-09 +tag: package-2020-11 +``` + +### Tag: package-2020-11 + +These settings apply only when `--tag=package-2020-11` is specified on the command line. + +``` yaml $(tag) == 'package-2020-11' +input-file: +- Microsoft.DataBox/stable/2020-11-01/databox.json +``` + +### Tag: package-2020-04 + +These settings apply only when `--tag=package-2020-04` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04' +input-file: +- Microsoft.DataBox/stable/2020-04-01/databox.json ``` ### Tag: package-2019-09 @@ -60,6 +78,8 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-databox - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-go @@ -68,6 +88,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databox'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databox/resource-manager ``` ## C# @@ -118,6 +141,8 @@ java: batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 + - tag: package-2020-11 ``` ### Tag: package-2018-01 and java @@ -146,28 +171,33 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +### Tag: package-2020-04 and java -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +These settings apply only when `--tag=package-2020-04-java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. -This block is updated by an automatic script. Edits may be lost! +``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databox.v2020_04-01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01 +regenerate-manager: true +generate-interface: true +``` -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +### Tag: package-2020-11 and java -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DataBox/stable/2019-09-01/databox.json - - $(this-folder)/Microsoft.DataBox/stable/2018-01-01/databox.json +These settings apply only when `--tag=package-2020-11-java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. +``` yaml $(tag) == 'package-2020-11' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databox.v2020_11-01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_11_01 +regenerate-manager: true +generate-interface: true ``` -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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md index c58c21fa9f86..ebdc1a83087b 100644 --- a/specification/databox/resource-manager/readme.python.md +++ b/specification/databox/resource-manager/readme.python.md @@ -15,14 +15,61 @@ python: title: DataBoxManagementClient description: The DataBox Client. clear-output-folder: true + no-namespace-folders: true ``` -``` yaml $(python) && $(python-mode) == 'update' + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2020-11 + - tag: package-2020-04 + - tag: package-2019-09 + - tag: package-2018-01 +``` + +### Tag: package-2020-11 and python + +These settings apply only when `--tag=package-2020-11 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-11' && $(python) python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox + namespace: azure.mgmt.databox.v2020_11_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01 ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Tag: package-2020-04 and python + +These settings apply only when `--tag=package-2020-04 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(python) +python: + namespace: azure.mgmt.databox.v2020_04_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01 +``` + +### Tag: package-2019-09 and python + +These settings apply only when `--tag=package-2019-09 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-09' && $(python) python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox + namespace: azure.mgmt.databox.v2019_09_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01 ``` + +### Tag: package-2018-01 and python + +These settings apply only when `--tag=package-2018-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-01' && $(python) +python: + namespace: azure.mgmt.databox.v2018_01_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01 +``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md index 2720469a3277..fddb1784e32c 100644 --- a/specification/databox/resource-manager/readme.ruby.md +++ b/specification/databox/resource-manager/readme.ruby.md @@ -14,6 +14,8 @@ azure-arm: true batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 + - tag: package-2020-11 ``` ### Tag: package-2018-01 and ruby @@ -35,3 +37,23 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(ruby) +namespace: "Azure::Compute::Mgmt::V2020_04_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib +``` + +### Tag: package-2020-11 and ruby + +These settings apply only when `--tag=package-2020-11 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-11' && $(ruby) +namespace: "Azure::Compute::Mgmt::V2020_11_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib +``` \ No newline at end of file diff --git a/specification/databoxedge/resource-manager/readme.azureresourceschema.md b/specification/databoxedge/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..12341995da0e --- /dev/null +++ b/specification/databoxedge/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-databoxedge-2020-05-01-preview + - tag: schema-databoxedge-2019-08-01 + - tag: schema-databoxedge-2019-07-01 + - tag: schema-databoxedge-2019-03-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databoxedge-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json + +``` diff --git a/specification/databoxedge/resource-manager/readme.csharp.md b/specification/databoxedge/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..b1bb3573a220 --- /dev/null +++ b/specification/databoxedge/resource-manager/readme.csharp.md @@ -0,0 +1,35 @@ +# C# Compute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DataBoxEdge. + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +## Common C# settings + +## 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: 2 + clear-output-folder: true +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).DataBoxEdge +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/DataBoxEdge/Management.DataBoxEdge/Generated + +batch: + - tag: profile-hybrid-2020-09-01 +``` \ No newline at end of file diff --git a/specification/databoxedge/resource-manager/readme.java.md b/specification/databoxedge/resource-manager/readme.java.md new file mode 100644 index 000000000000..d3c928f81c4e --- /dev/null +++ b/specification/databoxedge/resource-manager/readme.java.md @@ -0,0 +1,75 @@ +## Java + +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.databoxedge +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 0 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-05-preview + - tag: package-2019-08 + - tag: package-2019-07 + - tag: package-2019-03 +``` + +### Tag: package-2020-05-preview and java + +These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/v2020_05_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2019-08 and java + +These settings apply only when `--tag=package-2019-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databoxedge.v2019_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_08_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2019-07 and java + +These settings apply only when `--tag=package-2019-07 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databoxedge.v2019_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_07_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2019-03 and java + +These settings apply only when `--tag=package-2019-03 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databoxedge.v2019_03_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_03_01 +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md index 525e9e046a23..7c5fc55e4b88 100644 --- a/specification/databoxedge/resource-manager/readme.md +++ b/specification/databoxedge/resource-manager/readme.md @@ -64,6 +64,16 @@ These settings apply only when `--tag=package-2019-03` is specified on the comma input-file: - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json ``` + +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: +- Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json +``` + --- # Code Generation @@ -86,6 +96,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databoxedge/resource-manager ``` ## C# @@ -117,104 +130,9 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -These settings apply only when `--java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(java) -java: - azure-arm: true - fluent: true - namespace: com.microsoft.azure.management.databoxedge - license-header: MICROSOFT_MIT_NO_CODEGEN - payload-flattening-threshold: 0 - output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2019-03 - - tag: package-2019-07 - - tag: package-2019-08 - - tag: package-2020-05-preview -``` - -### Tag: package-2020-05-preview and java - -These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. +See configuration in [readme.java.md](./readme.java.md) -``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview - output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2020_05_01_preview -regenerate-manager: true -generate-interface: true -``` +## AzureResourceSchema -### Tag: package-2019-08 and java +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -These settings apply only when `--tag=package-2019-08 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2019-08' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.databoxedge.v2019_08_01 - output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2019_08_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2019-07 and java - -These settings apply only when `--tag=package-2019-07 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2019-07' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.databoxedge.v2019_07_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_07_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2019-03 and java - -These settings apply only when `--tag=package-2019-03 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.databoxedge.v2019_03_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2019_03_01 -regenerate-manager: true -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.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json - - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json - - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json - - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.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/databricks/resource-manager/readme.azureresourceschema.md b/specification/databricks/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d05e235cbedf --- /dev/null +++ b/specification/databricks/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-databricks-2018-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databricks-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databricks-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Databricks/stable/2018-04-01/databricks.json + +``` diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md index 2b393ef2e23a..738868fe3b76 100644 --- a/specification/databricks/resource-manager/readme.md +++ b/specification/databricks/resource-manager/readme.md @@ -61,6 +61,18 @@ input-file: - Microsoft.Databricks/stable/2018-04-01/databricks.json ``` +--- +# Suppressions + +``` yaml +directive: + - suppress: R3016 + from: databricks.json + where: $.definitions.Encryption.properties.KeyName + reason: Response from service is not camel case +``` + +--- # Code Generation ## Swagger to SDK @@ -74,6 +86,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databricks/resource-manager ``` ## Go @@ -83,27 +98,7 @@ See configuration in [readme.go.md](./readme.go.md) ## Python See configuration in [readme.python.md](./readme.python.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! +## AzureResourceSchema -``` 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.Databricks/stable/2018-04-01/databricks.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datacatalog/resource-manager/readme.azureresourceschema.md b/specification/datacatalog/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7c377f7a6300 --- /dev/null +++ b/specification/datacatalog/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-datacatalog-2016-03-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datacatalog-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-datacatalog-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json + +``` diff --git a/specification/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md index 02f87406e5e8..8a2adf1fe7df 100644 --- a/specification/datacatalog/resource-manager/readme.md +++ b/specification/datacatalog/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datacatalog/resource-manager ``` ## C# @@ -134,27 +137,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.DataCatalog/stable/2016-03-30/datacatalog.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json new file mode 100644 index 000000000000..08c44ae921da --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json @@ -0,0 +1,1795 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Datadog", + "version": "2020-02-01-preview" + }, + "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.Datadog/monitors/{monitorName}/listApiKeys": { + "post": { + "tags": [ + "ApiKey" + ], + "summary": "List the api keys for a given monitor resource.", + "operationId": "ApiKeys_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogApiKeyListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ApiKeys_List": { + "$ref": "./examples/ApiKeys_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/getDefaultKey": { + "post": { + "tags": [ + "ApiKey" + ], + "summary": "Get the default api key.", + "operationId": "ApiKeys_GetDefaultKey", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogApiKey" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "ApiKeys_GetDefaultKey": { + "$ref": "./examples/ApiKeys_GetDefaultKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/setDefaultKey": { + "post": { + "tags": [ + "ApiKey" + ], + "summary": "Set the default api key.", + "operationId": "ApiKeys_SetDefaultKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DatadogApiKey" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "ApiKeys_SetDefaultKey": { + "$ref": "./examples/ApiKeys_SetDefaultKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listHosts": { + "post": { + "tags": [ + "Hosts" + ], + "summary": "List the hosts for a given monitor resource.", + "operationId": "Hosts_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogHostListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Hosts_List": { + "$ref": "./examples/Hosts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listLinkedResources": { + "post": { + "tags": [ + "LinkedResources" + ], + "summary": "List all Azure resources associated to the same Datadog organization as the target resource.", + "operationId": "LinkedResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/LinkedResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LinkedResources_List": { + "$ref": "./examples/LinkedResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listMonitoredResources": { + "post": { + "tags": [ + "MonitoredResources" + ], + "summary": "List the resources currently being monitored by the Datadog monitor resource.", + "operationId": "MonitoredResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MonitoredResources_List": { + "$ref": "./examples/MonitoredResources_List.json" + } + } + } + }, + "/providers/Microsoft.Datadog/operations": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all operations provided by Microsoft.Datadog for the 2020-02-01-preview api version.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified subscription.", + "operationId": "Monitors_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_List": { + "$ref": "./examples/Monitors_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified resource group.", + "operationId": "Monitors_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListByResourceGroup": { + "$ref": "./examples/Monitors_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "Get the properties of a specific monitor resource.", + "operationId": "Monitors_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Get": { + "$ref": "./examples/Monitors_Get.json" + } + } + }, + "put": { + "tags": [ + "MonitorsResource" + ], + "summary": "Create a monitor resource.", + "operationId": "Monitors_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DatadogMonitorResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResource" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResource" + } + }, + "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": { + "Monitors_Create": { + "$ref": "./examples/Monitors_Create.json" + } + } + }, + "patch": { + "tags": [ + "MonitorsResource" + ], + "summary": "Update a monitor resource.", + "operationId": "Monitors_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DatadogMonitorResourceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Update": { + "$ref": "./examples/Monitors_Update.json" + } + } + }, + "delete": { + "tags": [ + "MonitorsResource" + ], + "summary": "Delete a monitor resource.", + "operationId": "Monitors_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_Delete": { + "$ref": "./examples/Monitors_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/refreshSetPasswordLink": { + "post": { + "tags": [ + "RefreshSetPasswordLink" + ], + "summary": "Refresh the set password link and return a latest one.", + "operationId": "RefreshSetPassword_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogSetPasswordLink" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "RefreshSetPassword_Get": { + "$ref": "./examples/RefreshSetPassword_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/tagRules": { + "get": { + "tags": [ + "Rules" + ], + "summary": "List the tag rules for a given monitor resource.", + "operationId": "TagRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRulesListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TagRules_List": { + "$ref": "./examples/TagRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/tagRules/{ruleSetName}": { + "put": { + "tags": [ + "Rules" + ], + "summary": "Create or update a tag rule set for a given monitor resource.", + "operationId": "TagRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "path", + "name": "ruleSetName", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_CreateOrUpdate": { + "$ref": "./examples/TagRules_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "Rules" + ], + "summary": "Get a tag rule set for a given monitor resource.", + "operationId": "TagRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "path", + "name": "ruleSetName", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_Get": { + "$ref": "./examples/TagRules_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations": { + "get": { + "tags": [ + "SingleSignOn" + ], + "summary": "List the single sign-on configurations for a given monitor resource.", + "operationId": "SingleSignOnConfigurations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogSingleSignOnResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SingleSignOnConfigurations_List": { + "$ref": "./examples/SingleSignOnConfigurations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}": { + "put": { + "tags": [ + "SingleSignOn" + ], + "summary": "Configures single-sign-on for this resource.", + "operationId": "SingleSignOnConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "path", + "name": "configurationName", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DatadogSingleSignOnResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogSingleSignOnResource" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogSingleSignOnResource" + } + }, + "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": { + "SingleSignOnConfigurations_CreateOrUpdate": { + "$ref": "./examples/SingleSignOnConfigurations_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "SingleSignOn" + ], + "summary": "Gets the datadog single sign-on resource for the given Monitor.", + "operationId": "SingleSignOnConfigurations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "path", + "name": "configurationName", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatadogSingleSignOnResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "SingleSignOnConfigurations_Get": { + "$ref": "./examples/SingleSignOnConfigurations_Get.json" + } + } + } + } + }, + "definitions": { + "DatadogApiKey": { + "required": [ + "key" + ], + "type": "object", + "properties": { + "createdBy": { + "description": "The user that created the API key.", + "type": "string" + }, + "name": { + "description": "The name of the API key.", + "type": "string" + }, + "key": { + "description": "The value of the API key.", + "type": "string" + }, + "created": { + "description": "The time of creation of the API key.", + "type": "string" + } + } + }, + "DatadogApiKeyListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/DatadogApiKey" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "ErrorResponseBody": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "DatadogInstallMethod": { + "type": "object", + "properties": { + "tool": { + "description": "The tool.", + "type": "string" + }, + "toolVersion": { + "description": "The tool version.", + "type": "string" + }, + "installerVersion": { + "description": "The installer version.", + "type": "string" + } + } + }, + "DatadogLogsAgent": { + "type": "object", + "properties": { + "transport": { + "description": "The transport.", + "type": "string" + } + } + }, + "DatadogHostMetadata": { + "type": "object", + "properties": { + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "installMethod": { + "$ref": "#/definitions/DatadogInstallMethod" + }, + "logsAgent": { + "$ref": "#/definitions/DatadogLogsAgent" + } + } + }, + "DatadogHost": { + "type": "object", + "properties": { + "name": { + "description": "The name of the host.", + "type": "string" + }, + "aliases": { + "description": "The aliases for the host.", + "type": "array", + "items": { + "type": "string" + } + }, + "apps": { + "description": "The Datadog integrations reporting metrics for the host.", + "type": "array", + "items": { + "type": "string" + } + }, + "meta": { + "$ref": "#/definitions/DatadogHostMetadata" + } + } + }, + "DatadogHostListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/DatadogHost" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "LinkedResource": { + "description": "The definition of a linked resource.", + "type": "object", + "properties": { + "id": { + "description": "The ARM id of the linked resource.", + "type": "string" + } + } + }, + "LinkedResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LinkedResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "MonitoredResource": { + "description": "The properties of a resource currently being monitored by the Datadog monitor resource.", + "type": "object", + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string" + }, + "sendingMetrics": { + "description": "Flag indicating if resource is sending metrics to Datadog.", + "type": "boolean" + }, + "reasonForMetricsStatus": { + "description": "Reason for why the resource is sending metrics (or why it is not sending).", + "type": "string" + }, + "sendingLogs": { + "description": "Flag indicating if resource is sending logs to Datadog.", + "type": "boolean" + }, + "reasonForLogsStatus": { + "description": "Reason for why the resource is sending logs (or why it is not sending).", + "type": "string" + } + } + }, + "MonitoredResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MonitoredResource" + } + }, + "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, i.e., Microsoft.Datadog.", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'monitors'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write monitors'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "A Microsoft.Datadog REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name, i.e., {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list the Microsoft.Datadog operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Datadog 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" + } + } + }, + "ResourceSku": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the SKU.", + "type": "string" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "MonitoringStatus": { + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MonitoringStatus" + } + }, + "MarketplaceSubscriptionStatus": { + "description": "Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.", + "enum": [ + "Active", + "Suspended" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MarketplaceSubscriptionStatus" + } + }, + "DatadogOrganizationProperties": { + "type": "object", + "properties": { + "name": { + "description": "Name of the Datadog organization.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the Datadog organization.", + "type": "string", + "readOnly": true + }, + "linkingAuthCode": { + "description": "The auth code used to linking to an existing datadog organization.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "linkingClientId": { + "description": "The client_id from an existing in exchange for an auth token to link organization.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "enterpriseAppId": { + "description": "The Id of the Enterprise App used for Single sign on.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "UserInfo": { + "type": "object", + "properties": { + "name": { + "description": "Name of the user", + "maxLength": 50, + "type": "string" + }, + "emailAddress": { + "description": "Email of the user used by Datadog for contacting them if needed", + "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number of the user used by Datadog for contacting them if needed", + "maxLength": 40, + "type": "string" + } + } + }, + "LiftrResourceCategories": { + "enum": [ + "Unknown", + "MonitorLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "LiftrResourceCategories" + }, + "readOnly": true + }, + "MonitorProperties": { + "description": "Properties specific to the monitor resource.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "monitoringStatus": { + "$ref": "#/definitions/MonitoringStatus" + }, + "marketplaceSubscriptionStatus": { + "$ref": "#/definitions/MarketplaceSubscriptionStatus" + }, + "datadogOrganizationProperties": { + "$ref": "#/definitions/DatadogOrganizationProperties" + }, + "userInfo": { + "$ref": "#/definitions/UserInfo" + }, + "liftrResourceCategory": { + "$ref": "#/definitions/LiftrResourceCategories" + }, + "liftrResourcePreference": { + "description": "The priority of the resource.", + "format": "int32", + "type": "integer", + "readOnly": true + } + } + }, + "ManagedIdentityTypes": { + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ManagedIdentityTypes" + } + }, + "IdentityProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The identity ID.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ManagedIdentityTypes" + } + } + }, + "DatadogMonitorResource": { + "required": [ + "location" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the monitor resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the monitor resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the monitor resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "$ref": "#/definitions/MonitorProperties" + }, + "identity": { + "$ref": "#/definitions/IdentityProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string" + } + } + }, + "DatadogMonitorResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/DatadogMonitorResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "MonitorUpdateProperties": { + "description": "The set of properties that can be update in a PATCH request to a monitor resource.", + "type": "object", + "properties": { + "monitoringStatus": { + "$ref": "#/definitions/MonitoringStatus" + } + } + }, + "DatadogMonitorResourceUpdateParameters": { + "description": "The parameters for a PATCH request to a monitor resource.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/MonitorUpdateProperties" + }, + "tags": { + "description": "The new tags of the monitor resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "DatadogSetPasswordLink": { + "type": "object", + "properties": { + "setPasswordLink": { + "type": "string" + } + } + }, + "TagAction": { + "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.", + "enum": [ + "Include", + "Exclude" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TagAction" + } + }, + "FilteringTag": { + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored.", + "type": "object", + "properties": { + "name": { + "description": "The name (also known as the key) of the tag.", + "type": "string" + }, + "value": { + "description": "The value of the tag.", + "type": "string" + }, + "action": { + "$ref": "#/definitions/TagAction" + } + } + }, + "LogRules": { + "description": "Set of rules for sending logs for the Monitor resource.", + "type": "object", + "properties": { + "sendAadLogs": { + "description": "Flag specifying if AAD logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendSubscriptionLogs": { + "description": "Flag specifying if Azure subscription logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendResourceLogs": { + "description": "Flag specifying if Azure resource logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "filteringTags": { + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.", + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + } + } + }, + "MetricRules": { + "description": "Set of rules for sending metrics for the Monitor resource.", + "type": "object", + "properties": { + "filteringTags": { + "description": "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.", + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + } + } + }, + "MonitoringTagRulesProperties": { + "description": "Definition of the properties for a TagRules resource.", + "type": "object", + "properties": { + "logRules": { + "$ref": "#/definitions/LogRules" + }, + "metricRules": { + "$ref": "#/definitions/MetricRules" + } + } + }, + "MonitoringTagRules": { + "description": "Capture logs and metrics of Azure resources based on ARM tags.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "description": "Name of the rule set.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the rule set.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the rule set.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/MonitoringTagRulesProperties" + } + } + }, + "MonitoringTagRulesListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "SingleSignOnStates": { + "description": "Various states of the SSO resource", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SingleSignOnStates" + } + }, + "DatadogSingleSignOnProperties": { + "type": "object", + "properties": { + "singleSignOnState": { + "$ref": "#/definitions/SingleSignOnStates" + }, + "enterpriseAppId": { + "description": "The Id of the Enterprise App used for Single sign-on.", + "type": "string" + }, + "singleSignOnUrl": { + "description": "The login URL specific to this Datadog Organization.", + "type": "string" + } + } + }, + "DatadogSingleSignOnResource": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the configuration.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + } + } + }, + "DatadogSingleSignOnResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/DatadogSingleSignOnResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Microsoft Azure subscription ID.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the Datadog resource belongs.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MonitorNameParameter": { + "in": "path", + "name": "monitorName", + "description": "Monitor resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json new file mode 100644 index 000000000000..c04777396993 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_GetDefaultKey.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "createdBy": "john@example.com", + "name": "", + "key": "1111111111111111aaaaaaaaaaaaaaaa", + "created": "2019-04-05 09:20:30" + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json new file mode 100644 index 000000000000..6abefd6ef88f --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "createdBy": "john@example.com", + "name": "", + "key": "1111111111111111aaaaaaaaaaaaaaaa", + "created": "2019-04-05 09:20:30" + }, + { + "createdBy": "jane@example.com", + "name": "", + "key": "2111111111111111aaaaaaaaaaaaaaaa", + "created": "2019-04-05 09:19:53" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json new file mode 100644 index 000000000000..9ffba226528e --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/ApiKeys_SetDefaultKey.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "key": "1111111111111111aaaaaaaaaaaaaaaa" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json new file mode 100644 index 000000000000..e32923961c2b --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Hosts_List.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "vm1", + "aliases": [ + "vm1", + "65f2dd83-95ae-4f56-b6aa-a5dafc05f4cd" + ], + "apps": [ + "ntp", + "agent" + ], + "meta": { + "agentVersion": "7.19.2", + "installMethod": { + "tool": "install_script", + "toolVersion": "install_script", + "installerVersion": "install_script-1.0.0" + }, + "logsAgent": { + "transport": "" + } + } + }, + { + "name": "vm2", + "aliases": [ + "vm2", + "df631d9a-8178-4580-bf60-c697a5e8df4d" + ], + "apps": [ + "infra", + "agent" + ], + "meta": { + "agentVersion": "7.18.1", + "installMethod": { + "tool": "install_script", + "toolVersion": "install_script", + "installerVersion": "install_script-1.0.0" + }, + "logsAgent": { + "transport": "HTTP" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json new file mode 100644 index 000000000000..aab71d3d6090 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/LinkedResources_List.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor" + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json new file mode 100644 index 000000000000..5a55702d6546 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/MonitoredResources_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVault", + "sendingMetrics": true, + "reasonForMetricsStatus": "CapturedByRules", + "sendingLogs": true, + "reasonForLogsStatus": "CapturedByRules" + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json new file mode 100644 index 000000000000..bc44d57782d9 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Create.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "name": "myMonitor", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "subscription": "pro", + "linkingAuthCode": "someAuthCode", + "linkingClientId": "00000000-0000-0000-0000-000000000000", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000" + }, + "userInfo": { + "name": "Alice", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123-456-7890" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123", + "linkingAuthCode": null, + "linkingClientId": null, + "enterpriseAppId": null + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Accepted", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123" + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json new file mode 100644 index 000000000000..fdcafff7b59b --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json new file mode 100644 index 000000000000..9c3390fd0ab5 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123", + "linkingAuthCode": null, + "linkingClientId": null, + "enterpriseAppId": null + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json new file mode 100644 index 000000000000..b262da98f31f --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123", + "linkingAuthCode": null, + "linkingClientId": null, + "enterpriseAppId": null + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json new file mode 100644 index 000000000000..b262da98f31f --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123", + "linkingAuthCode": null, + "linkingClientId": null, + "enterpriseAppId": null + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json new file mode 100644 index 000000000000..533a811b225a --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "properties": { + "monitoringStatus": "Enabled" + }, + "tags": { + "Environment": "Dev" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Datadog/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "datadogOrganizationProperties": { + "name": "myOrg", + "id": "myOrg123", + "linkingAuthCode": null, + "linkingClientId": null, + "enterpriseAppId": null + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 1 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..3a4b7b298ef3 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Datadog/monitors/write", + "display": { + "provider": "Microsoft.Datadog", + "resource": "monitors", + "operation": "write", + "description": "Write monitors resource" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json new file mode 100644 index 000000000000..2fc910d0b17b --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/RefreshSetPassword_Get.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "setPasswordLink": "https://datadoghq.com/reset_password/tokenvalue123" + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json new file mode 100644 index 000000000000..3b8b4caac81f --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default", + "requestBody": { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": null + } + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": null + } + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json new file mode 100644 index 000000000000..021c2a64284b --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.datadoghq.com/IAmSomeHash" + } + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json new file mode 100644 index 000000000000..e472eac281c9 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/SingleSignOnConfigurations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.datadoghq.com/IAmSomeHash" + } + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json new file mode 100644 index 000000000000..4b5fd4503037 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_CreateOrUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default", + "requestBody": { + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendResourceLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "filteringTags": [] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendResourceLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "filteringTags": [] + } + } + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json new file mode 100644 index 000000000000..6e6605f6287e --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendResourceLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "filteringTags": [] + } + } + } + } + } +} diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json new file mode 100644 index 000000000000..310676a49fd0 --- /dev/null +++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/TagRules_List.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendResourceLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "filteringTags": [] + } + } + } + ] + } + } + } +} diff --git a/specification/datadog/resource-manager/readme.az.md b/specification/datadog/resource-manager/readme.az.md new file mode 100644 index 000000000000..255a40da1cd7 --- /dev/null +++ b/specification/datadog/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: datadog + namespace: azure.mgmt.datadog + package-name: azure-mgmt-datadog +az-output-folder: $(azure-cli-extension-folder)/src/datadog +python-sdk-output-folder: "$(az-output-folder)/azext_datadog/vendored_sdks/datadog" +``` diff --git a/specification/datadog/resource-manager/readme.azureresourceschema.md b/specification/datadog/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..acca975da361 --- /dev/null +++ b/specification/datadog/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-datadog-2020-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datadog-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datadog-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Datadog/preview/2020-02-01-preview/datadog.json + +``` diff --git a/specification/datadog/resource-manager/readme.cli.md b/specification/datadog/resource-manager/readme.cli.md new file mode 100644 index 000000000000..bd1ae237a340 --- /dev/null +++ b/specification/datadog/resource-manager/readme.cli.md @@ -0,0 +1,6 @@ +## CLI + +These settings don't need to apply `--cli` on the command line. + +``` yaml +``` diff --git a/specification/datadog/resource-manager/readme.csharp.md b/specification/datadog/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..3c0da556150d --- /dev/null +++ b/specification/datadog/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 + namespace: Microsoft.Azure.Management.Datadog + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/datadog/Microsoft.Azure.Management.Datadog/src/Generated + clear-output-folder: true +``` diff --git a/specification/datadog/resource-manager/readme.go.md b/specification/datadog/resource-manager/readme.go.md new file mode 100644 index 000000000000..847ccfd2fe30 --- /dev/null +++ b/specification/datadog/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 + namespace: datadog + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-02-preview +``` + +### Tag: package-2020-02-preview and go + +These settings apply only when `--tag=package-2020-02-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-02-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-02-01-preview/$(namespace) +``` diff --git a/specification/datadog/resource-manager/readme.java.md b/specification/datadog/resource-manager/readme.java.md new file mode 100644 index 000000000000..df97395c3038 --- /dev/null +++ b/specification/datadog/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +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.datadog +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datadog +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-02-preview +``` + +### Tag: package-2020-02-preview and java + +These settings apply only when `--tag=package-2020-02-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-02-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.datadog.v2020_02_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/datadog/mgmt-v2020_02_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md new file mode 100644 index 000000000000..faa0f77fae95 --- /dev/null +++ b/specification/datadog/resource-manager/readme.md @@ -0,0 +1,120 @@ +# Datadog + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Datadog. + + + +--- +## Getting Started +To build the SDK for Datadog, 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 Datadog API. + +``` yaml +title: Microsoft Datadog Client +openapi-type: arm +tag: package-2020-02-preview +``` + +### Tag: package-2020-02-preview + +These settings apply only when `--tag=package-2020-02-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-02-preview' +input-file: +- Microsoft.Datadog/preview/2020-02-01-preview/datadog.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 + - 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-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_datadog'] + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datadog/resource-manager +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## Node.js + +See configuration in [readme.nodejs.md](./readme.nodejs.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) + + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.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/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/datadog/resource-manager/readme.nodejs.md b/specification/datadog/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..565312e54cdc --- /dev/null +++ b/specification/datadog/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-datadog + output-folder: $(node-sdks-folder)/lib/services/datadogManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/datadog/resource-manager/readme.python.md b/specification/datadog/resource-manager/readme.python.md new file mode 100644 index 000000000000..5768cbbc5bdd --- /dev/null +++ b/specification/datadog/resource-manager/readme.python.md @@ -0,0 +1,43 @@ +## 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 !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.datadog + package-name: azure-mgmt-datadog + package-version: 1.0.0 + clear-output-folder: true +``` + +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-datadog +no-namespace-folders: true +package-version: 1.0.0 +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog/azure/mgmt/datadog +no-namespace-folders: true +output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog/azure/mgmt/datadog +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog +basic-setup-py: true +output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog +``` diff --git a/specification/datadog/resource-manager/readme.ruby.md b/specification/datadog/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..e67dde1680e2 --- /dev/null +++ b/specification/datadog/resource-manager/readme.ruby.md @@ -0,0 +1,26 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_datadog +package-version: 2020-02-01-preview +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2020-02-01-preview +``` + +### Tag: package-2020-02-01-preview and ruby + +These settings apply only when `--tag=package-2020-02-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-02-01-preview' && $(ruby) +namespace: "Azure::Datadog::Mgmt::V2020_02_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_datadog/lib +``` diff --git a/specification/datadog/resource-manager/readme.typescript.md b/specification/datadog/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..4c69879e1b9b --- /dev/null +++ b/specification/datadog/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: "@azure/arm-datadog" + output-folder: "$(typescript-sdks-folder)/sdk/datadog/arm-datadog" + clear-output-folder: true + generate-metadata: true +``` 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 43909b01832d..43f2f1614abd 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 @@ -4886,6 +4886,18 @@ "globalParameters": { "$ref": "#/definitions/GlobalParameterDefinitionSpecification", "description": "List of parameters for factory." + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the data factory.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } } } }, 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 bdac90ebf99b..63e8f1b14468 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 @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "DataFlow": { 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 52f028ae93c9..f822291740b8 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 @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "Dataset": { @@ -472,6 +483,33 @@ } } }, + "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": { + "description": "The TarGZip compression level.", + "$ref": "#/definitions/CompressionLevel" + } + } + }, "CompressionLevel": { "title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel", "description": "All available compression levels.", @@ -729,7 +767,9 @@ "deflate", "zipDeflate", "snappy", - "lz4" + "lz4", + "tar", + "tarGZip" ], "x-ms-enum": { "name": "compressionCodec", @@ -868,7 +908,8 @@ "enum": [ "none", "zlib", - "snappy" + "snappy", + "lzo" ], "x-ms-enum": { "name": "orcCompressionCodec", @@ -1480,6 +1521,38 @@ "collectionName" ] }, + "MongoDbAtlasCollectionDataset": { + "x-ms-discriminator-value": "MongoDbAtlasCollection", + "description": "The MongoDB Atlas database dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "MongoDB Atlas database dataset properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoDbAtlasCollectionDatasetTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "MongoDbAtlasCollectionDatasetTypeProperties": { + "description": "MongoDB Atlas database dataset properties.", + "properties": { + "collection": { + "type": "object", + "description": "The collection name of the MongoDB Atlas database. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "collection" + ] + }, "MongoDbV2CollectionDataset": { "x-ms-discriminator-value": "MongoDbV2Collection", "description": "The MongoDB database dataset.", @@ -3220,6 +3293,36 @@ "description": "The name of the SharePoint Online list. Type: string (or Expression with resultType string)." } } + }, + "AzureDatabricksDeltaLakeDataset": { + "x-ms-discriminator-value": "AzureDatabricksDeltaLakeDataset", + "description": "Azure Databricks Delta Lake dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Dataset" + } + ], + "properties": { + "typeProperties": { + "description": "Properties specific to this dataset type.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureDatabricksDeltaLakeDatasetTypeProperties" + } + } + }, + "AzureDatabricksDeltaLakeDatasetTypeProperties": { + "description": "Azure Databricks Delta Lake Dataset Properties", + "properties": { + "table": { + "type": "object", + "description": "The name of delta table. Type: string (or Expression with resultType string)." + }, + "database": { + "type": "object", + "description": "The database name of delta table. Type: string (or Expression with resultType string)." + } + } } } } diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json index fe1f683bd72c..00dbf932a1d5 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "IntegrationRuntime": { diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json index a25553b01b00..0061f43f02ce 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "LinkedService": { @@ -2031,6 +2042,43 @@ "databaseName" ] }, + "MongoDbAtlasLinkedService": { + "x-ms-discriminator-value": "MongoDbAtlas", + "description": "Linked service for MongoDB Atlas data source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "MongoDB Atlas linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoDbAtlasLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "MongoDbAtlasLinkedServiceTypeProperties": { + "description": "MongoDB Atlas linked service properties.", + "properties": { + "connectionString": { + "description": "The MongoDB Atlas connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.", + "type": "object" + }, + "database": { + "type": "object", + "description": "The name of the MongoDB Atlas database that you want to access. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "connectionString", + "database" + ] + }, "MongoDbV2LinkedService": { "x-ms-discriminator-value": "MongoDbV2", "description": "Linked service for MongoDB data source.", @@ -2641,6 +2689,10 @@ "AmazonS3LinkedServiceTypeProperties": { "description": "Amazon S3 linked service properties.", "properties": { + "authenticationType": { + "type": "object", + "description": "The authentication type of S3. Allowed value: AccessKey (default) or TemporarySecurityCredentials. Type: string (or Expression with resultType string)." + }, "accessKeyId": { "type": "object", "description": "The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string)." @@ -2653,6 +2705,10 @@ "type": "object", "description": "This value specifies the endpoint to access with the S3 Connector. This is an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string)." }, + "sessionToken": { + "$ref": "../datafactory.json#/definitions/SecretBase", + "description": "The session token for the S3 temporary security credential." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -3233,6 +3289,10 @@ "ConcurLinkedServiceTypeProperties": { "description": "Concur Service linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to Concur. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "clientId": { "description": "Application client_id supplied by Concur App Management.", "type": "object" @@ -5322,6 +5382,50 @@ "accessToken" ] }, + "AzureDatabricksDeltaLakeLinkedService": { + "x-ms-discriminator-value": "AzureDatabricksDeltaLake", + "description": "Azure Databricks Delta Lake linked service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Azure Databricks Delta Lake linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureDatabricksDetltaLakeLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "AzureDatabricksDetltaLakeLinkedServiceTypeProperties": { + "description": "Azure Databricks Delta Lake linked service properties.", + "properties": { + "domain": { + "type": "object", + "description": ".azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string)." + }, + "accessToken": { + "description": "Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or AzureKeyVaultSecretReference.", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "clusterId": { + "type": "object", + "description": "The id of an existing interactive cluster that will be used for all runs of this job. Type: string (or Expression with resultType string)." + }, + "encryptedCredential": { + "type": "object", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "domain" + ] + }, "ResponsysLinkedService": { "x-ms-discriminator-value": "Responsys", "description": "Responsys linked service.", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json index 2aa2ace47536..068ad1370cda 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "ManagedPrivateEndpoint": { diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json index e1a1e226c159..486abeced71c 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "ManagedVirtualNetwork": { 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 8a2496cf577d..0e319987eced 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 @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "Pipeline": { @@ -923,6 +934,36 @@ } } }, + "TarReadSettings": { + "description": "The Tar compression read settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CompressionReadSettings" + } + ], + "properties": { + "preserveCompressionFileNameAsFolder": { + "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).", + "type": "object" + } + } + }, + "TarGZipReadSettings": { + "description": "The TarGZip compression read settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CompressionReadSettings" + } + ], + "properties": { + "preserveCompressionFileNameAsFolder": { + "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).", + "type": "object" + } + } + }, "DelimitedTextReadSettings": { "description": "Delimited text read settings.", "type": "object", @@ -1036,6 +1077,52 @@ "recordNamespace": { "type": "string", "description": "Record namespace in the write result." + }, + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." + } + } + }, + "OrcWriteSettings": { + "description": "Orc write settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FormatWriteSettings" + } + ], + "properties": { + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." + } + } + }, + "ParquetWriteSettings": { + "description": "Parquet write settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FormatWriteSettings" + } + ], + "properties": { + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." } } }, @@ -1055,6 +1142,14 @@ "fileExtension": { "type": "object", "description": "The file extension used to create the files. Type: string (or Expression with resultType string)." + }, + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." } }, "required": [ @@ -1300,6 +1395,10 @@ "storeSettings": { "$ref": "#/definitions/StoreWriteSettings", "description": "ORC store settings." + }, + "formatSettings": { + "$ref": "#/definitions/OrcWriteSettings", + "description": "ORC format settings." } } }, @@ -1376,9 +1475,13 @@ "$ref": "#/definitions/RedirectIncompatibleRowSettings" }, "logStorageSettings": { - "description": "Log storage settings customer need to provide when enabling session log.", + "description": "(Deprecated. Please use LogSettings) Log storage settings customer need to provide when enabling session log.", "$ref": "#/definitions/LogStorageSettings" }, + "logSettings": { + "description": "Log settings customer needs provide when enabling log.", + "$ref": "#/definitions/LogSettings" + }, "preserveRules": { "type": "array", "items": { @@ -2104,13 +2207,9 @@ "type": "object", "description": "The time to await before sending next request, in milliseconds " }, - "compressionType": { + "httpCompressionType": { "type": "object", - "description": "Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. " - }, - "wrapRequestJsonInAnObject": { - "type": "object", - "description": "Wraps Request Array Json into an Object before calling the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} else the format is []" + "description": "Http Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. " } } }, @@ -2675,6 +2774,40 @@ } } }, + "MongoDbAtlasSource": { + "description": "A copy activity source for a MongoDB Atlas database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "filter": { + "type": "object", + "description": "Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string)." + }, + "cursorMethods": { + "description": "Cursor methods for Mongodb query", + "$ref": "#/definitions/MongoDbCursorMethodsProperties" + }, + "batchSize": { + "type": "object", + "description": "Specifies the number of documents to return in each batch of the response from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer)." + }, + "queryTimeout": { + "type": "object", + "description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + }, + "additionalColumns": { + "type": "array", + "description": "Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects).", + "items": { + "$ref": "#/definitions/AdditionalColumns" + } + } + } + }, "MongoDbV2Source": { "description": "A copy activity source for a MongoDB database.", "type": "object", @@ -3533,6 +3666,82 @@ } } }, + "AzureDatabricksDeltaLakeSource": { + "description": "A copy activity Azure Databricks Delta Lake source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySource" + } + ], + "properties": { + "query": { + "type": "object", + "description": "Azure Databricks Delta Lake Sql query. Type: string (or Expression with resultType string)." + }, + "exportSettings": { + "$ref": "#/definitions/AzureDatabricksDeltaLakeExportCommand", + "description": "Azure Databricks Delta Lake export settings." + } + } + }, + "AzureDatabricksDeltaLakeExportCommand": { + "description": "Azure Databricks Delta Lake export command settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExportSettings" + } + ], + "properties": { + "dateFormat": { + "type": "object", + "description": "Specify the date format for the csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)." + }, + "timestampFormat": { + "type": "object", + "description": "Specify the timestamp format for the csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)." + } + } + }, + "AzureDatabricksDeltaLakeSink": { + "description": "A copy activity Azure Databricks Delta Lake sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "preCopyScript": { + "type": "object", + "description": "SQL pre-copy script. Type: string (or Expression with resultType string)." + }, + "importSettings": { + "$ref": "#/definitions/AzureDatabricksDeltaLakeImportCommand", + "description": "Azure Databricks Delta Lake import settings." + } + } + }, + "AzureDatabricksDeltaLakeImportCommand": { + "description": "Azure Databricks Delta Lake import command settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ImportSettings" + } + ], + "properties": { + "dateFormat": { + "type": "object", + "description": "Specify the date format for csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)." + }, + "timestampFormat": { + "type": "object", + "description": "Specify the timestamp format for csv in Azure Databricks Delta Lake Copy. Type: string (or Expression with resultType string)." + } + } + }, "StoredProcedureParameter": { "description": "SQL stored procedure parameter.", "type": "object", @@ -3709,6 +3918,10 @@ "storeSettings": { "$ref": "#/definitions/StoreWriteSettings", "description": "Parquet store settings." + }, + "formatSettings": { + "$ref": "#/definitions/ParquetWriteSettings", + "description": "Parquet format settings." } } }, @@ -4123,7 +4336,7 @@ } }, "LogStorageSettings": { - "description": "Log storage settings.", + "description": "(Deprecated. Please use LogSettings) Log storage settings.", "type": "object", "properties": { "linkedServiceName": { @@ -4133,6 +4346,14 @@ "path": { "type": "object", "description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)." + }, + "logLevel": { + "type": "object", + "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)." + }, + "enableReliableLogging": { + "type": "object", + "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)." } }, "additionalProperties": { @@ -4142,6 +4363,58 @@ "linkedServiceName" ] }, + "LogSettings": { + "description": "Log settings.", + "type": "object", + "properties": { + "enableCopyActivityLog": { + "type": "object", + "description": "Specifies whether to enable copy activity log. Type: boolean (or Expression with resultType boolean)." + }, + "copyActivityLogSettings": { + "description": "Specifies settings for copy activity log.", + "$ref": "#/definitions/CopyActivityLogSettings" + }, + "logLocationSettings": { + "description": "Log location settings customer needs to provide when enabling log.", + "$ref": "#/definitions/LogLocationSettings" + } + }, + "required": [ + "logLocationSettings" + ] + }, + "LogLocationSettings": { + "description": "Log location settings.", + "type": "object", + "properties": { + "linkedServiceName": { + "description": "Log storage linked service reference.", + "$ref": "../datafactory.json#/definitions/LinkedServiceReference" + }, + "path": { + "type": "object", + "description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "linkedServiceName" + ] + }, + "CopyActivityLogSettings": { + "description": "Settings for copy activity log.", + "type": "object", + "properties": { + "logLevel": { + "type": "object", + "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)." + }, + "enableReliableLogging": { + "type": "object", + "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)." + } + } + }, "StagingSettings": { "description": "Staging settings.", "type": "object", @@ -4331,6 +4604,17 @@ } } }, + "DynamicsSinkWriteBehavior": { + "description": "Defines values for DynamicsSinkWriteBehavior.", + "type": "string", + "enum": [ + "Upsert" + ], + "x-ms-enum": { + "name": "DynamicsSinkWriteBehavior", + "modelAsString": true + } + }, "DynamicsSink": { "description": "A copy activity Dynamics sink.", "type": "object", @@ -4342,14 +4626,7 @@ "properties": { "writeBehavior": { "description": "The write behavior for the operation.", - "type": "string", - "enum": [ - "Upsert" - ], - "x-ms-enum": { - "name": "DynamicsSinkWriteBehavior", - "modelAsString": true - } + "$ref": "#/definitions/DynamicsSinkWriteBehavior" }, "ignoreNullValues": { "type": "object", @@ -4375,14 +4652,7 @@ "properties": { "writeBehavior": { "description": "The write behavior for the operation.", - "type": "string", - "enum": [ - "Upsert" - ], - "x-ms-enum": { - "name": "DynamicsSinkWriteBehavior", - "modelAsString": true - } + "$ref": "#/definitions/DynamicsSinkWriteBehavior" }, "ignoreNullValues": { "type": "object", @@ -4408,14 +4678,7 @@ "properties": { "writeBehavior": { "description": "The write behavior for the operation.", - "type": "string", - "enum": [ - "Upsert" - ], - "x-ms-enum": { - "name": "DynamicsSinkWriteBehavior", - "modelAsString": true - } + "$ref": "#/definitions/DynamicsSinkWriteBehavior" }, "ignoreNullValues": { "type": "object", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json index 6423f41ed7d3..fcc6219cd204 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json @@ -4,6 +4,17 @@ "title": "DataFactoryManagementClient", "version": "2018-06-01" }, + "securityDefinitions": { + "azure_auth": { + "type": "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": { "Trigger": { @@ -417,7 +428,8 @@ "type": "string", "enum": [ "Minute", - "Hour" + "Hour", + "Month" ], "x-ms-enum": { "name": "TumblingWindowFrequency", diff --git a/specification/datafactory/resource-manager/readme.az.md b/specification/datafactory/resource-manager/readme.az.md new file mode 100644 index 000000000000..c66b104e4430 --- /dev/null +++ b/specification/datafactory/resource-manager/readme.az.md @@ -0,0 +1,86 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: datafactory + namespace: azure.mgmt.datafactory + package-name: azure-mgmt-datafactory + disable-checks: true + randomize-names: true +az-output-folder: $(azure-cli-extension-folder)/src/datafactory +python-sdk-output-folder: "$(az-output-folder)/azext_datafactory/vendored_sdks/datafactory" + +input-file: +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json + +directive: + - from: swagger-document + where: $.definitions.JsonFormatFilePattern + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.CompressionLevel + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.DynamicsLinkedServiceTypeProperties.properties.servicePrincipalCredentialType + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.ScriptAction.properties.roles + transform: > + $['type'] = 'string'; + - where: + command: datafactory integration-runtime create-linked-integration-runtime + set: + command: datafactory integration-runtime linked-integration-runtime create + +cli: + cli-directive: + # directive on operationGroup + - where: + group: Pipelines + op: CreateOrUpdate$|CreateOrUpdate#Create + parameter: pipeline + json: true + - where: + group: IntegrationRuntimes + op: CreateOrUpdate + param: properties + poly-resource: true + - where: + group: IntegrationRuntimes + op: CreateOrUpdate#* + param: properties + poly-resource: true + - where: + group: ExposureControl|IntegrationRuntimeObjectMetadata|DataFlows|DataFlowDebugSession|ManagedVirtualNetworks|ManagedPrivateEndpoints + hidden: true + - where: + group: Factories + op: ConfigureFactoryRepo + param: locationId + name: location + - where: + group: IntegrationRuntimes + op: CreateLinkedIntegrationRuntime + param: dataFactoryLocation + name: location + - where: + group: Triggers|LinkedServices|Datasets + op: CreateOrUpdate#Update + param: properties + cli-flatten: true + - where: + group: Pipelines + op: CreateOrUpdate#Update + param: pipeline + cli-flatten: true +``` diff --git a/specification/datafactory/resource-manager/readme.azureresourceschema.md b/specification/datafactory/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..76766e48c563 --- /dev/null +++ b/specification/datafactory/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,43 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datafactory-2018-06-01 + - tag: schema-datafactory-2017-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datafactory-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datafactory-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataFactory/stable/2018-06-01/datafactory.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json + - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json + +``` + +### Tag: schema-datafactory-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datafactory-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json + +``` diff --git a/specification/datafactory/resource-manager/readme.cli.md b/specification/datafactory/resource-manager/readme.cli.md index 67b563417786..d50517ab5ce0 100644 --- a/specification/datafactory/resource-manager/readme.cli.md +++ b/specification/datafactory/resource-manager/readme.cli.md @@ -5,87 +5,66 @@ These settings apply only when `--cli` is specified on the command line. ``` yaml $(cli) cli: namespace: azure.mgmt.datafactory - flatten-all: true test-scenario: - name: Factories_CreateOrUpdate - #- name: Datasets_Create - #- name: Datasets_Update - #- name: Triggers_Update - #- name: Triggers_Create - #- name: DataFlows_Update - #- name: Pipelines_Create - #- name: DataFlows_Create - #- name: Pipelines_Update - #- name: LinkedServices_Create - #- name: LinkedServices_Update - #- name: IntegrationRuntimes_Create - #- name: RerunTriggers_Create - #- name: IntegrationRuntimeNodes_Get - #- name: IntegrationRuntimes_Get - #- name: RerunTriggers_ListByTrigger - #- name: LinkedServices_Get - #- name: PipelineRuns_Get - #- name: Pipelines_Get - #- name: DataFlows_Get - #- name: Datasets_Get - #- name: Triggers_Get - #- name: IntegrationRuntimes_ListByFactory - #- name: LinkedServices_ListByFactory - #- name: DataFlows_ListByFactory - #- name: Pipelines_ListByFactory - #- name: Triggers_ListByFactory - #- name: Datasets_ListByFactory - #- name: Factories_Get - #- name: Factories_ListByResourceGroup - #- name: Factories_List - #- name: Operations_List - #- name: IntegrationRuntimeNodes_GetIpAddress - #- name: IntegrationRuntimes_CreateLinkedIntegrationRuntime - #- name: RerunTriggers_Cancel - #- name: RerunTriggers_Start - #- name: IntegrationRuntimeNodes_Update - #- name: IntegrationRuntimeObjectMetadata_Refresh - #- name: RerunTriggers_Stop - #- name: IntegrationRuntimes_RegenerateAuthKey - #- name: Triggers_Rerun - #- name: IntegrationRuntimeObjectMetadata_Get - #- name: IntegrationRuntimes_GetConnectionInfo - #- name: IntegrationRuntimes_SyncCredentials - #- name: IntegrationRuntimes_GetMonitoringData - #- name: IntegrationRuntimes_ListAuthKeys - #- name: IntegrationRuntimes_Upgrade - #- name: IntegrationRuntimes_GetStatus - #- name: IntegrationRuntimes_Upgrade - #- name: IntegrationRuntimes_Start - #- name: IntegrationRuntimes_Stop - #- name: Triggers_GetEventSubscriptionStatus - #- name: ActivityRuns_QueryByPipelineRun - #- name: IntegrationRuntimes_Update - #- name: Triggers_UnsubscribeFromEvents - #- name: Triggers_SubscribeToEvents - #- name: PipelineRuns_Cancel - #- name: Pipelines_CreateRun - #- name: Triggers_Start - #- name: Triggers_Stop - #- name: DataFlowDebugSession_ExecuteCommand - #- name: DataFlowDebugSession_Delete - #- name: DataFlowDebugSession_Create - #- name: DataFlowDebugSession_QueryByFactory - #- name: DataFlowDebugSession_AddDataFlow - #- name: Factories_GetGitHubAccessToken - #- name: Factories_GetDataPlaneAccess - #- name: PipelineRuns_QueryByFactory - #- name: TriggerRuns_QueryByFactory - #- name: ExposureControl_GetFeatureValueByFactory - #- name: Factories_Update - #- name: Factories_ConfigureFactoryRepo - #- name: ExposureControl_GetFeatureValue - #- name: IntegrationRuntimesNodes_Delete - #- name: IntegrationRuntimes_Delete - #- name: LinkedServices_Delete - #- name: Pipelines_Delete - #- name: DataFlows_Delete - #- name: Datasets_Delete - #- name: Triggers_Delete - #- name: Factories_Delete + - name: Factories_Update + - name: LinkedServices_Create + - name: LinkedServices_Update + - name: Datasets_Create + - name: Datasets_Update + - name: Pipelines_Create + - name: Pipelines_Update + - name: Triggers_Create + - name: Triggers_Update + - name: IntegrationRuntimes_Create + - name: IntegrationRuntimes_Update + - name: IntegrationRuntimes_CreateLinkedIntegrationRuntime + - name: Pipelines_CreateRun + - name: IntegrationRuntimes_Get + - name: RerunTriggers_ListByTrigger + - name: LinkedServices_Get + - name: PipelineRuns_Get + - name: Pipelines_Get + - name: Datasets_Get + - name: Triggers_Get + - name: IntegrationRuntimes_ListByFactory + - name: LinkedServices_ListByFactory + - name: Pipelines_ListByFactory + - name: Triggers_ListByFactory + - name: Datasets_ListByFactory + - name: Factories_Get + - name: Factories_ListByResourceGroup + - name: Factories_List + - name: Operations_List + - name: RerunTriggers_Cancel + - name: RerunTriggers_Start + - name: RerunTriggers_Stop + - name: IntegrationRuntimes_RegenerateAuthKey + - name: TriggerRuns_Rerun + - name: IntegrationRuntimes_GetConnectionInfo + - name: IntegrationRuntimes_SyncCredentials + - name: IntegrationRuntimes_GetMonitoringData + - name: IntegrationRuntimes_ListAuthKeys + - name: IntegrationRuntimes_Upgrade + - name: IntegrationRuntimes_GetStatus + - name: IntegrationRuntimes_Start + - name: IntegrationRuntimes_Stop + - name: Triggers_GetEventSubscriptionStatus + - name: ActivityRuns_QueryByPipelineRun + - name: Triggers_UnsubscribeFromEvents + - name: Triggers_SubscribeToEvents + - name: Triggers_Start + - name: Triggers_Stop + - name: Factories_GetGitHubAccessToken + - name: Factories_GetDataPlaneAccess + - name: PipelineRuns_QueryByFactory + - name: PipelineRuns_Cancel + - name: TriggerRuns_QueryByFactory + - name: Factories_ConfigureFactoryRepo + - name: IntegrationRuntimes_Delete + - name: Triggers_Delete + - name: Pipelines_Delete + - name: Datasets_Delete + - name: LinkedServices_Delete + - name: Factories_Delete ``` diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md index 6ab27eaa4547..eb66b97b8020 100644 --- a/specification/datafactory/resource-manager/readme.md +++ b/specification/datafactory/resource-manager/readme.md @@ -37,6 +37,13 @@ These settings apply only when `--tag=package-2018-06` is specified on the comma ``` yaml $(tag) == 'package-2018-06' input-file: - Microsoft.DataFactory/stable/2018-06-01/datafactory.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json ``` ### Tag: package-2017-09-preview @@ -65,6 +72,10 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datafactory/resource-manager ``` @@ -82,33 +93,6 @@ csharp: clear-output-folder: true ``` -## 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) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.datafactory - package-name: azure-mgmt-datafactory - package-version: 1.0.0 - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory -``` ## Go @@ -219,28 +203,7 @@ directive: - DataFlow add type required ``` -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +## AzureResourceSchema -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.DataFactory/stable/2018-06-01/datafactory.json - - $(this-folder)/Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datafactory/resource-manager/readme.python.md b/specification/datafactory/resource-manager/readme.python.md new file mode 100644 index 000000000000..51f2c51d2ce3 --- /dev/null +++ b/specification/datafactory/resource-manager/readme.python.md @@ -0,0 +1,27 @@ +## 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) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.datafactory + package-name: azure-mgmt-datafactory + package-version: 1.0.0 + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory +``` diff --git a/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ee0f54438247 --- /dev/null +++ b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datalakeanalytics-2016-11-01 + - tag: schema-datalakeanalytics-2015-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datalakeanalytics-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datalakeanalytics-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json + +``` + +### Tag: schema-datalakeanalytics-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datalakeanalytics-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json + +``` diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md index a56f88ac31a4..1059c9049078 100644 --- a/specification/datalake-analytics/resource-manager/readme.md +++ b/specification/datalake-analytics/resource-manager/readme.md @@ -81,6 +81,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_analytics'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datalake-analytics/resource-manager ``` @@ -168,28 +171,7 @@ 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.DataLakeAnalytics/stable/2016-11-01/account.json - - $(this-folder)/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datalake-store/resource-manager/readme.azureresourceschema.md b/specification/datalake-store/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6382fd8e0e7e --- /dev/null +++ b/specification/datalake-store/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datalakestore-2016-11-01 + - tag: schema-datalakestore-2015-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datalakestore-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datalakestore-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeStore/stable/2016-11-01/account.json + +``` + +### Tag: schema-datalakestore-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datalakestore-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json + +``` diff --git a/specification/datalake-store/resource-manager/readme.md b/specification/datalake-store/resource-manager/readme.md index 6a0432a35413..be664c9fa1da 100644 --- a/specification/datalake-store/resource-manager/readme.md +++ b/specification/datalake-store/resource-manager/readme.md @@ -83,6 +83,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_store'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datalake-store/resource-manager ``` @@ -180,28 +183,7 @@ 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.DataLakeStore/stable/2016-11-01/account.json - - $(this-folder)/Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json index fe9b45ba782e..177f0d78f18e 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json @@ -356,6 +356,13 @@ "additionalProperties": { "type": "string" } + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } } } } diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json index 1d7ffee88df1..3ed8bce5713a 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json @@ -374,6 +374,23 @@ "additionalProperties": { "type": "string" } + }, + "selectedTables": { + "type": "array", + "description": "Tables selected for migration", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput" + } + } + } + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { + "type": "object", + "description": "Selected tables for the migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the table to migrate" } } } diff --git a/specification/datamigration/resource-manager/readme.azureresourceschema.md b/specification/datamigration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..721f822565b6 --- /dev/null +++ b/specification/datamigration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,170 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datamigration-2018-07-15-preview + - tag: schema-datamigration-2018-04-19 + - tag: schema-datamigration-2018-03-31-preview + - tag: schema-datamigration-2018-03-15-preview + - tag: schema-datamigration-2017-11-15-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datamigration-2018-07-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-07-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSsisTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetTdeCertificatesSqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json + +``` + +### Tag: schema-datamigration-2018-04-19 and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-04-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/stable/2018-04-19/datamigration.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json + +``` + +### Tag: schema-datamigration-2018-03-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-03-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-03-31-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + +``` + +### Tag: schema-datamigration-2018-03-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-03-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + +``` + +### Tag: schema-datamigration-2017-11-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2017-11-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2017-11-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrationValidation.json + +``` diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 52e90b3fd384..5050fb4c3c00 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -192,6 +192,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datamigration/resource-manager ``` ## C# @@ -216,129 +219,7 @@ 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 +## AzureResourceSchema -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.DataMigration/stable/2018-04-19/datamigration.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSsisTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetTdeCertificatesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Projects.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Services.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/datamigration.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Common.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToSourceSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/GetUserTablesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Projects.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Services.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Tasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrationValidation.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json - - $(this-folder)/Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/datamigration.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Common.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToSourceSqlServerTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToTargetSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/GetUserTablesSqlTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrateSqlServerSqlDbTask.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Projects.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Services.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Tasks.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/TasksCommon.json - - $(this-folder)/Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrationValidation.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/datashare/resource-manager/readme.azureresourceschema.md b/specification/datashare/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a0664f3ea80e --- /dev/null +++ b/specification/datashare/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datashare-2019-11-01 + - tag: schema-datashare-2018-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datashare-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datashare-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataShare/stable/2019-11-01/DataShare.json + +``` + +### Tag: schema-datashare-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datashare-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json + +``` diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md index cf5fd2ab8e52..ff2f8a2b3183 100644 --- a/specification/datashare/resource-manager/readme.md +++ b/specification/datashare/resource-manager/readme.md @@ -64,6 +64,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-cli-extensions - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datashare/resource-manager ``` @@ -113,27 +116,7 @@ python: See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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 - -``` - -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/deploymentmanager/resource-manager/readme.azureresourceschema.md b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2502de8815f2 --- /dev/null +++ b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-deploymentmanager-2019-11-01-preview + - tag: schema-deploymentmanager-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-deploymentmanager-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-deploymentmanager-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json + +``` + +### Tag: schema-deploymentmanager-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-deploymentmanager-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.json + +``` diff --git a/specification/deploymentmanager/resource-manager/readme.md b/specification/deploymentmanager/resource-manager/readme.md index fd8b13f1e887..7e56fa895663 100644 --- a/specification/deploymentmanager/resource-manager/readme.md +++ b/specification/deploymentmanager/resource-manager/readme.md @@ -115,6 +115,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_deploymentmanager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js deploymentmanager/resource-manager ``` ## C# @@ -199,28 +202,7 @@ regenerate-manager: true 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.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json - - $(this-folder)/Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json index 8bee1f0e764a..08655276ef04 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json @@ -2275,6 +2275,10 @@ "$ref": "#/definitions/RegistrationInfoPatch", "description": "The registration info of HostPool." }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Create.json index 8d6b4bb1382b..1323b6f7b04c 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Create.json @@ -13,7 +13,7 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", "applicationGroupType": "RemoteApp" } } @@ -22,7 +22,7 @@ "200": { "body": { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -32,8 +32,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } @@ -41,7 +41,7 @@ "201": { "body": { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -51,8 +51,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Delete.json index 79cf00e37e7c..fe87af2b8ad1 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Delete.json @@ -8,7 +8,7 @@ "responses": { "200": { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -18,8 +18,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } }, diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Get.json index b7bb05752a8a..823c1bb55ec6 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Get.json @@ -9,7 +9,7 @@ "200": { "body": { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -19,8 +19,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListByResourceGroup.json index afcec930670e..18136fe1eae9 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListByResourceGroup.json @@ -11,7 +11,7 @@ "value": [ { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -21,14 +21,14 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } }, { "name": "applicationGroup2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -38,8 +38,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListBySubscription.json index 6a7fe723d2ed..985bc6a50874 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListBySubscription.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_ListBySubscription.json @@ -10,7 +10,7 @@ "value": [ { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -20,14 +20,14 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } }, { "name": "applicationGroup2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -37,8 +37,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Update.json index 0d6da727b913..cb865a4a4e97 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroup_Update.json @@ -19,7 +19,7 @@ "200": { "body": { "name": "applicationGroup1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", "type": "Microsoft.DesktopVirtualization/applicationGroups", "location": "centralus", "tags": { @@ -29,8 +29,8 @@ "properties": { "description": "des1", "friendlyName": "friendly", - "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "applicationGroupType": "RemoteApp" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Get.json index 26b94e09f7c8..9ba7029e8d05 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Get.json @@ -10,7 +10,7 @@ "200": { "body": { "name": "applicationGroup1/SessionDesktop", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", "properties": { "description": "des1", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_List.json index ed22d9f54aa9..278df9477b0a 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_List.json @@ -11,7 +11,7 @@ "value": [ { "name": "applicationGroup1/SessionDesktop", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", "properties": { "description": "des1", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Update.json index 0a1f83fccb49..8b93343fdda7 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Desktop_Update.json @@ -16,7 +16,7 @@ "200": { "body": { "name": "applicationGroup1/SessionDesktop", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", "properties": { "description": "des1", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json index 12ea67762e9d..ba6d5d97f5ff 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json @@ -22,6 +22,7 @@ "expirationTime": "2020-10-01T14:01:54.9571247Z", "registrationTokenOperation": "Update" }, + "vmTemplate": "{json:json}", "ssoContext": "KeyVaultPath", "preferredAppGroupType": "Desktop" } @@ -31,8 +32,8 @@ "200": { "body": { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -53,7 +54,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } @@ -61,8 +63,8 @@ "201": { "body": { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -83,7 +85,7 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Delete.json index 447fc42fc699..434d80ce221b 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Delete.json @@ -9,8 +9,8 @@ "responses": { "200": { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "vmTemplate": "{json:json}", + "ssoContext": null } }, "204": {} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json index fb86c3da15ee..175c4fef704e 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json @@ -9,8 +9,8 @@ "200": { "body": { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json index 69ef8301a370..302dcc34c598 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json @@ -9,8 +9,8 @@ "value": [ { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -31,14 +31,15 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } }, { "name": "hostPool2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -59,7 +60,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json index 933bf9839591..6ae671b69976 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json @@ -10,8 +10,8 @@ "value": [ { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -32,14 +32,15 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } }, { "name": "hostPool2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -60,7 +61,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json index 833bf8716bbf..c885b024272c 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json @@ -20,6 +20,7 @@ "expirationTime": "2020-10-01T15:01:54.9571247Z", "registrationTokenOperation": "Update" }, + "vmTemplate": "{json:json}", "ssoContext": "KeyVaultPath" } } @@ -28,8 +29,8 @@ "200": { "body": { "name": "hostPool1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "type": "/Microsoft.DesktopVirtualization/hostPools", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostpools", "location": "centralus", "tags": { "key1": "value1", @@ -50,7 +51,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath", + "vmTemplate": "{json:json}", + "ssoContext": null, "preferredAppGroupType": "Desktop" } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json index 12cae16ead92..8961354c5283 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json @@ -10,7 +10,7 @@ "responses": { "200": { "name": "sessionHost1.microsoft.com", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", "properties": { "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", @@ -26,7 +26,7 @@ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", "updateErrorMessage": "", "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, "204": {} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json index 7c4fc2180b4b..1006aadcae10 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json @@ -10,7 +10,7 @@ "200": { "body": { "name": "sessionHost1.microsoft.com", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", "properties": { "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", @@ -26,7 +26,7 @@ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", "updateErrorMessage": "", "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json index 12ba5cafb4f2..f683f51f839e 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json @@ -11,7 +11,7 @@ "value": [ { "name": "sessionHost1.microsoft.com", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com", "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", "properties": { "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", @@ -27,12 +27,12 @@ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", "updateErrorMessage": "", "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, { "name": "sessionHost2.microsoft.com", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost2microsoft.com", "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", "properties": { "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", @@ -48,7 +48,7 @@ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", "updateErrorMessage": "", "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json index 9353b6accd08..41356917763b 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json @@ -16,7 +16,7 @@ "200": { "body": { "name": "sessionHost1.microsoft.com", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com", "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", "properties": { "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", @@ -32,7 +32,7 @@ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", "updateErrorMessage": "", "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", - "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/StartMenuItem_List.json index afd698213ed8..fa4017a89b86 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/StartMenuItem_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/StartMenuItem_List.json @@ -11,7 +11,7 @@ "value": [ { "name": "application1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", "properties": { "appAlias": "word", @@ -24,7 +24,7 @@ }, { "name": "application2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", "properties": { "appAlias": "excel", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Delete.json index da8cd8ae4bfb..ee13e7555380 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Delete.json @@ -11,7 +11,7 @@ "responses": { "200": { "name": "1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Get.json index 06aac45ba81e..ad30b313730e 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_Get.json @@ -11,7 +11,7 @@ "200": { "body": { "name": "1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_List.json index cef72db2561d..771a4b13da70 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_List.json @@ -12,7 +12,7 @@ "value": [ { "name": "1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", @@ -24,7 +24,7 @@ }, { "name": "2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_ListByHostPool.json index 1c39908d8349..f6d1edc1f4dc 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_ListByHostPool.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/UserSession_ListByHostPool.json @@ -12,7 +12,7 @@ "value": [ { "name": "1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", @@ -24,7 +24,7 @@ }, { "name": "2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", "properties": { "userPrincipalName": "user1@microsoft.com", diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Create.json index 7085ade8ceed..ff6de1e47064 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Create.json @@ -20,7 +20,7 @@ "200": { "body": { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { @@ -36,7 +36,7 @@ "201": { "body": { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Delete.json index 2048117807aa..b1fac0b29d22 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Delete.json @@ -8,7 +8,7 @@ "responses": { "200": { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Get.json index dc613edd408b..96cec1aa7acf 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Get.json @@ -9,7 +9,7 @@ "200": { "body": { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListByResourceGroup.json index 6f6dc3ad0de8..2988972d0e2f 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListByResourceGroup.json @@ -10,7 +10,7 @@ "value": [ { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { @@ -24,7 +24,7 @@ }, { "name": "workspace2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListBySubscription.json index 79ec5eea61dd..49f61942a4ff 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListBySubscription.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_ListBySubscription.json @@ -9,7 +9,7 @@ "value": [ { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { @@ -23,7 +23,7 @@ }, { "name": "workspace2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Update.json index 33060dc90353..bd3f747371af 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/Workspace_Update.json @@ -19,7 +19,7 @@ "200": { "body": { "name": "workspace1", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", "type": "Microsoft.DesktopVirtualization/workspaces", "location": "centralus", "tags": { diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json new file mode 100644 index 000000000000..3e0591c48caf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json @@ -0,0 +1,3732 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-21-preview", + "title": "Desktop Virtualization API Client" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "management.azure.com", + "securityDefinitions": { + "azure_auth": { + "type": "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.DesktopVirtualization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all of the available operations the Desktop Virtualization resource provider supports.", + "x-ms-examples": { + "OperationDescription_List": { + "$ref": "./examples/OperationDescription_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Get a workspace.", + "x-ms-examples": { + "Workspace_Get": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "x-ms-examples": { + "Workspace_Create": { + "$ref": "./examples/Workspace_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Successfully created workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Remove a workspace.", + "x-ms-examples": { + "Workspace_Delete": { + "$ref": "./examples/Workspace_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted workspace." + }, + "204": { + "description": "Workspace does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Update", + "description": "Update a workspace.", + "x-ms-examples": { + "Workspace_Update": { + "$ref": "./examples/Workspace_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "List workspaces.", + "x-ms-examples": { + "Workspace_ListByResourceGroup": { + "$ref": "./examples/Workspace_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "List workspaces in subscription.", + "x-ms-examples": { + "Workspace_ListBySubscription": { + "$ref": "./examples/Workspace_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Get", + "description": "Get an application group.", + "x-ms-examples": { + "ApplicationGroup_Get": { + "$ref": "./examples/ApplicationGroup_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_CreateOrUpdate", + "description": "Create or update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Create": { + "$ref": "./examples/ApplicationGroup_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "201": { + "description": "Successfully created application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Delete", + "description": "Remove an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Delete": { + "$ref": "./examples/ApplicationGroup_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application group." + }, + "204": { + "description": "Application group does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Update", + "description": "Update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroups_Update": { + "$ref": "./examples/ApplicationGroup_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationGroupPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListByResourceGroup", + "description": "List applicationGroups.", + "x-ms-examples": { + "ApplicationGroup_ListByResourceGroup": { + "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in resource group.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListBySubscription", + "description": "List applicationGroups in subscription.", + "x-ms-examples": { + "ApplicationGroup_List": { + "$ref": "./examples/ApplicationGroup_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in subscription.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": { + "get": { + "tags": [ + "StartMenuItem" + ], + "operationId": "StartMenuItems_List", + "description": "List start menu items in the given application group.", + "x-ms-examples": { + "StartMenuItem_List": { + "$ref": "./examples/StartMenuItem_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved start menu items in application group.", + "schema": { + "$ref": "#/definitions/StartMenuItemList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "description": "Get an application.", + "x-ms-examples": { + "Application_Get": { + "$ref": "./examples/Application_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Create or update an application.", + "x-ms-examples": { + "Application_Create": { + "$ref": "./examples/Application_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Successfully created application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "description": "Remove an application.", + "x-ms-examples": { + "Application_Delete": { + "$ref": "./examples/Application_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application." + }, + "204": { + "description": "Application does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "description": "Update an application.", + "x-ms-examples": { + "Application_Update": { + "$ref": "./examples/Application_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "description": "List applications.", + "x-ms-examples": { + "Applications_List": { + "$ref": "./examples/Application_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved applications in application group.", + "schema": { + "$ref": "#/definitions/ApplicationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Get", + "description": "Get a desktop.", + "x-ms-examples": { + "Desktop_Get": { + "$ref": "./examples/Desktop_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Update", + "description": "Update a desktop.", + "x-ms-examples": { + "Desktop_Update": { + "$ref": "./examples/Desktop_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + }, + { + "name": "desktop", + "description": "Object containing Desktop definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/DesktopPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_List", + "description": "List desktops.", + "x-ms-examples": { + "Desktop_List": { + "$ref": "./examples/Desktop_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktops in application group.", + "schema": { + "$ref": "#/definitions/DesktopList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Get", + "description": "Get a host pool.", + "x-ms-examples": { + "HostPool_Get": { + "$ref": "./examples/HostPool_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_CreateOrUpdate", + "description": "Create or update a host pool.", + "x-ms-examples": { + "HostPool_Create": { + "$ref": "./examples/HostPool_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPool" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "201": { + "description": "Successfully created host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Delete", + "description": "Remove a host pool.", + "x-ms-examples": { + "HostPool_Delete": { + "$ref": "./examples/HostPool_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete sessionHost." + } + ], + "responses": { + "200": { + "description": "Successfully removed host pool." + }, + "204": { + "description": "Host pool does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Update", + "description": "Update a host pool.", + "x-ms-examples": { + "HostPool_Update": { + "$ref": "./examples/HostPool_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/HostPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_ListByResourceGroup", + "description": "List hostPools.", + "x-ms-examples": { + "HostPool_ListByResourceGroup": { + "$ref": "./examples/HostPool_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_List", + "description": "List hostPools in subscription.", + "x-ms-examples": { + "HostPool_List": { + "$ref": "./examples/HostPool_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in subscription.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_ListByHostPool", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_ListByHostPool": { + "$ref": "./examples/UserSession_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in host pool.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Get", + "description": "Get a session host.", + "x-ms-examples": { + "SessionHost_Get": { + "$ref": "./examples/SessionHost_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Delete", + "description": "Remove a SessionHost.", + "x-ms-examples": { + "SessionHost_Delete": { + "$ref": "./examples/SessionHost_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to force sessionHost deletion even when userSession exists." + } + ], + "responses": { + "200": { + "description": "Successfully removed session host." + }, + "204": { + "description": "Session host does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Update", + "description": "Update a session host.", + "x-ms-examples": { + "SessionHost_Update": { + "$ref": "./examples/SessionHost_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "sessionHost", + "description": "Object containing SessionHost definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_List", + "description": "List sessionHosts.", + "x-ms-examples": { + "SessionHost_List": { + "$ref": "./examples/SessionHost_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session hosts in host pool.", + "schema": { + "$ref": "#/definitions/SessionHostList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Get", + "description": "Get a msixpackage.", + "x-ms-examples": { + "MSIXPackage_Get": { + "$ref": "./examples/MsixPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_CreateOrUpdate", + "description": "Create or update a MSIX package.", + "x-ms-examples": { + "MSIXPackage_Create": { + "$ref": "./examples/MsixPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "201": { + "description": "Successfully created MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Delete", + "description": "Remove an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Delete": { + "$ref": "./examples/MsixPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed MSIX Package." + }, + "204": { + "description": "MSIX Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Update", + "description": "Update an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Update": { + "$ref": "./examples/MsixPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/MSIXPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_List", + "description": "List MSIX packages in hostpool.", + "x-ms-examples": { + "MSIXPackage_List": { + "$ref": "./examples/MsixPackage_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Packages in hostpool.", + "schema": { + "$ref": "#/definitions/MSIXPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": { + "post": { + "tags": [ + "MsixImage" + ], + "operationId": "MsixImages_Expand", + "description": "Expands and Lists MSIX packages in an Image, given the Image Path.", + "x-ms-examples": { + "MsixImage_Expand": { + "$ref": "./examples/MsixImage_Expand_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "msixImageURI", + "description": "Object containing URI to MSIX Image", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXImageURI" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/ExpandMsixImageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Get", + "description": "Get a userSession.", + "x-ms-examples": { + "UserSession_Get": { + "$ref": "./examples/UserSession_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user session.", + "schema": { + "$ref": "#/definitions/UserSession" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Delete", + "description": "Remove a userSession.", + "x-ms-examples": { + "UserSession_Delete": { + "$ref": "./examples/UserSession_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to login off userSession." + } + ], + "responses": { + "200": { + "description": "Successfully removed user session." + }, + "204": { + "description": "User session does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_List", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_List": { + "$ref": "./examples/UserSession_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in session host.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Disconnect", + "description": "Disconnect a userSession.", + "x-ms-examples": { + "UserSession_Disconnect_Post": { + "$ref": "./examples/UserSession_Disconnect_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disconnected user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_SendMessage", + "description": "Send a message to a user.", + "x-ms-examples": { + "UserSession_SendMessage_Post": { + "$ref": "./examples/UserSession_SendMessage_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "sendMessage", + "description": "Object containing message includes title and message body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SendMessage" + } + } + ], + "responses": { + "200": { + "description": "Successfully sent message to user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorProperties" + } + } + }, + "CloudErrorProperties": { + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Desktop Virtualization.", + "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" + } + } + } + } + }, + "Workspace": { + "type": "object", + "description": "Represents a Workspace definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties" + } + } + }, + "WorkspaceProperties": { + "description": "Schema for Workspace properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup resource Ids.", + "items": { + "type": "string" + } + } + } + }, + "WorkspaceList": { + "type": "object", + "title": "WorkspaceList", + "description": "List of Workspace definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Workspace definitions.", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "WorkspacePatch": { + "type": "object", + "description": "Workspace properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspacePatchProperties" + } + } + }, + "WorkspacePatchProperties": { + "description": "Workspace properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + } + } + }, + "ApplicationGroup": { + "type": "object", + "description": "Represents a ApplicationGroup definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for ApplicationGroup", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupProperties", + "x-nullable": false + } + } + }, + "ApplicationGroupProperties": { + "description": "Schema for ApplicationGroup properties.", + "type": "object", + "required": [ + "hostPoolArmPath", + "applicationGroupType" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup.", + "x-nullable": false + }, + "workspaceArmPath": { + "type": "string", + "description": "Workspace arm path of ApplicationGroup.", + "readOnly": true + }, + "applicationGroupType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationGroupType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of ApplicationGroup.", + "x-nullable": false + } + } + }, + "ApplicationGroupPatch": { + "type": "object", + "description": "ApplicationGroup properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "ApplicationGroup properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupPatchProperties" + } + } + }, + "ApplicationGroupPatchProperties": { + "description": "ApplicationGroup properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + } + } + }, + "ApplicationGroupList": { + "type": "object", + "title": "ApplicationGroupList", + "description": "List of ApplicationGroup definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ApplicationGroup definitions.", + "items": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "HostPool": { + "type": "object", + "description": "Represents a HostPool definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for HostPool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolProperties", + "x-nullable": false + } + } + }, + "HostPoolProperties": { + "description": "Properties of HostPool.", + "type": "object", + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "hostPoolType": { + "enum": [ + "Personal", + "Pooled" + ], + "x-ms-enum": { + "name": "HostPoolType", + "modelAsString": true + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": false + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "description": "The max session limit of HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer.", + "x-nullable": false + }, + "ring": { + "type": "integer", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfo", + "description": "The registration info of HostPool." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "applicationGroupReferences": { + "readOnly": true, + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group", + "x-nullable": false + } + } + }, + "HostPoolPatch": { + "type": "object", + "description": "HostPool properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "HostPool properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolPatchProperties" + } + } + }, + "HostPoolPatchProperties": { + "description": "Properties of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "description": "The max session limit of HostPool." + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer." + }, + "ring": { + "type": "integer", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfoPatch", + "description": "The registration info of HostPool." + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group" + } + } + }, + "RegistrationInfo": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token.", + "x-nullable": false + } + } + }, + "RegistrationInfoPatch": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token." + } + } + }, + "SendMessage": { + "description": "Represents message sent to a UserSession.", + "type": "object", + "properties": { + "messageTitle": { + "type": "string", + "description": "Title of message." + }, + "messageBody": { + "type": "string", + "description": "Body of message." + } + } + }, + "HostPoolList": { + "type": "object", + "title": "HostPoolList", + "description": "List of HostPool definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of HostPool definitions.", + "items": { + "$ref": "#/definitions/HostPool" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXPackage": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackageProperties", + "x-nullable": false + } + } + }, + "MSIXPackageProperties": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "properties": { + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "MSIXPackagePatch": { + "type": "object", + "description": "MSIX Package properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackagePatchProperties" + } + } + }, + "MSIXPackagePatchProperties": { + "description": "MSIX Package properties that can be patched.", + "type": "object", + "properties": { + "isActive": { + "type": "boolean", + "description": "Set a version of the package to be active across hostpool. " + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Set Registration mode. Regular or Delayed." + }, + "displayName": { + "type": "string", + "description": "Display name for MSIX Package." + } + } + }, + "MsixPackageApplications": { + "description": "Schema for MSIX Package Application properties.", + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Description of Package Application.", + "x-nullable": false + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.", + "x-nullable": false + }, + "friendlyName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "iconImageName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "rawIcon": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + }, + "rawPng": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "MsixPackageDependencies": { + "description": "Schema for MSIX Package Dependencies properties.", + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency.", + "x-nullable": false + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher.", + "x-nullable": false + }, + "minVersion": { + "type": "string", + "description": "Dependency version required.", + "x-nullable": false + } + } + }, + "MSIXPackageList": { + "type": "object", + "title": "MsixPackageList", + "description": "List of MSIX Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX Package definitions.", + "items": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "Application": { + "description": "Schema for Application properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "x-nullable": false + } + } + }, + "ApplicationProperties": { + "description": "Schema for Application properties.", + "type": "object", + "required": [ + "commandLineSetting" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.", + "x-nullable": false + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "ApplicationList": { + "type": "object", + "title": "ApplicationList", + "description": "List of Application definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Application definitions.", + "items": { + "$ref": "#/definitions/Application" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ApplicationPatch": { + "type": "object", + "description": "Application properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPatchProperties" + } + } + }, + "ApplicationPatchProperties": { + "description": "Application properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application." + } + } + }, + "Desktop": { + "description": "Schema for Desktop properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopProperties" + } + } + }, + "DesktopProperties": { + "description": "Schema for Desktop properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "The icon a 64 bit string as a byte array." + } + } + }, + "DesktopList": { + "type": "object", + "title": "DesktopList", + "description": "List of Desktop definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Desktop definitions.", + "items": { + "$ref": "#/definitions/Desktop" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "DesktopPatch": { + "type": "object", + "description": "Desktop properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopPatchProperties" + } + } + }, + "DesktopPatchProperties": { + "description": "Desktop properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + } + } + }, + "StartMenuItemProperties": { + "description": "Schema for StartMenuItem properties.", + "type": "object", + "properties": { + "appAlias": { + "type": "string", + "description": "Alias of StartMenuItem." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of StartMenuItem." + }, + "filePath": { + "type": "string", + "description": "Path to the file of StartMenuItem." + }, + "commandLineArguments": { + "type": "string", + "description": "Command line arguments for StartMenuItem." + }, + "iconPath": { + "type": "string", + "description": "Path to the icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + } + } + }, + "StartMenuItem": { + "type": "object", + "description": "Represents a StartMenuItem definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for StartMenuItem", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StartMenuItemProperties" + } + } + }, + "StartMenuItemList": { + "type": "object", + "title": "StartMenuItemList", + "description": "List of StartMenuItem definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of StartMenuItem definitions.", + "items": { + "$ref": "#/definitions/StartMenuItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ExpandMsixImageProperties": { + "description": "Schema for Expand MSIX Image properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of MSIX Package." + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "ExpandMsixImage": { + "type": "object", + "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ExpandMsixImage", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpandMsixImageProperties" + } + } + }, + "ExpandMsixImageList": { + "type": "object", + "title": "ExpandMsixImageList", + "description": "List of MSIX package properties retrieved from MSIX Image expansion.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX package properties from give MSIX Image.", + "items": { + "$ref": "#/definitions/ExpandMsixImage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXImageURI": { + "description": "Represents URI referring to MSIX Image", + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI to Image" + } + } + }, + "SessionHost": { + "type": "object", + "description": "Represents a SessionHost definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostProperties" + } + } + }, + "SessionHostProperties": { + "description": "Schema for SessionHost properties.", + "type": "object", + "properties": { + "lastHeartBeat": { + "format": "date-time", + "type": "string", + "description": "Last heart beat from SessionHost." + }, + "sessions": { + "type": "integer", + "description": "Number of sessions on SessionHost." + }, + "agentVersion": { + "type": "string", + "description": "Version of agent on SessionHost." + }, + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "virtualMachineId": { + "type": "string", + "description": "Virtual Machine Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Resource Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "status": { + "enum": [ + "Available", + "Unavailable", + "Shutdown", + "Disconnected", + "Upgrading", + "UpgradeFailed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + }, + "type": "string", + "description": "Status for a SessionHost." + }, + "statusTimestamp": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the status.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "The version of the OS on the session host." + }, + "sxSStackVersion": { + "type": "string", + "description": "The version of the side by side stack on the session host." + }, + "updateState": { + "enum": [ + "Initial", + "Pending", + "Started", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + }, + "type": "string", + "description": "Update state of a SessionHost." + }, + "lastUpdateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "updateErrorMessage": { + "type": "string", + "description": "The error message." + } + } + }, + "SessionHostPatch": { + "type": "object", + "description": "SessionHost properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostPatchProperties" + } + } + }, + "SessionHostPatchProperties": { + "description": "SessionHost properties that can be patched.", + "type": "object", + "properties": { + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + } + } + }, + "SessionHostList": { + "type": "object", + "title": "SessionHostList", + "description": "List of SessionHost definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHost definitions.", + "items": { + "$ref": "#/definitions/SessionHost" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserSession": { + "type": "object", + "description": "Represents a UserSession definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for UserSession", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserSessionProperties" + } + } + }, + "UserSessionProperties": { + "description": "Schema for UserSession properties.", + "type": "object", + "properties": { + "userPrincipalName": { + "type": "string", + "description": "The user principal name." + }, + "applicationType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Application type of application." + }, + "sessionState": { + "enum": [ + "Unknown", + "Active", + "Disconnected", + "Pending", + "LogOff", + "UserProfileDiskMounted" + ], + "x-ms-enum": { + "name": "SessionState", + "modelAsString": true + }, + "type": "string", + "description": "State of user session." + }, + "activeDirectoryUserName": { + "type": "string", + "description": "The active directory user name." + }, + "createTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the user session create." + } + } + }, + "UserSessionList": { + "type": "object", + "title": "UserSessionList", + "description": "List of UserSession definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of UserSession definitions.", + "items": { + "$ref": "#/definitions/UserSession" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + } + }, + "parameters": { + "HostPoolNameParameter": { + "name": "hostPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the host pool within the specified resource group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXPackageFullNameParameter": { + "name": "msixPackageFullName", + "in": "path", + "required": true, + "type": "string", + "description": "The version specific package full name of the MSIX package within specified hostpool", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationGroupNameParameter": { + "name": "applicationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application within the specified application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DesktopNameParameter": { + "name": "desktopName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the desktop within the specified desktop group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "SessionHostNameParameter": { + "name": "sessionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the session host within the specified host pool", + "maxLength": 48, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "UserSessionIdParameter": { + "name": "userSessionId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user session within the specified session host", + "maxLength": 24, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "StartMenuItemNameParameter": { + "name": "startMenuItemName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the start menu item within the specified host pool", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXImageURIParameter": { + "name": "msixImageURI", + "in": "path", + "required": true, + "type": "string", + "description": "URI to the MSIX Image (VHD/CIM).", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Create.json new file mode 100644 index 000000000000..5ce43eb4a623 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Create.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview", + "applicationGroup": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + }, + "201": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Delete.json new file mode 100644 index 000000000000..79cbe2e56f03 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Delete.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Get.json new file mode 100644 index 000000000000..c6bd8f15a1ab --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListByResourceGroup.json new file mode 100644 index 000000000000..4c8752cfd907 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-09-21-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListBySubscription.json new file mode 100644 index 000000000000..0c785da96edf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_ListBySubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-09-21-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Update.json new file mode 100644 index 000000000000..5defdb76250a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/ApplicationGroup_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview", + "applicationGroup": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Create.json new file mode 100644 index 000000000000..29fe74aa3cdc --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Create.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-09-21-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1 + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "201": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Delete.json new file mode 100644 index 000000000000..9425384b6d4b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Delete.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Get.json new file mode 100644 index 000000000000..bd2bf92136a7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_List.json new file mode 100644 index 000000000000..a1f13464dbdc --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + { + "name": "applicationGroup1/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des2", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Update.json new file mode 100644 index 000000000000..1423f5d29c2b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Application_Update.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-09-21-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Get.json new file mode 100644 index 000000000000..78a8f7dd271a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_List.json new file mode 100644 index 000000000000..8511620d8c2e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Update.json new file mode 100644 index 000000000000..a1c16b59f669 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Desktop_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2020-09-21-preview", + "desktop": { + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Create.json new file mode 100644 index 000000000000..21ab2ac34e18 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Create.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview", + "hostPool": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + }, + "201": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Delete.json new file mode 100644 index 000000000000..d126268a6f01 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Delete.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview", + "force": true + }, + "responses": { + "200": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Get.json new file mode 100644 index 000000000000..200848de43ad --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_List.json new file mode 100644 index 000000000000..8129f33a3970 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_ListByResourceGroup.json new file mode 100644 index 000000000000..bb9a9d6df4d4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_ListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Update.json new file mode 100644 index 000000000000..7a6bd475ab02 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/HostPool_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview", + "hostPool": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "personalDesktopAssignmentType": "Automatic", + "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixImage_Expand_Post.json new file mode 100644 index 000000000000..60dfe53e0983 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixImage_Expand_Post.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview", + "msixImageURI": { + "uri": "imagepath" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "RawIcon", + "rawPng": "RawPng" + } + ] + } + }, + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias2", + "imagePath": "imagepath", + "packageName": "MsixPackageName2", + "packageFamilyName": "MsixPackage_FamilyName2", + "packageFullName": "MsixPackage_FullName2", + "displayName": "displayname2", + "packageRelativePath": "packagerelativepath2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackageDependency1", + "publisher": "PublisherName1", + "minVersion": "ver1" + }, + { + "dependencyName": "MsixPackageDependency2", + "publisher": "PublisherName2", + "minVersion": "ver2" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId1", + "description": "PackageApplicationDescription1", + "appUserModelID": "AppUserModelId1", + "friendlyName": "FriendlyName1", + "iconImageName": "Iconimagename1", + "rawIcon": "RawIcon1", + "rawPng": "RawPng1" + }, + { + "appId": "AppId2", + "description": "PackageApplicationDescription2", + "appUserModelID": "AppUserModelId2", + "friendlyName": "FriendlyName2", + "iconImageName": "Iconimagename2", + "rawIcon": "RawIcon2", + "rawPng": "RawPng2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Create.json new file mode 100644 index 000000000000..532cd6ff86d3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Create.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "imagePath": "imagepath", + "isActive": false, + "isRegularRegistration": false, + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "description": "application-desc", + "appId": "ApplicationId", + "appUserModelID": "AppUserModelId", + "friendlyName": "friendlyname", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "packageDependencies": [ + { + "dependencyName": "MsixTest_Dependency_Name", + "minVersion": "version", + "publisher": "PublishedName" + } + ], + "packageFamilyName": "MsixPackage_FamilyName", + "packageName": "MsixPackage_name", + "packageRelativePath": "packagerelativepath", + "version": "version" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + }, + "201": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Delete.json new file mode 100644 index 000000000000..9dad5a645731 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Delete.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Get.json new file mode 100644 index 000000000000..94d954d575bf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_List.json new file mode 100644 index 000000000000..7fdead2582c4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_List.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/MsixPackageFullName2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath2", + "packageName": "MsixPackage_Name2", + "packageFamilyName": "MsixPackage_FamilyName2", + "displayName": "dis2", + "packageRelativePath": "MsixPackage_RelativePackageRoot2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name2", + "publisher": "MsixPackage_Dependency_Publisher2", + "minVersion": "packageDep_version2" + } + ], + "version": "version2", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id2", + "description": "desc2", + "appUserModelID": "Application_ModelID2", + "friendlyName": "fri2", + "iconImageName": "Apptile2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Update.json new file mode 100644 index 000000000000..5e1cba8582be --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/MsixPackage_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-09-21-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "isActive": true, + "isRegularRegistration": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/OperationDescription_List.json new file mode 100644 index 000000000000..b9e1a66404fc --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/OperationDescription_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DesktopVirtualization/ssocontext/read", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "ssocontext" + } + }, + { + "name": "Microsoft.DesktopVirtualization/ssocontext/write", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "ssocontext" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Delete.json new file mode 100644 index 000000000000..5112fe0f16fa --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Delete.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-09-21-preview", + "force": true + }, + "responses": { + "200": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Get.json new file mode 100644 index 000000000000..a03c5581e0da --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_List.json new file mode 100644 index 000000000000..4e8b0823fa0b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_List.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + }, + { + "name": "sessionHost2.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user2@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Update.json new file mode 100644 index 000000000000..5a4c48c815de --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/SessionHost_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-09-21-preview", + "sessionHost": { + "properties": { + "allowNewSession": true, + "assignedUser": "user1@microsoft.com" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2019-01-24T20:00:08.2893033Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/StartMenuItem_List.json new file mode 100644 index 000000000000..2e1ee505febf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/StartMenuItem_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "word", + "friendlyName": "friendly", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + }, + { + "name": "application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "excel", + "friendlyName": "friendly", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Delete.json new file mode 100644 index 000000000000..c4261c0d8203 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Delete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-09-21-preview", + "force": true + }, + "responses": { + "200": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Disconnect_Post.json new file mode 100644 index 000000000000..28323231cddf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Disconnect_Post.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Get.json new file mode 100644 index 000000000000..171c9cf924da --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_List.json new file mode 100644 index 000000000000..88291383018e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_ListByHostPool.json new file mode 100644 index 000000000000..7ce285f3bec7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_ListByHostPool.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-09-21-preview", + "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_SendMessage_Post.json new file mode 100644 index 000000000000..dcb09cd5b6f8 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/UserSession_SendMessage_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-09-21-preview", + "sendMessage": { + "messageTitle": "title", + "messageBody": "body" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Create.json new file mode 100644 index 000000000000..916e330d487c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Create.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-09-21-preview", + "workspace": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Delete.json new file mode 100644 index 000000000000..1c2020f4e608 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Delete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..d12e22e6de6d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListByResourceGroup.json new file mode 100644 index 000000000000..23904c4161cd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListBySubscription.json new file mode 100644 index 000000000000..a81eeec1dd00 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-09-21-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Update.json new file mode 100644 index 000000000000..5d7046c8047b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/examples/Workspace_Update.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-09-21-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json new file mode 100644 index 000000000000..417c4e308efd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json @@ -0,0 +1,3790 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-19-preview", + "title": "Desktop Virtualization API Client" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "management.azure.com", + "securityDefinitions": { + "azure_auth": { + "type": "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.DesktopVirtualization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all of the available operations the Desktop Virtualization resource provider supports.", + "x-ms-examples": { + "OperationDescription_List": { + "$ref": "./examples/OperationDescription_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Get a workspace.", + "x-ms-examples": { + "Workspace_Get": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "x-ms-examples": { + "Workspace_Create": { + "$ref": "./examples/Workspace_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Successfully created workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Remove a workspace.", + "x-ms-examples": { + "Workspace_Delete": { + "$ref": "./examples/Workspace_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted workspace." + }, + "204": { + "description": "Workspace does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Update", + "description": "Update a workspace.", + "x-ms-examples": { + "Workspace_Update": { + "$ref": "./examples/Workspace_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "List workspaces.", + "x-ms-examples": { + "Workspace_ListByResourceGroup": { + "$ref": "./examples/Workspace_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "List workspaces in subscription.", + "x-ms-examples": { + "Workspace_ListBySubscription": { + "$ref": "./examples/Workspace_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Get", + "description": "Get an application group.", + "x-ms-examples": { + "ApplicationGroup_Get": { + "$ref": "./examples/ApplicationGroup_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_CreateOrUpdate", + "description": "Create or update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Create": { + "$ref": "./examples/ApplicationGroup_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "201": { + "description": "Successfully created application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Delete", + "description": "Remove an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Delete": { + "$ref": "./examples/ApplicationGroup_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application group." + }, + "204": { + "description": "Application group does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Update", + "description": "Update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroups_Update": { + "$ref": "./examples/ApplicationGroup_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationGroupPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListByResourceGroup", + "description": "List applicationGroups.", + "x-ms-examples": { + "ApplicationGroup_ListByResourceGroup": { + "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in resource group.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListBySubscription", + "description": "List applicationGroups in subscription.", + "x-ms-examples": { + "ApplicationGroup_List": { + "$ref": "./examples/ApplicationGroup_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in subscription.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": { + "get": { + "tags": [ + "StartMenuItem" + ], + "operationId": "StartMenuItems_List", + "description": "List start menu items in the given application group.", + "x-ms-examples": { + "StartMenuItem_List": { + "$ref": "./examples/StartMenuItem_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved start menu items in application group.", + "schema": { + "$ref": "#/definitions/StartMenuItemList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "description": "Get an application.", + "x-ms-examples": { + "Application_Get": { + "$ref": "./examples/Application_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Create or update an application.", + "x-ms-examples": { + "Application_Create": { + "$ref": "./examples/Application_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Successfully created application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "description": "Remove an application.", + "x-ms-examples": { + "Application_Delete": { + "$ref": "./examples/Application_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application." + }, + "204": { + "description": "Application does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "description": "Update an application.", + "x-ms-examples": { + "Application_Update": { + "$ref": "./examples/Application_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "description": "List applications.", + "x-ms-examples": { + "Applications_List": { + "$ref": "./examples/Application_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved applications in application group.", + "schema": { + "$ref": "#/definitions/ApplicationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Get", + "description": "Get a desktop.", + "x-ms-examples": { + "Desktop_Get": { + "$ref": "./examples/Desktop_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Update", + "description": "Update a desktop.", + "x-ms-examples": { + "Desktop_Update": { + "$ref": "./examples/Desktop_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + }, + { + "name": "desktop", + "description": "Object containing Desktop definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/DesktopPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_List", + "description": "List desktops.", + "x-ms-examples": { + "Desktop_List": { + "$ref": "./examples/Desktop_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktops in application group.", + "schema": { + "$ref": "#/definitions/DesktopList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Get", + "description": "Get a host pool.", + "x-ms-examples": { + "HostPool_Get": { + "$ref": "./examples/HostPool_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_CreateOrUpdate", + "description": "Create or update a host pool.", + "x-ms-examples": { + "HostPool_Create": { + "$ref": "./examples/HostPool_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPool" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "201": { + "description": "Successfully created host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Delete", + "description": "Remove a host pool.", + "x-ms-examples": { + "HostPool_Delete": { + "$ref": "./examples/HostPool_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete sessionHost." + } + ], + "responses": { + "200": { + "description": "Successfully removed host pool." + }, + "204": { + "description": "Host pool does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Update", + "description": "Update a host pool.", + "x-ms-examples": { + "HostPool_Update": { + "$ref": "./examples/HostPool_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/HostPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_ListByResourceGroup", + "description": "List hostPools.", + "x-ms-examples": { + "HostPool_ListByResourceGroup": { + "$ref": "./examples/HostPool_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_List", + "description": "List hostPools in subscription.", + "x-ms-examples": { + "HostPool_List": { + "$ref": "./examples/HostPool_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in subscription.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_ListByHostPool", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_ListByHostPool": { + "$ref": "./examples/UserSession_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in host pool.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Get", + "description": "Get a session host.", + "x-ms-examples": { + "SessionHost_Get": { + "$ref": "./examples/SessionHost_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Delete", + "description": "Remove a SessionHost.", + "x-ms-examples": { + "SessionHost_Delete": { + "$ref": "./examples/SessionHost_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to force sessionHost deletion even when userSession exists." + } + ], + "responses": { + "200": { + "description": "Successfully removed session host." + }, + "204": { + "description": "Session host does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Update", + "description": "Update a session host.", + "x-ms-examples": { + "SessionHost_Update": { + "$ref": "./examples/SessionHost_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "sessionHost", + "description": "Object containing SessionHost definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_List", + "description": "List sessionHosts.", + "x-ms-examples": { + "SessionHost_List": { + "$ref": "./examples/SessionHost_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session hosts in host pool.", + "schema": { + "$ref": "#/definitions/SessionHostList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Get", + "description": "Get a msixpackage.", + "x-ms-examples": { + "MSIXPackage_Get": { + "$ref": "./examples/MsixPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_CreateOrUpdate", + "description": "Create or update a MSIX package.", + "x-ms-examples": { + "MSIXPackage_Create": { + "$ref": "./examples/MsixPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "201": { + "description": "Successfully created MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Delete", + "description": "Remove an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Delete": { + "$ref": "./examples/MsixPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed MSIX Package." + }, + "204": { + "description": "MSIX Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Update", + "description": "Update an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Update": { + "$ref": "./examples/MsixPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/MSIXPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_List", + "description": "List MSIX packages in hostpool.", + "x-ms-examples": { + "MSIXPackage_List": { + "$ref": "./examples/MsixPackage_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Packages in hostpool.", + "schema": { + "$ref": "#/definitions/MSIXPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": { + "post": { + "tags": [ + "MsixImage" + ], + "operationId": "MsixImages_Expand", + "description": "Expands and Lists MSIX packages in an Image, given the Image Path.", + "x-ms-examples": { + "MsixImage_Expand": { + "$ref": "./examples/MsixImage_Expand_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "msixImageURI", + "description": "Object containing URI to MSIX Image", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXImageURI" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/ExpandMsixImageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Get", + "description": "Get a userSession.", + "x-ms-examples": { + "UserSession_Get": { + "$ref": "./examples/UserSession_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user session.", + "schema": { + "$ref": "#/definitions/UserSession" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Delete", + "description": "Remove a userSession.", + "x-ms-examples": { + "UserSession_Delete": { + "$ref": "./examples/UserSession_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to login off userSession." + } + ], + "responses": { + "200": { + "description": "Successfully removed user session." + }, + "204": { + "description": "User session does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_List", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_List": { + "$ref": "./examples/UserSession_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in session host.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Disconnect", + "description": "Disconnect a userSession.", + "x-ms-examples": { + "UserSession_Disconnect_Post": { + "$ref": "./examples/UserSession_Disconnect_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disconnected user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_SendMessage", + "description": "Send a message to a user.", + "x-ms-examples": { + "UserSession_SendMessage_Post": { + "$ref": "./examples/UserSession_SendMessage_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "sendMessage", + "description": "Object containing message includes title and message body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SendMessage" + } + } + ], + "responses": { + "200": { + "description": "Successfully sent message to user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorProperties" + } + } + }, + "CloudErrorProperties": { + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Desktop Virtualization.", + "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" + } + } + } + } + }, + "Workspace": { + "type": "object", + "description": "Represents a Workspace definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties" + } + } + }, + "WorkspaceProperties": { + "description": "Schema for Workspace properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup resource Ids.", + "items": { + "type": "string" + } + } + } + }, + "WorkspaceList": { + "type": "object", + "title": "WorkspaceList", + "description": "List of Workspace definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Workspace definitions.", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "WorkspacePatch": { + "type": "object", + "description": "Workspace properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspacePatchProperties" + } + } + }, + "WorkspacePatchProperties": { + "description": "Workspace properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + } + } + }, + "ApplicationGroup": { + "type": "object", + "description": "Represents a ApplicationGroup definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for ApplicationGroup", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupProperties", + "x-nullable": false + } + } + }, + "ApplicationGroupProperties": { + "description": "Schema for ApplicationGroup properties.", + "type": "object", + "required": [ + "hostPoolArmPath", + "applicationGroupType" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup.", + "x-nullable": false + }, + "workspaceArmPath": { + "type": "string", + "description": "Workspace arm path of ApplicationGroup.", + "readOnly": true + }, + "applicationGroupType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationGroupType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of ApplicationGroup.", + "x-nullable": false + } + } + }, + "ApplicationGroupPatch": { + "type": "object", + "description": "ApplicationGroup properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "ApplicationGroup properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupPatchProperties" + } + } + }, + "ApplicationGroupPatchProperties": { + "description": "ApplicationGroup properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + } + } + }, + "ApplicationGroupList": { + "type": "object", + "title": "ApplicationGroupList", + "description": "List of ApplicationGroup definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ApplicationGroup definitions.", + "items": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "HostPool": { + "type": "object", + "description": "Represents a HostPool definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for HostPool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolProperties", + "x-nullable": false + } + } + }, + "HostPoolProperties": { + "description": "Properties of HostPool.", + "type": "object", + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "hostPoolType": { + "enum": [ + "Personal", + "Pooled" + ], + "x-ms-enum": { + "name": "HostPoolType", + "modelAsString": true + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": false + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "description": "The max session limit of HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer.", + "x-nullable": false + }, + "ring": { + "type": "integer", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfo", + "description": "The registration info of HostPool." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "applicationGroupReferences": { + "readOnly": true, + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": false + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group", + "x-nullable": false + } + } + }, + "HostPoolPatch": { + "type": "object", + "description": "HostPool properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "HostPool properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolPatchProperties" + } + } + }, + "HostPoolPatchProperties": { + "description": "Properties of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "description": "The max session limit of HostPool." + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer." + }, + "ring": { + "type": "integer", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfoPatch", + "description": "The registration info of HostPool." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "ssoContext": { + "type": "string", + "description": "Path to keyvault containing ssoContext secret." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": false + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group" + } + } + }, + "RegistrationInfo": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token.", + "x-nullable": false + } + } + }, + "RegistrationInfoPatch": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token." + } + } + }, + "SendMessage": { + "description": "Represents message sent to a UserSession.", + "type": "object", + "properties": { + "messageTitle": { + "type": "string", + "description": "Title of message." + }, + "messageBody": { + "type": "string", + "description": "Body of message." + } + } + }, + "HostPoolList": { + "type": "object", + "title": "HostPoolList", + "description": "List of HostPool definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of HostPool definitions.", + "items": { + "$ref": "#/definitions/HostPool" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXPackage": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackageProperties", + "x-nullable": false + } + } + }, + "MSIXPackageProperties": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "properties": { + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "MSIXPackagePatch": { + "type": "object", + "description": "MSIX Package properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackagePatchProperties" + } + } + }, + "MSIXPackagePatchProperties": { + "description": "MSIX Package properties that can be patched.", + "type": "object", + "properties": { + "isActive": { + "type": "boolean", + "description": "Set a version of the package to be active across hostpool. " + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Set Registration mode. Regular or Delayed." + }, + "displayName": { + "type": "string", + "description": "Display name for MSIX Package." + } + } + }, + "MsixPackageApplications": { + "description": "Schema for MSIX Package Application properties.", + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Description of Package Application.", + "x-nullable": false + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.", + "x-nullable": false + }, + "friendlyName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "iconImageName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "rawIcon": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + }, + "rawPng": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "MsixPackageDependencies": { + "description": "Schema for MSIX Package Dependencies properties.", + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency.", + "x-nullable": false + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher.", + "x-nullable": false + }, + "minVersion": { + "type": "string", + "description": "Dependency version required.", + "x-nullable": false + } + } + }, + "MSIXPackageList": { + "type": "object", + "title": "MsixPackageList", + "description": "List of MSIX Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX Package definitions.", + "items": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "Application": { + "description": "Schema for Application properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "x-nullable": false + } + } + }, + "ApplicationProperties": { + "description": "Schema for Application properties.", + "type": "object", + "required": [ + "commandLineSetting" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.", + "x-nullable": false + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "ApplicationList": { + "type": "object", + "title": "ApplicationList", + "description": "List of Application definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Application definitions.", + "items": { + "$ref": "#/definitions/Application" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ApplicationPatch": { + "type": "object", + "description": "Application properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPatchProperties" + } + } + }, + "ApplicationPatchProperties": { + "description": "Application properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application." + } + } + }, + "Desktop": { + "description": "Schema for Desktop properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopProperties" + } + } + }, + "DesktopProperties": { + "description": "Schema for Desktop properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "The icon a 64 bit string as a byte array." + } + } + }, + "DesktopList": { + "type": "object", + "title": "DesktopList", + "description": "List of Desktop definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Desktop definitions.", + "items": { + "$ref": "#/definitions/Desktop" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "DesktopPatch": { + "type": "object", + "description": "Desktop properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopPatchProperties" + } + } + }, + "DesktopPatchProperties": { + "description": "Desktop properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + } + } + }, + "StartMenuItemProperties": { + "description": "Schema for StartMenuItem properties.", + "type": "object", + "properties": { + "appAlias": { + "type": "string", + "description": "Alias of StartMenuItem." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of StartMenuItem." + }, + "filePath": { + "type": "string", + "description": "Path to the file of StartMenuItem." + }, + "commandLineArguments": { + "type": "string", + "description": "Command line arguments for StartMenuItem." + }, + "iconPath": { + "type": "string", + "description": "Path to the icon." + }, + "iconIndex": { + "type": "integer", + "description": "Index of the icon." + } + } + }, + "StartMenuItem": { + "type": "object", + "description": "Represents a StartMenuItem definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for StartMenuItem", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StartMenuItemProperties" + } + } + }, + "StartMenuItemList": { + "type": "object", + "title": "StartMenuItemList", + "description": "List of StartMenuItem definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of StartMenuItem definitions.", + "items": { + "$ref": "#/definitions/StartMenuItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ExpandMsixImageProperties": { + "description": "Schema for Expand MSIX Image properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of MSIX Package." + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "ExpandMsixImage": { + "type": "object", + "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ExpandMsixImage", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpandMsixImageProperties" + } + } + }, + "ExpandMsixImageList": { + "type": "object", + "title": "ExpandMsixImageList", + "description": "List of MSIX package properties retrieved from MSIX Image expansion.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX package properties from give MSIX Image.", + "items": { + "$ref": "#/definitions/ExpandMsixImage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXImageURI": { + "description": "Represents URI referring to MSIX Image", + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI to Image" + } + } + }, + "SessionHost": { + "type": "object", + "description": "Represents a SessionHost definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostProperties" + } + } + }, + "SessionHostProperties": { + "description": "Schema for SessionHost properties.", + "type": "object", + "properties": { + "lastHeartBeat": { + "format": "date-time", + "type": "string", + "description": "Last heart beat from SessionHost." + }, + "sessions": { + "type": "integer", + "description": "Number of sessions on SessionHost." + }, + "agentVersion": { + "type": "string", + "description": "Version of agent on SessionHost." + }, + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "virtualMachineId": { + "type": "string", + "description": "Virtual Machine Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Resource Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "status": { + "enum": [ + "Available", + "Unavailable", + "Shutdown", + "Disconnected", + "Upgrading", + "UpgradeFailed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + }, + "type": "string", + "description": "Status for a SessionHost." + }, + "statusTimestamp": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the status.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "The version of the OS on the session host." + }, + "sxSStackVersion": { + "type": "string", + "description": "The version of the side by side stack on the session host." + }, + "updateState": { + "enum": [ + "Initial", + "Pending", + "Started", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + }, + "type": "string", + "description": "Update state of a SessionHost." + }, + "lastUpdateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "updateErrorMessage": { + "type": "string", + "description": "The error message." + } + } + }, + "SessionHostPatch": { + "type": "object", + "description": "SessionHost properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostPatchProperties" + } + } + }, + "SessionHostPatchProperties": { + "description": "SessionHost properties that can be patched.", + "type": "object", + "properties": { + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + } + } + }, + "SessionHostList": { + "type": "object", + "title": "SessionHostList", + "description": "List of SessionHost definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHost definitions.", + "items": { + "$ref": "#/definitions/SessionHost" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserSession": { + "type": "object", + "description": "Represents a UserSession definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for UserSession", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserSessionProperties" + } + } + }, + "UserSessionProperties": { + "description": "Schema for UserSession properties.", + "type": "object", + "properties": { + "userPrincipalName": { + "type": "string", + "description": "The user principal name." + }, + "applicationType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Application type of application." + }, + "sessionState": { + "enum": [ + "Unknown", + "Active", + "Disconnected", + "Pending", + "LogOff", + "UserProfileDiskMounted" + ], + "x-ms-enum": { + "name": "SessionState", + "modelAsString": true + }, + "type": "string", + "description": "State of user session." + }, + "activeDirectoryUserName": { + "type": "string", + "description": "The active directory user name." + }, + "createTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the user session create." + } + } + }, + "UserSessionList": { + "type": "object", + "title": "UserSessionList", + "description": "List of UserSession definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of UserSession definitions.", + "items": { + "$ref": "#/definitions/UserSession" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + } + }, + "parameters": { + "HostPoolNameParameter": { + "name": "hostPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the host pool within the specified resource group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXPackageFullNameParameter": { + "name": "msixPackageFullName", + "in": "path", + "required": true, + "type": "string", + "description": "The version specific package full name of the MSIX package within specified hostpool", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationGroupNameParameter": { + "name": "applicationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application within the specified application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DesktopNameParameter": { + "name": "desktopName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the desktop within the specified desktop group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "SessionHostNameParameter": { + "name": "sessionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the session host within the specified host pool", + "maxLength": 48, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "UserSessionIdParameter": { + "name": "userSessionId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user session within the specified session host", + "maxLength": 24, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "StartMenuItemNameParameter": { + "name": "startMenuItemName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the start menu item within the specified host pool", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXImageURIParameter": { + "name": "msixImageURI", + "in": "path", + "required": true, + "type": "string", + "description": "URI to the MSIX Image (VHD/CIM).", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Create.json new file mode 100644 index 000000000000..4ef56b5ee131 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Create.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview", + "applicationGroup": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + }, + "201": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Delete.json new file mode 100644 index 000000000000..de26a9f2064b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Delete.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Get.json new file mode 100644 index 000000000000..1d0554890fde --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListByResourceGroup.json new file mode 100644 index 000000000000..6676396d6836 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-10-19-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListBySubscription.json new file mode 100644 index 000000000000..8b4524311e56 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_ListBySubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-10-19-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Update.json new file mode 100644 index 000000000000..dcd878b4db69 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/ApplicationGroup_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview", + "applicationGroup": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Create.json new file mode 100644 index 000000000000..b5d55060002c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Create.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-10-19-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1 + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "201": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Delete.json new file mode 100644 index 000000000000..81ccc0bbea8b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Delete.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Get.json new file mode 100644 index 000000000000..31e98d0d4011 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_List.json new file mode 100644 index 000000000000..5c3febb42741 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + { + "name": "applicationGroup1/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des2", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Update.json new file mode 100644 index 000000000000..07f3bb756db0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Application_Update.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2020-10-19-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Get.json new file mode 100644 index 000000000000..0cbe7106434c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_List.json new file mode 100644 index 000000000000..744fe3ac9721 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Update.json new file mode 100644 index 000000000000..f628504b1f3b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Desktop_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2020-10-19-preview", + "desktop": { + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "properties": { + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Create.json new file mode 100644 index 000000000000..0c320e193d01 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Create.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview", + "hostPool": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + }, + "201": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Delete.json new file mode 100644 index 000000000000..e8ac5d810676 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Delete.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview", + "force": true + }, + "responses": { + "200": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Get.json new file mode 100644 index 000000000000..e4fc0d04dd2a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_List.json new file mode 100644 index 000000000000..dd38ebabbf19 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_List.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_ListByResourceGroup.json new file mode 100644 index 000000000000..ce888cc9ec4e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_ListByResourceGroup.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Update.json new file mode 100644 index 000000000000..401fda9846e2 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/HostPool_Update.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview", + "hostPool": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "personalDesktopAssignmentType": "Automatic", + "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoContext": "KeyVaultPath", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixImage_Expand_Post.json new file mode 100644 index 000000000000..212ca26e040c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixImage_Expand_Post.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview", + "msixImageURI": { + "uri": "imagepath" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "RawIcon", + "rawPng": "RawPng" + } + ] + } + }, + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias2", + "imagePath": "imagepath", + "packageName": "MsixPackageName2", + "packageFamilyName": "MsixPackage_FamilyName2", + "packageFullName": "MsixPackage_FullName2", + "displayName": "displayname2", + "packageRelativePath": "packagerelativepath2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackageDependency1", + "publisher": "PublisherName1", + "minVersion": "ver1" + }, + { + "dependencyName": "MsixPackageDependency2", + "publisher": "PublisherName2", + "minVersion": "ver2" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId1", + "description": "PackageApplicationDescription1", + "appUserModelID": "AppUserModelId1", + "friendlyName": "FriendlyName1", + "iconImageName": "Iconimagename1", + "rawIcon": "RawIcon1", + "rawPng": "RawPng1" + }, + { + "appId": "AppId2", + "description": "PackageApplicationDescription2", + "appUserModelID": "AppUserModelId2", + "friendlyName": "FriendlyName2", + "iconImageName": "Iconimagename2", + "rawIcon": "RawIcon2", + "rawPng": "RawPng2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Create.json new file mode 100644 index 000000000000..c73874343d3d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Create.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "imagePath": "imagepath", + "isActive": false, + "isRegularRegistration": false, + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "description": "application-desc", + "appId": "ApplicationId", + "appUserModelID": "AppUserModelId", + "friendlyName": "friendlyname", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "packageDependencies": [ + { + "dependencyName": "MsixTest_Dependency_Name", + "minVersion": "version", + "publisher": "PublishedName" + } + ], + "packageFamilyName": "MsixPackage_FamilyName", + "packageName": "MsixPackage_name", + "packageRelativePath": "packagerelativepath", + "version": "version" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + }, + "201": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Delete.json new file mode 100644 index 000000000000..f2da1afaeb35 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Delete.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Get.json new file mode 100644 index 000000000000..c7e7f8640519 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_List.json new file mode 100644 index 000000000000..adb64f790e72 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_List.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/MsixPackageFullName2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath2", + "packageName": "MsixPackage_Name2", + "packageFamilyName": "MsixPackage_FamilyName2", + "displayName": "dis2", + "packageRelativePath": "MsixPackage_RelativePackageRoot2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name2", + "publisher": "MsixPackage_Dependency_Publisher2", + "minVersion": "packageDep_version2" + } + ], + "version": "version2", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id2", + "description": "desc2", + "appUserModelID": "Application_ModelID2", + "friendlyName": "fri2", + "iconImageName": "Apptile2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Update.json new file mode 100644 index 000000000000..3550b6089e4a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/MsixPackage_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2020-10-19-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "isActive": true, + "isRegularRegistration": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/OperationDescription_List.json new file mode 100644 index 000000000000..37292d45b4e9 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/OperationDescription_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DesktopVirtualization/ssocontext/read", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "ssocontext" + } + }, + { + "name": "Microsoft.DesktopVirtualization/ssocontext/write", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "ssocontext" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Delete.json new file mode 100644 index 000000000000..f35e146fdff7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Delete.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-10-19-preview", + "force": true + }, + "responses": { + "200": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Get.json new file mode 100644 index 000000000000..38db28fed5d3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_List.json new file mode 100644 index 000000000000..3e0496c98f89 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_List.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + }, + { + "name": "sessionHost2.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user2@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Update.json new file mode 100644 index 000000000000..300bd2f072e0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/SessionHost_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-10-19-preview", + "sessionHost": { + "properties": { + "allowNewSession": true, + "assignedUser": "user1@microsoft.com" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "properties": { + "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2019-01-24T20:00:08.2893033Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/StartMenuItem_List.json new file mode 100644 index 000000000000..44951c689244 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/StartMenuItem_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "word", + "friendlyName": "friendly", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + }, + { + "name": "application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "excel", + "friendlyName": "friendly", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Delete.json new file mode 100644 index 000000000000..42973088409a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Delete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-10-19-preview", + "force": true + }, + "responses": { + "200": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Disconnect_Post.json new file mode 100644 index 000000000000..fb62a1194390 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Disconnect_Post.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Get.json new file mode 100644 index 000000000000..9037495ad097 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_List.json new file mode 100644 index 000000000000..f40027767f3a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_ListByHostPool.json new file mode 100644 index 000000000000..7146ad32e688 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_ListByHostPool.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2020-10-19-preview", + "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "properties": { + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_SendMessage_Post.json new file mode 100644 index 000000000000..f68b963af04d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/UserSession_SendMessage_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2020-10-19-preview", + "sendMessage": { + "messageTitle": "title", + "messageBody": "body" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Create.json new file mode 100644 index 000000000000..d94b9351dfde --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Create.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-10-19-preview", + "workspace": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Delete.json new file mode 100644 index 000000000000..b048c95cf27c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Delete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..07ce727e86a3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListByResourceGroup.json new file mode 100644 index 000000000000..92969c8342b7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListBySubscription.json new file mode 100644 index 000000000000..6aff41fb377d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2020-10-19-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Update.json new file mode 100644 index 000000000000..a532bfa90587 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/examples/Workspace_Update.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2020-10-19-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f86ecc2a2f30 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-desktopvirtualization-2019-12-10-preview + - tag: schema-desktopvirtualization-2019-09-24-preview + - tag: schema-desktopvirtualization-2019-01-23-preview + - tag: schema-desktopvirtualization-2020-09-21-preview + - tag: schema-desktopvirtualization-2020-10-19-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-desktopvirtualization-2020-10-19-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2020-10-19-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2020-09-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2020-09-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2019-12-10-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-12-10-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2019-09-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-09-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2019-01-23-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-01-23-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json + +``` diff --git a/specification/desktopvirtualization/resource-manager/readme.go.md b/specification/desktopvirtualization/resource-manager/readme.go.md index c8527d1dc4fa..4857e69a90af 100644 --- a/specification/desktopvirtualization/resource-manager/readme.go.md +++ b/specification/desktopvirtualization/resource-manager/readme.go.md @@ -15,6 +15,25 @@ batch: - tag: package-2019-01-23-preview - tag: package-2019-09-24-preview - tag: package-2019-12-10-preview + - tag: package-2020-09-21-preview + - tag: package-2020-10-19-preview +``` +### Tag: package-2020-10-19-preview and go + +These settings apply only when `--tag=package-2020-10-19-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-10-19-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-19-preview/$(namespace) +``` + +### Tag: package-2020-09-21-preview and go + +These settings apply only when `--tag=package-2020-09-21-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-09-21-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-09-21-preview/$(namespace) ``` ### Tag: package-2019-12-10-preview and go diff --git a/specification/desktopvirtualization/resource-manager/readme.java.md b/specification/desktopvirtualization/resource-manager/readme.java.md index 089093f5ff73..7b8bc9d9942a 100644 --- a/specification/desktopvirtualization/resource-manager/readme.java.md +++ b/specification/desktopvirtualization/resource-manager/readme.java.md @@ -16,18 +16,18 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-desktopvirtualizati ``` yaml $(java) && $(multiapi) batch: - - tag: package-2019-12-10-preview + - tag: package-2020-10-19-preview ``` -### Tag: package-2019-12-10-preview and java +### Tag: package-2020-10-19-preview and java -These settings apply only when `--tag=package-2019-12-10-preview --java` is specified on the command line. +These settings apply only when `--tag=package-2020-10-19-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2019-12-10-preview' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-2020-10-19-preview' && $(java) && $(multiapi) java: - namespace: com.microsoft.azure.management.desktopvirtualization.v2019_12_10_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/desktopvirtualization/mgmt-v2019_12_10_preview + namespace: com.microsoft.azure.management.desktopvirtualization.v2020_10_19_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/desktopvirtualization/mgmt-v2020_10_19_preview regenerate-manager: true generate-interface: true ``` diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index 3864f213f6b1..00d35d1cce40 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -1,116 +1,137 @@ -# DesktopVirtualization - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for Desktop Virtualization. - - - ---- -## Getting Started -To build the SDK for DesktopVirtualizationClient, 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 DesktopVirtualizationClient API. - -``` yaml -openapi-type: arm -tag: package-2019-12-10-preview -``` - -### Tag: package-2019-01-23-preview - -These settings apply only when `--tag=package-2019-01-23-preview` is specified on the command line. - -``` yaml $(tag) == 'package-2019-01-23-preview' -input-file: -- Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json -``` - -### Tag: package-2019-09-24-preview - -These settings apply only when `--tag=package-2019-09-24-preview` is specified on the command line. - -``` yaml $(tag) == 'package-2019-09-24-preview' -input-file: -- Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json -``` - -### Tag: package-2019-12-10-preview - -These settings apply only when `--tag=package-2019-12-10-preview` is specified on the command line. - -``` yaml $(tag) == 'package-2019-12-10-preview' -input-file: -- Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.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-csharp - - repo: azure-sdk-for-python - - repo: azure-sdk-for-java - - repo: azure-sdk-for-go - - repo: azure-sdk-for-js - - repo: azure-sdk-for-node - - repo: azure-sdk-for-ruby - after_scripts: - - bundle install && rake arm:regen_all_profiles['azure_mgmt_desktop_virtualization'] - - repo: azure-cli-extensions -``` - -## C# - -See configuration in [readme.csharp.md](./readme.csharp.md) - -## Python - -See configuration in [readme.python.md](./readme.python.md) - -## Java - -See configuration in [readme.java.md](./readme.java.md) - -## Go - -See configuration in [readme.go.md](./readme.go.md) - -## TypeScript - -See configuration in [readme.typescript.md](./readme.typescript.md) - -## Node - -See configuration in [readme.node.md](./readme.node.md) - -## Ruby - -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! - +# DesktopVirtualization + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Desktop Virtualization. + + + +--- +## Getting Started +To build the SDK for DesktopVirtualizationClient, 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 DesktopVirtualizationClient API. + +``` yaml +openapi-type: arm +tag: package-2020-10-19-preview +``` + +### Tag: package-2019-01-23-preview + +These settings apply only when `--tag=package-2019-01-23-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-01-23-preview' +input-file: +- Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json +``` + +### Tag: package-2019-09-24-preview + +These settings apply only when `--tag=package-2019-09-24-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-09-24-preview' +input-file: +- Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json +``` + +### Tag: package-2019-12-10-preview + +These settings apply only when `--tag=package-2019-12-10-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-12-10-preview' +input-file: +- Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json +``` + +### Tag: package-2020-09-21-preview + +These settings apply only when `--tag=package-2020-09-21-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-21-preview' +input-file: +- Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json +``` + +### Tag: package-2020-10-19-preview + +These settings apply only when `--tag=package-2020-10-19-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-10-19-preview' +input-file: +- Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.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-csharp + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_desktop_virtualization'] + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js desktopvirtualization/resource-manager +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## Node + +See configuration in [readme.node.md](./readme.node.md) + +## Ruby + +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 @@ -120,14 +141,15 @@ 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 + +``` + +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. -``` - -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 -``` - +``` 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.ruby.md b/specification/desktopvirtualization/resource-manager/readme.ruby.md index 9491ec2d3560..6ffc89df181c 100644 --- a/specification/desktopvirtualization/resource-manager/readme.ruby.md +++ b/specification/desktopvirtualization/resource-manager/readme.ruby.md @@ -15,6 +15,27 @@ batch: - tag: package-2019-01-23-preview - tag: package-2019-09-24-preview - tag: package-2019-12-10-preview + - tag: package-2020-09-21-preview + - tag: package-2020-10-19-preview +``` +### Tag: package-2020-10-19-preview and ruby + +These settings apply only when `--tag=package-2020-10-19-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-10-19-preview' && $(ruby) +namespace: "Azure::DesktopVirtualization::Mgmt::V2020_10_19_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib +``` + +### Tag: package-2020-10-19-preview and ruby + +These settings apply only when `--tag=package-2020-09-21-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-09-21-preview' && $(ruby) +namespace: "Azure::DesktopVirtualization::Mgmt::V2020_09_21_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib ``` ### Tag: package-2019-12-10-preview and ruby diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..0d44e7116ea7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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", + "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/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..74cce29667f1 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json new file mode 100644 index 000000000000..01f3b3a90544 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotDpsDescription": { + "location": "East US", + "properties": {}, + "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": [] + }, + "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": [] + }, + "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/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..94a8d73c220e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-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/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/preview/2020-09-01-preview/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json new file mode 100644 index 000000000000..ddfb3bd52182 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {}, + "202": {}, + "404": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..21358dfecdf2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..e2a7eeb7cb1b --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..1dde48f61e65 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-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/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json new file mode 100644 index 000000000000..d7879f8bff2e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..eee88e44a0cf --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-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" + }, + "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/preview/2020-09-01-preview/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..0087f4a66764 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-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" + }, + "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/preview/2020-09-01-preview/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json new file mode 100644 index 000000000000..e75a9b585328 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..e92100cd61db --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "asyncinfo": "1508265712453" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..465769974a22 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..7761f6f3a8ef --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..5b6532edb650 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..3f5c3862e31e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..efb4770967b8 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json new file mode 100644 index 000000000000..835328ed57c2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..31f5993fcaa3 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..d8518c8255c0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json new file mode 100644 index 000000000000..ca69bfa1de2f --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "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/preview/2020-09-01-preview/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json new file mode 100644 index 000000000000..676573e711f2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..8593f15b03a6 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "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", + "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/preview/2020-09-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json new file mode 100644 index 000000000000..20b815e53811 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json @@ -0,0 +1,2546 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "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" + } + } + }, + "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." + } + }, + "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 + }, + "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" + } + }, + "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 + } + }, + "encryption": { + "description": "The encryption properties for the IoT DPS instance.", + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + "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]" + } + } + } + }, + "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" + ] + }, + "EncryptionPropertiesDescription": { + "description": "The encryption properties for the IoT DPS instance.", + "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." + } + } + }, + "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" + } + }, + "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." + }, + "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/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..558f5c35e5b2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "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", + "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/2020-03-01/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..0e4aa5da3076 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json new file mode 100644 index 000000000000..4b51ca38665a --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotDpsDescription": { + "location": "East US", + "properties": {}, + "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": [] + }, + "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": [] + }, + "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/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..0f7bd6619300 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json new file mode 100644 index 000000000000..df3ec6c19ac0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..05c0226c64d8 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..a6e6b9903e7e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..46046c8661fa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,26 @@ +{ + "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": "##############################", + "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/2020-03-01/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json new file mode 100644 index 000000000000..990419b2ff0d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..4eefdca87ec7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json @@ -0,0 +1,27 @@ +{ + "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", + "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/2020-03-01/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..0749e8b47528 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json new file mode 100644 index 000000000000..59cfd1dedda1 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..7b42073c8891 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..f225fdfb3ed0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..7e5dd092b9fe --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..bd7172404ce3 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..edcfab5f6c2d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..10809ab99f65 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json new file mode 100644 index 000000000000..244001271379 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..44aedc7b3ca4 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..a734845280ad --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json new file mode 100644 index 000000000000..8803ccd6798c --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json new file mode 100644 index 000000000000..ac5169c58f33 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/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/2020-03-01/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..9fc26b15c818 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json @@ -0,0 +1,31 @@ +{ + "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", + "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/2020-03-01/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json new file mode 100644 index 000000000000..410067ac2fe2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json @@ -0,0 +1,2515 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-03-01", + "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" + } + } + }, + "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." + } + }, + "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 + }, + "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" + } + }, + "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]" + } + } + } + }, + "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" + } + }, + "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." + }, + "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.azureresourceschema.md b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..307ea4b09f20 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devices-2020-09-01-preview + - tag: schema-devices-2020-03-01 + - tag: schema-devices-2020-01-01 + - tag: schema-devices-2018-01-22 + - tag: schema-devices-2017-11-15 + - tag: schema-devices-2017-08-21-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devices-2020-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2020-09-01-preview/iotdps.json + +``` + +### Tag: schema-devices-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-03-01/iotdps.json + +``` + +### Tag: schema-devices-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-01-01/iotdps.json + +``` + +### Tag: schema-devices-2018-01-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-01-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-01-22/iotdps.json + +``` + +### Tag: schema-devices-2017-11-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-11-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-11-15/iotdps.json + +``` + +### Tag: schema-devices-2017-08-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-08-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2017-08-21-preview/iotdps.json + +``` diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md index 9d6a860f4177..1c2ab28cd471 100644 --- a/specification/deviceprovisioningservices/resource-manager/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Device Provisioning Services. - - --- + ## Getting Started + To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,16 +15,36 @@ To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https To see additional help and options, run: > `autorest --help` + --- ## Configuration ### Basic Information + These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2018-01 +tag: package-preview-2020-09 +``` + + +### Tag: package-preview-2020-09 + +These settings apply only when `--tag=package-preview-2020-09` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-09' +input-file: + - Microsoft.Devices/preview/2020-09-01-preview/iotdps.json +``` +### Tag: package-2020-03 + +These settings apply only when `--tag=package-2020-03` is specified on the command line. + +``` yaml $(tag) == 'package-2020-03' +input-file: + - Microsoft.Devices/stable/2020-03-01/iotdps.json ``` ### Tag: package-2017-08 @@ -64,8 +84,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -80,9 +100,11 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js deviceprovisioningservices/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -113,11 +135,13 @@ python: package-name: azure-mgmt-iothubprovisioningservices clear-output-folder: true ``` + ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices ``` + ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true @@ -190,32 +214,7 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema - -## 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.Devices/preview/2017-08-21-preview/iotdps.json - - $(this-folder)/Microsoft.Devices/stable/2017-11-15/iotdps.json - - $(this-folder)/Microsoft.Devices/stable/2018-01-22/iotdps.json - - $(this-folder)/Microsoft.Devices/stable/2020-01-01/iotdps.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/devops/resource-manager/readme.azureresourceschema.md b/specification/devops/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f9ba7f8d1279 --- /dev/null +++ b/specification/devops/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-devops-2019-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devops-2019-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devops-2019-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevOps/preview/2019-07-01-preview/devops.json + +``` diff --git a/specification/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md index bf7b56068c9c..cc8c568e45df 100644 --- a/specification/devops/resource-manager/readme.md +++ b/specification/devops/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_devops'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devops/resource-manager ``` ## Go @@ -81,29 +84,9 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.DevOps/preview/2019-07-01-preview/devops.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## trenton diff --git a/specification/devspaces/resource-manager/readme.azureresourceschema.md b/specification/devspaces/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..30adf4995497 --- /dev/null +++ b/specification/devspaces/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-devspaces-2019-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devspaces-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devspaces-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevSpaces/stable/2019-04-01/devspaces.json + +``` diff --git a/specification/devspaces/resource-manager/readme.md b/specification/devspaces/resource-manager/readme.md index 9bd342062655..6444496e7006 100644 --- a/specification/devspaces/resource-manager/readme.md +++ b/specification/devspaces/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devspaces/resource-manager ``` ## C# @@ -111,29 +114,9 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.DevSpaces/stable/2019-04-01/devspaces.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Suppression ``` yaml diff --git a/specification/devtestlabs/resource-manager/readme.azureresourceschema.md b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..aac574024db7 --- /dev/null +++ b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devtestlab-2018-09-15 + - tag: schema-devtestlab-2016-05-15 + - tag: schema-devtestlab-2015-05-21-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devtestlab-2018-09-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2018-09-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/stable/2018-09-15/DTL.json + +``` + +### Tag: schema-devtestlab-2016-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2016-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/stable/2016-05-15/DTL.json + +``` + +### Tag: schema-devtestlab-2015-05-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2015-05-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/preview/2015-05-21-preview/DTL.json + +``` diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md index 1e4ac41bae02..48c43e2caf60 100644 --- a/specification/devtestlabs/resource-manager/readme.md +++ b/specification/devtestlabs/resource-manager/readme.md @@ -78,6 +78,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_devtestlabs'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devtestlabs/resource-manager ``` @@ -130,29 +133,7 @@ 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: - - $(this-folder)/Microsoft.DevTestLab/stable/2018-09-15/DTL.json - - $(this-folder)/Microsoft.DevTestLab/stable/2016-05-15/DTL.json - - $(this-folder)/Microsoft.DevTestLab/preview/2015-05-21-preview/DTL.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json index b17bda728464..fe035fde82aa 100644 --- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json @@ -48,7 +48,7 @@ } ], "responses": { - "200": { + "201": { "description": "Success", "schema": { "$ref": "#/definitions/NonPagedModelDataCollection" diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json index b376ddb14860..b8b2b44eace4 100644 --- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json @@ -31,7 +31,7 @@ "api-version": "2020-05-31-preview" }, "responses": { - "200": { + "201": { "body": [ { "id": "dtmi:com:example:Sample;1", diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json new file mode 100644 index 000000000000..be9e053d7154 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json @@ -0,0 +1,1624 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-31", + "title": "Azure Digital Twins API", + "description": "A service for managing and querying digital twins and digital twin models." + }, + "host": "digitaltwins-name.digitaltwins.azure.net", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/models": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "post": { + "tags": [ + "Models" + ], + "description": "Uploads one or more models. When any error occurs, no models are uploaded.\nStatus codes:\n* 201 Created\n* 400 Bad Request\n * DTDLParserError - The models provided are not valid DTDL.\n * InvalidArgument - The model id is invalid.\n * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * ModelVersionNotSupported - The version of DTDL used is not supported.\n* 409 Conflict\n * ModelAlreadyExists - The model provided already exists.", + "operationId": "DigitalTwinModels_Add", + "x-ms-examples": { + "Add models": { + "$ref": "./examples/ModelAdd.json" + } + }, + "parameters": [ + { + "name": "models", + "in": "body", + "description": "An array of models to add.", + "required": false, + "schema": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NonPagedDigitalTwinsModelDataCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Models" + ], + "description": "Retrieves model metadata and, optionally, model definitions.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The model id is invalid.\n * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n* 404 Not Found\n * ModelNotFound - The model was not found.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "DigitalTwinModels_List", + "x-ms-examples": { + "List models": { + "$ref": "./examples/ModelsGet.json" + }, + "List models (include dependencies and definitions)": { + "$ref": "./examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json" + } + }, + "parameters": [ + { + "name": "dependenciesFor", + "in": "query", + "description": "The set of the models which will have their dependencies retrieved. If omitted, all models are retrieved.", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "$ref": "#/parameters/includeModelDefinition" + }, + { + "$ref": "#/parameters/max-items-per-page" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PagedDigitalTwinsModelDataCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/models/{id}": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Models" + ], + "description": "Retrieves model metadata and optionally the model definition.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The model id is invalid.\n * MissingArgument - The model id was not provided.\n* 404 Not Found\n * ModelNotFound - The model was not found.", + "operationId": "DigitalTwinModels_GetById", + "x-ms-examples": { + "Get a model by id": { + "$ref": "./examples/ModelGetById.json" + }, + "Get a model by id (with definition)": { + "$ref": "./examples/ModelGetByIdWithIncludeModelDefinition.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "$ref": "#/parameters/includeModelDefinition" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DigitalTwinsModelData" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Models" + ], + "description": "Updates the metadata for a model.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The model id is invalid.\n * JsonPatchInvalid - The JSON Patch provided is invalid.\n * MissingArgument - The model id was not provided.\n* 404 Not Found\n * ModelNotFound - The model was not found.\n* 409 Conflict\n * ModelReferencesNotDecommissioned - The model refers to models that are not decommissioned.", + "operationId": "DigitalTwinModels_Update", + "consumes": [ + "application/json-patch+json" + ], + "x-ms-examples": { + "Decommission a model": { + "$ref": "./examples/ModelUpdateDecommissioned.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "name": "updateModel", + "description": "An update specification described by JSON Patch. Only the decommissioned property can be replaced.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Models" + ], + "operationId": "DigitalTwinModels_Delete", + "description": "Deletes a model. A model can only be deleted if no other models reference it.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The model id is invalid.\n * MissingArgument - The model id was not provided.\n* 404 Not Found\n * ModelNotFound - The model was not found.\n* 409 Conflict\n * ModelReferencesNotDeleted - The model refers to models that are not deleted.", + "x-ms-examples": { + "Delete a model": { + "$ref": "./examples/DeleteModel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/modelId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/query": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_QueryTwins", + "description": "Executes a query that allows traversing relationships and filtering by property values.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * BadRequest - The continuation token is invalid.\n * SqlQueryError - The query contains some errors.\n* 429 Too Many Requests\n * QuotaReachedError - The maximum query rate limit has been reached.", + "x-ms-examples": { + "Query for digital twins": { + "$ref": "./examples/QueryFirstPage.json" + }, + "Retrieve paged query results": { + "$ref": "./examples/QueryNextPage.json" + }, + "Query for digital twins through a relationship": { + "$ref": "./examples/QueryJoin.json" + } + }, + "parameters": [ + { + "name": "querySpecification", + "in": "body", + "description": "The query specification to execute.", + "required": true, + "schema": { + "$ref": "#/definitions/QuerySpecification" + } + }, + { + "$ref": "#/parameters/max-items-per-page" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/QueryResult" + }, + "headers": { + "query-charge": { + "description": "The query charge.", + "type": "number" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetById", + "description": "Retrieves a digital twin.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.", + "x-ms-examples": { + "Get a digital twin by id": { + "$ref": "./examples/GetTwin.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Add", + "description": "Adds or replaces a digital twin.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id or payload is invalid.\n * ModelDecommissioned - The model for the digital twin is decommissioned.\n * TwinLimitReached - The maximum number of digital twins allowed has been reached.\n * ValidationFailed - The digital twin payload is not valid.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Add a digital twin": { + "$ref": "./examples/PutTwinBasicExample.json" + }, + "Add a digital twin (with properties and components)": { + "$ref": "./examples/PutTwinAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "twin", + "description": "The digital twin instance being added. If provided, the $dtId property is ignored.", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + }, + { + "$ref": "#/parameters/if-none-match-star" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Delete", + "description": "Deletes a digital twin. All relationships referencing the digital twin must already be deleted.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id is invalid.\n * RelationshipsNotDeleted - The digital twin contains relationships.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Delete a digital twin": { + "$ref": "./examples/DeleteTwin.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_Update", + "description": "Updates a digital twin.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id or payload is invalid.\n * JsonPatchInvalid - The JSON Patch provided is invalid.\n * ValidationFailed - Applying the patch results in an invalid digital twin.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "consumes": [ + "application/json-patch+json" + ], + "x-ms-examples": { + "Update a digital twin": { + "$ref": "./examples/PatchTwinBasicExample.json" + }, + "Update a digital twin (multiple updates)": { + "$ref": "./examples/PatchTwinAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "patchDocument", + "description": "An update specification described by JSON Patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/relationships/{relationshipId}": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetRelationshipById", + "description": "Retrieves a relationship between two digital twins.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id or relationship id is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * RelationshipNotFound - The relationship was not found.", + "x-ms-examples": { + "Get a relationship by id": { + "$ref": "./examples/GetRelationshipById.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_AddRelationship", + "description": "Adds a relationship between two digital twins.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id, relationship id, or payload is invalid.\n * InvalidRelationship - The relationship is invalid.\n * OperationNotAllowed - The relationship cannot connect to the same digital twin.\n * ValidationFailed - The relationship content is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * TargetTwinNotFound - The digital twin target of the relationship was not found.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Create a relationship": { + "$ref": "./examples/CreateRelationshipBasicExample.json" + }, + "Create a relationship (with properties)": { + "$ref": "./examples/CreateRelationshipAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "name": "relationship", + "in": "body", + "description": "The data for the relationship.", + "required": true, + "schema": { + "type": "object" + } + }, + { + "$ref": "#/parameters/if-none-match-star" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_DeleteRelationship", + "description": "Deletes a relationship between two digital twins.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id or relationship id is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * RelationshipNotFound - The relationship was not found.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Delete a relationship": { + "$ref": "./examples/DeleteRelationship.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "consumes": [ + "application/json-patch+json" + ], + "operationId": "DigitalTwins_UpdateRelationship", + "description": "Updates the properties on a relationship between two digital twins.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id or relationship id is invalid.\n * InvalidRelationship - The relationship is invalid.\n * JsonPatchInvalid - The JSON Patch provided is invalid.\n * ValidationFailed - The relationship content is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * RelationshipNotFound - The relationship was not found.\n* 409 Conflict\n * RelationshipAlreadyExists - The relationship already exists.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Update relationship properties": { + "$ref": "./examples/PatchRelationshipBasicExample.json" + }, + "Update relationship properties (multiple updates)": { + "$ref": "./examples/PatchRelationshipAdvancedExample.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/relationshipId" + }, + { + "name": "patchDocument", + "description": "JSON Patch description of the update to the relationship properties.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/relationships": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_ListRelationships", + "description": "Retrieves the relationships from a digital twin.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List relationships": { + "$ref": "./examples/GetRelationship.json" + }, + "List relationships by name": { + "$ref": "./examples/GetRelationshipByRelationshipName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "relationshipName", + "description": "The name of the relationship.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/RelationshipCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/incomingrelationships": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_ListIncomingRelationships", + "description": "Retrieves all incoming relationship for a digital twin.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List incoming relationships": { + "$ref": "./examples/GetIncomingRelationship.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/IncomingRelationshipCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/telemetry": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "post": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_SendTelemetry", + "description": "Sends telemetry on behalf of a digital twin.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id or message id is invalid.\n * ValidationFailed - The telemetry content is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.", + "x-ms-examples": { + "Send telemetry": { + "$ref": "./examples/SendTelemetry.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "name": "telemetry", + "in": "body", + "description": "The telemetry measurements to send from the digital twin.", + "required": true, + "schema": { + "type": "object" + } + }, + { + "name": "Message-Id", + "in": "header", + "description": "A unique message identifier (in the scope of the digital twin id) that is commonly used for de-duplicating messages.", + "required": true, + "type": "string" + }, + { + "name": "Telemetry-Source-Time", + "in": "header", + "description": "An RFC 3339 timestamp that identifies the time the telemetry was measured.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/components/{componentPath}/telemetry": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "post": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_SendComponentTelemetry", + "description": "Sends telemetry on behalf of a component in a digital twin.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id, message id, or component path is invalid.\n * ValidationFailed - The telemetry content is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * ComponentNotFound - The component path was not found.", + "x-ms-examples": { + "Send telemetry in a component": { + "$ref": "./examples/SendTelemetryFromComponent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "name": "telemetry", + "in": "body", + "description": "The telemetry measurements to send from the digital twin's component.", + "required": true, + "schema": { + "type": "object" + } + }, + { + "name": "Message-Id", + "in": "header", + "description": "A unique message identifier (in the scope of the digital twin id) that is commonly used for de-duplicating messages.", + "required": true, + "type": "string" + }, + { + "name": "Telemetry-Source-Time", + "in": "header", + "description": "An RFC 3339 timestamp that identifies the time the telemetry was measured.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/digitaltwins/{id}/components/{componentPath}": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_GetComponent", + "description": "Retrieves a component from a digital twin.\nStatus codes:\n* 200 OK\n* 400 Bad Request\n * InvalidArgument - The digital twin id or component path is invalid.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n * ComponentNotFound - The component path was not found.", + "x-ms-examples": { + "Get a component in a digital twin": { + "$ref": "./examples/GetComponent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object" + }, + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Twins" + ], + "operationId": "DigitalTwins_UpdateComponent", + "description": "Updates a component on a digital twin.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * InvalidArgument - The digital twin id, component path, or payload is invalid.\n * JsonPatchInvalid - The JSON Patch provided is invalid.\n * ValidationFailed - Applying the patch results in an invalid digital twin.\n* 404 Not Found\n * DigitalTwinNotFound - The digital twin was not found.\n* 412 Precondition Failed\n * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.", + "x-ms-examples": { + "Update a component in a digital twin": { + "$ref": "./examples/PatchComponentBasicExample.json" + }, + "Update a component in a digital twin (multiple updates)": { + "$ref": "./examples/PatchComponentAdvancedExample.json" + } + }, + "consumes": [ + "application/json-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/digitalTwinId" + }, + { + "$ref": "#/parameters/componentPath" + }, + { + "name": "patchDocument", + "description": "An update specification described by JSON Patch. Updates to property values and $model elements may happen in the same request. Operations are limited to add, replace and remove.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + }, + { + "$ref": "#/parameters/if-match" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success", + "headers": { + "ETag": { + "description": "Weak Etag.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/eventroutes": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "EventRoutes" + ], + "description": "Retrieves all event routes.\nStatus codes:\n* 200 OK", + "operationId": "EventRoutes_List", + "x-ms-examples": { + "List event routes": { + "$ref": "./examples/EventRoutesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/max-items-per-page" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/EventRouteCollection" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/eventroutes/{id}": { + "parameters": [ + { + "$ref": "#/parameters/traceparent" + }, + { + "$ref": "#/parameters/tracestate" + } + ], + "get": { + "tags": [ + "EventRoutes" + ], + "description": "Retrieves an event route.\nStatus codes:\n* 200 OK\n* 404 Not Found\n * EventRouteNotFound - The event route was not found.", + "operationId": "EventRoutes_GetById", + "x-ms-examples": { + "Get an event route by id": { + "$ref": "./examples/EventRouteGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/EventRoute" + } + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "EventRoutes" + ], + "description": "Adds or replaces an event route.\nStatus codes:\n* 204 No Content\n* 400 Bad Request\n * EventRouteEndpointInvalid - The endpoint provided does not exist or is not active.\n * EventRouteFilterInvalid - The event route filter is invalid.\n * EventRouteIdInvalid - The event route id is invalid.\n * LimitExceeded - The maximum number of event routes allowed has been reached.", + "operationId": "EventRoutes_Add", + "x-ms-examples": { + "Add an event route": { + "$ref": "./examples/EventRoutePut.json" + }, + "Add an event route (with filter)": { + "$ref": "./examples/EventRoutePutWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "name": "eventRoute", + "description": "The event route data", + "in": "body", + "schema": { + "$ref": "#/definitions/EventRoute" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "EventRoutes" + ], + "description": "Deletes an event route.\nStatus codes:\n* 204 No Content\n* 404 Not Found\n * EventRouteNotFound - The event route was not found.", + "operationId": "EventRoutes_Delete", + "x-ms-examples": { + "Delete an event route": { + "$ref": "./examples/EventRouteDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/eventRouteId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Default response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "EventRoute": { + "description": "A route which directs notification and telemetry events to an endpoint. Endpoints are a destination outside of Azure Digital Twins such as an EventHub.", + "type": "object", + "required": [ + "endpointName", + "filter" + ], + "properties": { + "id": { + "description": "The id of the event route.", + "type": "string", + "readOnly": true + }, + "endpointName": { + "description": "The name of the endpoint this event route is bound to.", + "type": "string" + }, + "filter": { + "description": "An expression which describes the events which are routed to the endpoint.", + "type": "string" + } + } + }, + "EventRouteCollection": { + "description": "A collection of EventRoute objects.", + "type": "object", + "properties": { + "value": { + "description": "The EventRoute objects.", + "type": "array", + "items": { + "$ref": "#/definitions/EventRoute" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of results.", + "type": "string" + } + } + }, + "NonPagedDigitalTwinsModelDataCollection": { + "description": "A collection of DigitalTwinsModelData objects.", + "type": "array", + "items": { + "$ref": "#/definitions/DigitalTwinsModelData" + } + }, + "PagedDigitalTwinsModelDataCollection": { + "description": "A collection of DigitalTwinsModelData objects.", + "type": "object", + "properties": { + "value": { + "description": "The DigitalTwinsModelData objects.", + "type": "array", + "items": { + "$ref": "#/definitions/DigitalTwinsModelData" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of objects.", + "type": "string" + } + } + }, + "DigitalTwinsModelData": { + "description": "A model definition and metadata for that model.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "displayName": { + "description": "A language map that contains the localized display names as specified in the model definition.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "description": "A language map that contains the localized descriptions as specified in the model definition.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "The id of the model as specified in the model definition.", + "type": "string" + }, + "uploadTime": { + "description": "The time the model was uploaded to the service.", + "format": "date-time", + "type": "string" + }, + "decommissioned": { + "description": "Indicates if the model is decommissioned. Decommissioned models cannot be referenced by newly created digital twins.", + "type": "boolean", + "default": false + }, + "model": { + "description": "The model definition.", + "type": "object" + } + } + }, + "RelationshipCollection": { + "description": "A collection of relationships which relate digital twins together.", + "type": "object", + "properties": { + "value": { + "description": "The relationship objects.", + "type": "array", + "items": { + "description": "The relationship JSON document.", + "type": "object" + } + }, + "nextLink": { + "description": "A URI to retrieve the next page of objects.", + "type": "string" + } + } + }, + "IncomingRelationshipCollection": { + "description": "A collection of incoming relationships which relate digital twins together.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IncomingRelationship" + } + }, + "nextLink": { + "type": "string", + "description": "A URI to retrieve the next page of objects." + } + } + }, + "IncomingRelationship": { + "type": "object", + "description": "An incoming relationship.", + "properties": { + "$relationshipId": { + "type": "string", + "description": "A user-provided string representing the id of this relationship, unique in the context of the source digital twin, i.e. sourceId + relationshipId is unique in the context of the service." + }, + "$sourceId": { + "type": "string", + "description": "The id of the source digital twin." + }, + "$relationshipName": { + "type": "string", + "description": "The name of the relationship." + }, + "$relationshipLink": { + "type": "string", + "description": "Link to the relationship, to be used for deletion." + } + } + }, + "QuerySpecification": { + "description": "A query specification containing either a query statement or a continuation token from a previous query result.", + "type": "object", + "properties": { + "query": { + "description": "The query to execute. This value is ignored if a continuation token is provided.", + "type": "string" + }, + "continuationToken": { + "description": "A token which is used to retrieve the next set of results from a previous query.", + "type": "string" + } + } + }, + "QueryResult": { + "description": "The results of a query operation and an optional continuation token.", + "type": "object", + "properties": { + "value": { + "description": "The query results.", + "type": "array", + "items": { + "type": "object" + } + }, + "continuationToken": { + "description": "A token which can be used to construct a new QuerySpecification to retrieve the next set of results.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/Error", + "description": "The error details." + } + } + }, + "Error": { + "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": "A human-readable representation of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "description": "A more specific error description than was provided by the containing error.", + "properties": { + "code": { + "description": "A more specific error code than was provided by the containing error.", + "type": "string" + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerError" + } + } + } + }, + "securityDefinitions": { + "oauth2": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0", + "type": "oauth2" + } + }, + "parameters": { + "eventRouteId": { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "description": "The id for an event route. The id is unique within event routes and case sensitive.", + "x-ms-parameter-location": "method" + }, + "includeModelDefinition": { + "name": "includeModelDefinition", + "description": "When true the model definition will be returned as part of the result.", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "digitalTwinId": { + "name": "id", + "in": "path", + "description": "The id of the digital twin. The id is unique within the service and case sensitive.", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "modelId": { + "name": "id", + "in": "path", + "description": "The id for the model. The id is globally unique and case sensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "relationshipId": { + "name": "relationshipId", + "description": "The id of the relationship. The id is unique within the digital twin and case sensitive.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "componentPath": { + "name": "componentPath", + "in": "path", + "description": "The name of the DTDL component.", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The requested API version.", + "required": true, + "type": "string", + "enum": [ + "2020-10-31" + ] + }, + "max-items-per-page": { + "name": "max-items-per-page", + "in": "header", + "description": "The maximum number of items to retrieve per request. The server may choose to return less than the requested number.", + "required": false, + "type": "integer", + "x-ms-client-name": "MaxItemsPerPage", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "if-none-match-star": { + "name": "If-None-Match", + "in": "header", + "description": "Only perform the operation if the entity does not already exist.", + "required": false, + "type": "string", + "enum": [ + "*" + ], + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "if-match": { + "name": "If-Match", + "in": "header", + "description": "Only perform the operation if the entity's etag matches one of the etags provided or * is provided.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "traceparent": { + "name": "traceparent", + "in": "header", + "description": "Identifies the request in a distributed tracing system.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + "tracestate": { + "name": "tracestate", + "in": "header", + "description": "Provides vendor-specific trace identification information and is a companion to traceparent.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + } + }, + "security": [ + { + "oauth2": [] + } + ] +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipAdvancedExample.json new file mode 100644 index 000000000000..23e1422abcbe --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipAdvancedExample.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId", + "relationship": { + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "relationshipProperty1": 1, + "relationshipProperty2": "some value" + } + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "relationshipProperty1": 1, + "relationshipProperty2": "some value", + "$etag": "W/\"1553dbf5-0052-4be8-bea8-46269075b503\"" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipBasicExample.json new file mode 100644 index 000000000000..8ddf2f83ba71 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/CreateRelationshipBasicExample.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId", + "relationship": { + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship" + } + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "$etag": "W/\"1553dbf5-0052-4be8-bea8-46269075b503\"" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteModel.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteModel.json new file mode 100644 index 000000000000..8f2728fe38e2 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteModel.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "dtmi:com:example:Sample;1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteRelationship.json new file mode 100644 index 000000000000..010ff9c5db72 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteRelationship.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "relationshipId": "myRelationshipId" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteTwin.json new file mode 100644 index 000000000000..3bf08e7c80c5 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/DeleteTwin.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteDelete.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteDelete.json new file mode 100644 index 000000000000..7a8618a1081d --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteDelete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "id": "eventroute-001", + "api-version": "2020-10-31" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteGet.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteGet.json new file mode 100644 index 000000000000..b45b652cecaa --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRouteGet.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "id": "eventroute-001", + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "id": "eventroute-001", + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePut.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePut.json new file mode 100644 index 000000000000..937e1f7a8cd1 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePut.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "id": "eventroute-001", + "eventRoute": { + "endpointName": "endpoint-001", + "filter": "true" + }, + "api-version": "2020-10-31" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePutWithFilter.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePutWithFilter.json new file mode 100644 index 000000000000..63045804a4b6 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutePutWithFilter.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "id": "eventroute-001", + "eventRoute": { + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + }, + "api-version": "2020-10-31" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutesList.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutesList.json new file mode 100644 index 000000000000..8075d4942a96 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/EventRoutesList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "eventroute-001", + "endpointName": "endpoint-001", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create'" + }, + { + "id": "eventroute-002", + "endpointName": "endpoint-002", + "filter": "type = 'Microsoft.DigitalTwins.Twin.Create' OR type = 'microsoft.iot.telemetry'" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json new file mode 100644 index 000000000000..3bfbe8c87b49 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetComponent.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "componentPath": "myComponent" + }, + "responses": { + "200": { + "body": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetIncomingRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetIncomingRelationship.json new file mode 100644 index 000000000000..69bef6f47357 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetIncomingRelationship.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$relationshipName": "myRelationship", + "$relationshipLink": "/digitaltwins/mySourceTwin/relationships/myRelationship/firstRelationshipId" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$relationshipName": "myRelationship", + "$relationshipLink": "/digitaltwins/mySourceTwin/relationships/myRelationship/secondRelationshipId" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationship.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationship.json new file mode 100644 index 000000000000..919f6207c1c4 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationship.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "$etag": "W/\"1553dbf5-0052-4be8-bea8-46269075b503\"", + "property": "value" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "$etag": "W/\"2552a0a7-0666-4d5e-a67f-ece5b9b81fe0\"", + "property": "value" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipById.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipById.json new file mode 100644 index 000000000000..dd31b91a3591 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipById.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin", + "relationshipId": "myRelationshipId" + }, + "responses": { + "200": { + "body": { + "$relationshipId": "myRelationshipId", + "$sourceId": "mySourceTwin", + "$targetId": "myTargetTwin", + "$relationshipName": "myRelationship", + "$etag": "W/\"1553dbf5-0052-4be8-bea8-46269075b503\"", + "relationshipProperty": "some value" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipByRelationshipName.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipByRelationshipName.json new file mode 100644 index 000000000000..18224390bc25 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetRelationshipByRelationshipName.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "mySourceTwin", + "relationshipName": "myRelationship" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$sourceId": "mySourceTwin", + "$relationshipId": "firstRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "$etag": "W/\"1553dbf5-0052-4be8-bea8-46269075b503\"", + "property": "value" + }, + { + "$sourceId": "mySourceTwin", + "$relationshipId": "secondRelationshipId", + "$targetId": "targetTwinId", + "$relationshipName": "myRelationship", + "$etag": "W/\"2552a0a7-0666-4d5e-a67f-ece5b9b81fe0\"", + "property": "value" + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json new file mode 100644 index 000000000000..dd68f5b7d31a --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/GetTwin.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId" + }, + "responses": { + "200": { + "body": { + "$dtId": "myTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelAdd.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelAdd.json new file mode 100644 index 000000000000..a5017f15d487 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelAdd.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "models": [ + { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "displayName": "Sample Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + ], + "api-version": "2020-10-31" + }, + "responses": { + "201": { + "body": [ + { + "id": "dtmi:com:example:Sample;1", + "displayName": { + "en": "Sample Interface" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + ] + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetById.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetById.json new file mode 100644 index 000000000000..edd1e1125172 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetById.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetByIdWithIncludeModelDefinition.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetByIdWithIncludeModelDefinition.json new file mode 100644 index 000000000000..90f1ed206de8 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelGetByIdWithIncludeModelDefinition.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "includeModelDefinition": true, + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelUpdateDecommissioned.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelUpdateDecommissioned.json new file mode 100644 index 000000000000..47a17c17fd8f --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelUpdateDecommissioned.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "id": "dtmi:com:example:Sample;1", + "updateModel": [ + { + "op": "replace", + "path": "/decommissioned", + "value": true + } + ], + "api-version": "2020-10-31" + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGet.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGet.json new file mode 100644 index 000000000000..fd34a6fcc0d2 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + }, + { + "id": "dtmi:com:example:SampleDeviceModel;1", + "displayName": { + "en": "My Device Model" + }, + "uploadTime": "2020-05-01T17:32:28Z", + "decommissioned": false + }, + { + "id": "dtmi:com:example:AnotherSample;1", + "displayName": { + "en": "My Sample" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json new file mode 100644 index 000000000000..16754af81549 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/ModelsGetWithDependenciesAndIncludeModelDefinition.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "includeModelDefinition": true, + "dependenciesFor": [ + "dtmi:com:example:SampleDeviceModel;1" + ], + "x-ms-max-item-count": 20, + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "dtmi:com:example:Sample;1", + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:Sample;1", + "@type": "Interface", + "contents": [ + { + "@type": "Property", + "name": "name", + "displayName": "Sample instance name", + "schema": "string" + }, + { + "@type": "Property", + "name": "temp", + "displayName": "Sample instance temperature", + "schema": "integer" + }, + { + "@type": "Property", + "name": "comfortIndex", + "displayName": "Sample instance comfort index", + "schema": "integer" + } + ], + "@context": "dtmi:dtdl:context;2" + } + }, + { + "id": "dtmi:com:example:SampleDeviceModel;1", + "displayName": { + "en": "My Device Model" + }, + "uploadTime": "2020-03-01T17:32:28Z", + "decommissioned": false, + "model": { + "@id": "dtmi:com:example:SampleDeviceModel;1", + "@type": "Interface", + "displayName": "My Device Model", + "contents": [ + { + "@type": "Component", + "name": "Sample", + "schema": "dtmi:com:example:Sample;1" + } + ], + "@context": "dtmi:dtdl:context;2" + } + } + ], + "nextLink": "url-to-next-page" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentAdvancedExample.json new file mode 100644 index 000000000000..cbf869751468 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentAdvancedExample.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "componentPath": "myComponent", + "patchDocument": [ + { + "op": "add", + "path": "/property1", + "value": 1 + }, + { + "op": "remove", + "path": "/property2" + }, + { + "op": "replace", + "path": "/property3/subProperty1", + "value": "new value" + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentBasicExample.json new file mode 100644 index 000000000000..14d2de803f73 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchComponentBasicExample.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "componentPath": "myComponent", + "patchDocument": [ + { + "op": "add", + "path": "/property", + "value": 1 + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipAdvancedExample.json new file mode 100644 index 000000000000..9d9eea1c56a0 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipAdvancedExample.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "relationshipId": "myRelationshipId", + "patchDocument": [ + { + "op": "add", + "path": "/property1", + "value": 1 + }, + { + "op": "remove", + "path": "/property2" + }, + { + "op": "replace", + "path": "/property3/subProperty1", + "value": "new value" + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipBasicExample.json new file mode 100644 index 000000000000..a45183bf6c0f --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchRelationshipBasicExample.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "relationshipId": "myRelationshipId", + "patchDocument": [ + { + "op": "add", + "path": "/property", + "value": 1 + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinAdvancedExample.json new file mode 100644 index 000000000000..f018af463d1a --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinAdvancedExample.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myNewTwinId", + "patchDocument": [ + { + "op": "replace", + "path": "/property1", + "value": 1 + }, + { + "op": "add", + "path": "/property2/subProperty1", + "value": 1 + }, + { + "op": "remove", + "path": "/property3" + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinBasicExample.json new file mode 100644 index 000000000000..4b5e3a015ece --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PatchTwinBasicExample.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myNewTwinId", + "patchDocument": [ + { + "op": "replace", + "path": "/property1", + "value": 1 + } + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json new file mode 100644 index 000000000000..e52e9481e53b --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinAdvancedExample.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myNewTwinId", + "If-None-Match": "*", + "twin": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": {}, + "componentProperty": "some value" + } + } + }, + "responses": { + "200": { + "body": { + "$dtId": "myNewTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1", + "property1": { + "desiredValue": 1, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + }, + "property2": { + "desiredValue": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + }, + "property1": 1, + "property2": { + "subProperty1": "some value", + "subProperty2": "some other value" + }, + "component1": { + "$metadata": { + "componentProperty": { + "desiredValue": "some value", + "desiredVersion": 1, + "ackVersion": 1, + "ackCode": 200, + "ackDescription": "description", + "lastUpdateTime": "2020-05-23T21:44:02Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinBasicExample.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinBasicExample.json new file mode 100644 index 000000000000..144fd8fec259 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/PutTwinBasicExample.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myNewTwinId", + "twin": { + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + } + } + }, + "responses": { + "200": { + "body": { + "$dtId": "myNewTwinId", + "$metadata": { + "$model": "dtmi:com:example:interfaces:interfaceName;1" + } + } + }, + "202": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryFirstPage.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryFirstPage.json new file mode 100644 index 000000000000..ba4afbe86671 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryFirstPage.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "querySpecification": { + "query": "SELECT * FROM DIGITALTWINS WHERE temp = 79" + }, + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-02", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample02", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-03", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample03", + "temp": 79, + "comfortIndex": 50 + } + ], + "continuationToken": "" + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryJoin.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryJoin.json new file mode 100644 index 000000000000..e6426f051780 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryJoin.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "querySpecification": { + "query": "SELECT Widget, Gadget FROM DIGITALTWINS Widget JOIN Gadget RELATED Widget.Contains WHERE Widget.$dtId = 'Twin-01'" + }, + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "Widget": { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + "Gadget": { + "$dtId": "Twin-02", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample02", + "temp": 79, + "comfortIndex": 50 + } + }, + { + "Widget": { + "$dtId": "Twin-01", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample01", + "temp": 79, + "comfortIndex": 50 + }, + "Gadget": { + "$dtId": "Twin-10", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample10", + "temp": 79, + "comfortIndex": 50 + } + } + ] + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryNextPage.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryNextPage.json new file mode 100644 index 000000000000..4c8028135709 --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/QueryNextPage.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "querySpecification": { + "continuationToken": "" + }, + "api-version": "2020-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$dtId": "Twin-04", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample04", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-05", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample05", + "temp": 79, + "comfortIndex": 50 + }, + { + "$dtId": "Twin-06", + "$metadata": { + "$model": "dtmi:com:example:Sample;1" + }, + "name": "Sample06", + "temp": 79, + "comfortIndex": 50 + } + ] + } + } + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetry.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetry.json new file mode 100644 index 000000000000..bf7bed32bcbc --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetry.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "Message-Id": "e5ca50dd-ca31-4fae-8d84-3af5a72b10c5", + "Telemetry-Source-Time": "1985-04-12T23:20:50.52Z", + "telemetry": { + "temperature": 1 + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetryFromComponent.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetryFromComponent.json new file mode 100644 index 000000000000..25841e14c07f --- /dev/null +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/stable/2020-10-31/examples/SendTelemetryFromComponent.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-10-31", + "id": "myTwinId", + "componentPath": "myComponent", + "Message-Id": "e5ca50dd-ca31-4fae-8d84-3af5a72b10c5", + "Telemetry-Source-Time": "1985-04-12T23:20:50.52Z", + "telemetry": { + "temperature": 1 + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/digitaltwins/data-plane/readme.md b/specification/digitaltwins/data-plane/readme.md index c5a96a455705..31d00fb429ad 100644 --- a/specification/digitaltwins/data-plane/readme.md +++ b/specification/digitaltwins/data-plane/readme.md @@ -26,7 +26,16 @@ These are the global settings for Azure Digital Twins. ```yaml openapi-type: data-plane -tag: package-2020-05-31-preview +tag: package-2020-10-31 +``` + +### Tag: package-2020-10-31 + +These settings apply only when `--tag=package-2020-10-31` is specified on the command line. + +```yaml $(tag) == 'package-2020-10-31' +input-file: + - Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json ``` ### Tag: package-2020-05-31-preview diff --git a/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json new file mode 100644 index 000000000000..c6720605f460 --- /dev/null +++ b/specification/digitaltwins/resource-manager/Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json @@ -0,0 +1,1164 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-31", + "title": "AzureDigitalTwinsManagementClient", + "description": "Azure Digital Twins Client for managing DigitalTwinsInstance" + }, + "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.DigitalTwins/digitalTwinsInstances/{resourceName}": { + "get": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Get DigitalTwinsInstances resource.", + "operationId": "DigitalTwins_Get", + "x-ms-examples": { + "Get a DigitalTwinsInstance resource": { + "$ref": "./examples/DigitalTwinsGet_example.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 DigitalTwinsInstance. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Create or update the metadata of a DigitalTwinsInstance. The usual pattern to modify a property is to retrieve the DigitalTwinsInstance and security metadata, and then combine them with the modified values in a new body to update the DigitalTwinsInstance.", + "operationId": "DigitalTwins_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Put a DigitalTwinsInstance resource": { + "$ref": "./examples/DigitalTwinsPut_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "digitalTwinsCreate", + "in": "body", + "description": "The DigitalTwinsInstance and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + } + ], + "responses": { + "200": { + "description": "This is returned as a response when the resource already exists and was updated successfully.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + }, + "201": { + "description": "Created - Put request accepted; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Update metadata of DigitalTwinsInstance.", + "operationId": "DigitalTwins_Update", + "x-ms-examples": { + "Patch a DigitalTwinsInstance resource": { + "$ref": "./examples/DigitalTwinsPatch_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "digitalTwinsPatchDescription", + "in": "body", + "description": "The DigitalTwinsInstance and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/DigitalTwinsPatchDescription" + } + } + ], + "responses": { + "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/DigitalTwinsDescription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Delete a DigitalTwinsInstance.", + "operationId": "DigitalTwins_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a DigitalTwinsInstance resource": { + "$ref": "./examples/DigitalTwinsDelete_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "Returned if the operation was canceled or failed.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + }, + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescription" + } + }, + "204": { + "description": "Returned when the long running delete operation has finished, or the Digital Twins instance does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Get DigitalTwinsInstance Endpoints.", + "operationId": "DigitalTwinsEndpoint_List", + "x-ms-examples": { + "Get a DigitalTwinsInstance endpoints": { + "$ref": "./examples/DigitalTwinsEndpointsGet_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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 DigitalTwinsInstance. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints/{endpointName}": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Get DigitalTwinsInstances Endpoint.", + "operationId": "DigitalTwinsEndpoint_Get", + "x-ms-examples": { + "Get a DigitalTwinsInstance endpoint": { + "$ref": "./examples/DigitalTwinsEndpointGet_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/endpointName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the DigitalTwinsInstance. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResource" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Endpoints" + ], + "description": "Create or update DigitalTwinsInstance endpoint.", + "operationId": "DigitalTwinsEndpoint_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Put a DigitalTwinsInstance resource": { + "$ref": "./examples/DigitalTwinsEndpointPut_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/endpointName" + }, + { + "name": "endpointDescription", + "in": "body", + "description": "The DigitalTwinsInstance endpoint metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResource" + } + } + ], + "responses": { + "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/DigitalTwinsEndpointResource" + } + }, + "201": { + "description": "Created - Put request accepted; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Endpoints" + ], + "description": "Delete a DigitalTwinsInstance endpoint.", + "operationId": "DigitalTwinsEndpoint_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a DigitalTwinsInstance endpoint": { + "$ref": "./examples/DigitalTwinsEndpointDelete_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/endpointName" + } + ], + "responses": { + "200": { + "description": "Returned if the operation was canceled or failed.", + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResource" + } + }, + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DigitalTwinsEndpointResource" + } + }, + "204": { + "description": "Returned when the long running delete operation has finished, or the egress endpoint does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/digitalTwinsInstances": { + "get": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Get all the DigitalTwinsInstances in a subscription.", + "operationId": "DigitalTwins_List", + "x-ms-examples": { + "Get DigitalTwinsInstance resources by subscription": { + "$ref": "./examples/DigitalTwinsList_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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 DigitalTwinsInstances in the subscription.", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances": { + "get": { + "tags": [ + "DigitalTwinsInstance" + ], + "description": "Get all the DigitalTwinsInstances in a resource group.", + "operationId": "DigitalTwins_ListByResourceGroup", + "x-ms-examples": { + "Get DigitalTwinsInstance resources by resource group": { + "$ref": "./examples/DigitalTwinsListByResourceGroup_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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 DigitalTwinsInstances in the resource group. If more data is available, the body will contain a link to the next page of items (nextLink).", + "schema": { + "$ref": "#/definitions/DigitalTwinsDescriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.DigitalTwins/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available DigitalTwins service REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get available operations": { + "$ref": "./examples/DigitalTwinsOperationsList_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "description": "Check if a DigitalTwinsInstance name is available.", + "operationId": "DigitalTwins_CheckNameAvailability", + "x-ms-examples": { + "Check name Availability": { + "$ref": "./examples/DigitalTwinsCheckNameAvailability_example.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "name": "digitalTwinsInstanceCheckName", + "in": "body", + "description": "Set the name parameter in the DigitalTwinsInstanceCheckName structure to the name of the DigitalTwinsInstance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameRequest" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the DigitalTwins service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "DigitalTwinsProperties": { + "description": "The properties of a DigitalTwinsInstance.", + "type": "object", + "properties": { + "createdTime": { + "description": "Time when DigitalTwinsInstance was created.", + "readOnly": true, + "type": "string", + "format": "date-time" + }, + "lastUpdatedTime": { + "description": "Time when DigitalTwinsInstance was updated.", + "readOnly": true, + "type": "string", + "format": "date-time" + }, + "provisioningState": { + "description": "The provisioning state.", + "enum": [ + "Provisioning", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "Warning", + "Suspending", + "Restoring", + "Moving" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "hostName": { + "description": "Api endpoint to work with DigitalTwinsInstance.", + "type": "string", + "x-nullable": true, + "readOnly": true + } + } + }, + "DigitalTwinsDescription": { + "description": "The description of the DigitalTwins service.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "DigitalTwins instance properties.", + "$ref": "#/definitions/DigitalTwinsProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DigitalTwinsResource" + } + ] + }, + "DigitalTwinsPatchDescription": { + "description": "The description of the DigitalTwins service.", + "type": "object", + "properties": { + "tags": { + "description": "Instance tags", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + } + } + }, + "DigitalTwinsResource": { + "description": "The common properties of a DigitalTwinsInstance.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?!-)[A-Za-z0-9-]{3,63}(?`. + +### Tag: schema-digitaltwins-2020-10-31 and azureresourceschema + +``` yaml $(tag) == 'schema-digitaltwins-2020-10-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json + +``` + +### Tag: schema-digitaltwins-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-digitaltwins-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json + +``` diff --git a/specification/digitaltwins/resource-manager/readme.go.md b/specification/digitaltwins/resource-manager/readme.go.md index 8da406275cdd..78e8b74c463d 100644 --- a/specification/digitaltwins/resource-manager/readme.go.md +++ b/specification/digitaltwins/resource-manager/readme.go.md @@ -6,15 +6,27 @@ These settings apply only when `--go` is specified on the command line. go: license-header: MICROSOFT_APACHE_NO_VERSION clear-output-folder: true + namespace: digitaltwins ``` ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-10 - tag: package-2020-03-01-preview ``` +### Tag: package-2020-10 and go + +These settings apply only when `--tag=package-2020-10 --go` is specified on the command line. +Please also specify `--go-sdks-folder=digitaltwins`. + +```yaml $(tag) == 'package-2020-10' && $(go) +namespace: digitaltwins +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-31/$(namespace) +``` + ### Tag: package-2020-03-01-preview and go These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line. diff --git a/specification/digitaltwins/resource-manager/readme.java.md b/specification/digitaltwins/resource-manager/readme.java.md index 14298c23e4ee..e85c4d26fdcb 100644 --- a/specification/digitaltwins/resource-manager/readme.java.md +++ b/specification/digitaltwins/resource-manager/readme.java.md @@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-digitaltwins ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-10 - tag: package-2020-03-01-preview ``` +### Tag: package-2020-10 and java + +These settings apply only when `--tag=package-2020-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.digitaltwins.v2020_10_31 + output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_10_31 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-03-01-preview and java These settings apply only when `--tag=package-2020-03-01-preview --java` is specified on the command line. diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md index dcdba572a32c..9b4edd43b37d 100644 --- a/specification/digitaltwins/resource-manager/readme.md +++ b/specification/digitaltwins/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the digitaltwins. ``` yaml openapi-type: arm -tag: package-2020-03-01-preview +tag: package-2020-10 +``` + +### 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: + - Microsoft.DigitalTwins/stable/2020-10-31/digitaltwins.json ``` ### Tag: package-2020-03-01-preview @@ -50,12 +59,17 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-digitaltwins - 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_digitaltwins'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js digitaltwins/resource-manager ``` ## Go @@ -82,29 +96,9 @@ See configuration in [readme.csharp.md](./readme.csharp.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: - - $(this-folder)/Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Suppression @@ -116,4 +110,28 @@ directive: reason: |- Flattening properties generates SDK (using autorest) that does not support polymorphism. In this case DigitalTwinsEndpointResourceProperties is used as a base class for EventGrid, EventHub and ServiceBus. Flattening DigitalTwinsEndpointResourceProperties removes the link between DigitalTwinsEndpointResource and resources above. + - suppress: TrackedResourceListByImmediateParent + where: $.definitions + from: digitaltwins.json + reason: 'This is a proxy resource, not a tracked resource.' + - suppress: EnumInsteadOfBoolean + where: $.definitions.CheckNameResult.properties.nameAvailable + from: digitaltwins.json + reason: The value will always be a boolean. + - suppress: SECRET_PROPERTY + where: '$.definitions.ServiceBus.allOf["1"].properties.primaryConnectionString' + from: digitaltwins.json + reason: 'Secrets are obfuscated on GETs. E.g., "Endpoint=sb://mysb.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=***". This is to allow customers to identify the namespace of the resource.' + - suppress: SECRET_PROPERTY + where: '$.definitions.ServiceBus.allOf["1"].properties.secondaryConnectionString' + from: digitaltwins.json + reason: Secrets are obfuscated on read. + - suppress: SECRET_PROPERTY + where: '$.definitions.EventHub.allOf["1"].properties.connectionStringPrimaryKey' + from: digitaltwins.json + reason: Secrets are obfuscated on read. + - suppress: SECRET_PROPERTY + where: '$.definitions.EventHub.allOf["1"].properties.connectionStringSecondaryKey' + from: digitaltwins.json + reason: Secrets are obfuscated on read. ``` diff --git a/specification/digitaltwins/resource-manager/readme.python.md b/specification/digitaltwins/resource-manager/readme.python.md index 24e1b64ff0e7..1cb571183572 100644 --- a/specification/digitaltwins/resource-manager/readme.python.md +++ b/specification/digitaltwins/resource-manager/readme.python.md @@ -10,12 +10,38 @@ python: payload-flattening-threshold: 2 namespace: azure.mgmt.digitaltwins package-name: azure-mgmt-digitaltwins - package-version: 2020-03-01-preview clear-output-folder: true + no-namespace-folders: true ``` -```yaml $(python) +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2020-10 + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-10 and python + +These settings apply only when `--tag=package-2020-10 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-10' && $(python) python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/mgmt/digitaltwins + namespace: azure.mgmt.digitaltwins.v2020_10_31 + output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/mgmt/digitaltwins/v2020_10_31 ``` + +### Tag: package-2020-03-01-preview and python + +These settings apply only when `--tag=package-2020-03-01-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-03-01-preview' && $(python) +python: + namespace: azure.mgmt.digitaltwins.v2020_03_01_preview + output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/mgmt/digitaltwins/v2020_03_01_preview +``` \ No newline at end of file diff --git a/specification/digitaltwins/resource-manager/readme.ruby.md b/specification/digitaltwins/resource-manager/readme.ruby.md index 31f23b70c07d..ea228f0d9175 100644 --- a/specification/digitaltwins/resource-manager/readme.ruby.md +++ b/specification/digitaltwins/resource-manager/readme.ruby.md @@ -4,10 +4,20 @@ These settings apply only when `--ruby` is specified on the command line. ```yaml package-name: azure_mgmt_digitaltwins -package-version: 2020-03-01-preview +package-version: 2020-10-31 azure-arm: true ``` +### Tag: package-2020-10 and ruby + +These settings apply only when `--tag=package-2020-10 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10' && $(ruby) +namespace: Microsoft.DigitalTwins +output-folder: $(ruby-sdks-folder)/digitaltwins +``` + ### Tag: package-2020-03-01-preview and ruby These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line. diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json new file mode 100644 index 000000000000..c021fb9165bc --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json @@ -0,0 +1,506 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-08-preview", + "title": "DNC", + "description": "DNC web api provides way to create, get and delete dnc controller" + }, + "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.DelegatedNetwork/controller/{resourceName}": { + "get": { + "description": "Gets details about the specified dnc controller.", + "x-ms-examples": { + "Get details of a controller": { + "$ref": "./examples/getController.json" + } + }, + "tags": [ + "Controller" + ], + "operationId": "Controller_GetDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/DelegatedController" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Create a dnc controller", + "x-ms-examples": { + "Create controller": { + "$ref": "./examples/putController.json" + } + }, + "tags": [ + "Controller" + ], + "operationId": "Controller_Create", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DelegatedController" + }, + "description": "controller type parameters" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DelegatedController" + } + }, + "201": { + "description": "InProgress. The operation is still in progress.", + "schema": { + "$ref": "#/definitions/DelegatedController" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "description": "Deletes the DNC controller", + "x-ms-examples": { + "Delete controller": { + "$ref": "./examples/deleteController.json" + } + }, + "tags": [ + "Controller" + ], + "operationId": "Controller_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "description": "Update dnc controller", + "x-ms-examples": { + "update controller": { + "$ref": "./examples/patchController.json" + } + }, + "tags": [ + "Controller" + ], + "operationId": "Controller_Patch", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ControllerResourceUpdateParameters" + }, + "description": "controller type parameters" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DelegatedController" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/controllers": { + "get": { + "tags": [ + "DelegatedControllers" + ], + "description": "Get all the delegatedController resources in a subscription.", + "operationId": "DelegatedNetwork_ListBySubscription", + "x-ms-examples": { + "Get DelegatedController resources by subscription": { + "$ref": "./examples/controllerListBySub.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedControllers in the subscription.", + "schema": { + "$ref": "#/definitions/DelegatedControllers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/controllers": { + "get": { + "tags": [ + "DelegatedControllers" + ], + "description": "Get all the delegatedController resources in a resource group.", + "operationId": "DelegatedNetwork_ListByResourceGroup", + "x-ms-examples": { + "Get DelegatedNetwork resources by resource group": { + "$ref": "./examples/controllerListByRG.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the delegatedControllers in the resource group.", + "schema": { + "$ref": "#/definitions/DelegatedControllers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ControllerResource": { + "description": "Represents an instance of a resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of resource." + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ControllerResourceUpdateParameters": { + "description": "Parameters for updating a resource.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + } + }, + "DelegatedControllers": { + "description": "An array of Delegated controller resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedController" + }, + "description": "An array of Delegated controller resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of controllers.", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "DelegatedController": { + "description": "Represents an instance of a DNC controller.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ControllerResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "$ref": "#/definitions/DelegatedControllerProperties", + "description": "Properties of the provision operation request." + } + } + }, + "DelegatedControllerProperties": { + "description": "Properties of Delegated controller resource.", + "type": "object", + "properties": { + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Resource guid." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Deleting", + "Succeeded", + "Failed", + "Provisioning" + ], + "x-ms-enum": { + "name": "ControllerState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current state of dnc controller resource." + }, + "dncAppId": { + "type": "string", + "readOnly": true, + "description": "dnc application id should be used by customer to authenticate with dnc gateway." + }, + "dncTenantId": { + "type": "string", + "readOnly": true, + "description": "tenant id of dnc application id" + }, + "dncEndpoint": { + "type": "string", + "readOnly": true, + "description": "dnc endpoint url that customers can use to connect to" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error description", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "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 + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "A unique identifier for a 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": "The client API version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "The name of the Azure Resource group of which a given DelegatedNetwork resource is part. This name must be at least 1 character in length, and no more than 90." + }, + "resourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "x-ms-parameter-location": "method", + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json new file mode 100644 index 000000000000..227454d9adc8 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json @@ -0,0 +1,520 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-08-preview", + "title": "DNC", + "description": "DNC web api provides way to create, get and delete dnc controller" + }, + "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.DelegatedNetwork/delegatedSubnets/{resourceName}": { + "get": { + "description": "Gets details about the specified dnc DelegatedSubnet Link.", + "x-ms-examples": { + "Get details of a delegated subnet": { + "$ref": "./examples/getDelegatedSubnet.json" + } + }, + "tags": [ + "DNCDelegatedSubnet" + ], + "operationId": "DelegatedSubnetService_GetDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/DelegatedSubnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Put delegated subnet resource", + "x-ms-examples": { + "put delegated subnet": { + "$ref": "./examples/putDelegatedSubnet.json" + } + }, + "tags": [ + "DNCDelegatedSubnet" + ], + "operationId": "DelegatedSubnetService_PutDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DelegatedSubnet" + }, + "description": "Delegated subnet details." + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/DelegatedSubnet" + } + }, + "201": { + "description": "InProgress. The operation is still in progress", + "schema": { + "$ref": "#/definitions/DelegatedSubnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "description": "Patch delegated subnet resource", + "x-ms-examples": { + "patch delegated subnet": { + "$ref": "./examples/patchDelegatedSubnet.json" + } + }, + "tags": [ + "DNCDelegatedSubnet" + ], + "operationId": "DelegatedSubnetService_PatchDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceUpdateParameters" + }, + "description": "Delegated subnet details." + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/DelegatedSubnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "description": "Delete dnc DelegatedSubnet.", + "x-ms-examples": { + "delete delegated subnet": { + "$ref": "./examples/deleteDelegatedSubnet.json" + } + }, + "tags": [ + "DNCDelegatedSubnet" + ], + "operationId": "DelegatedSubnetService_DeleteDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/delegatedSubnets": { + "get": { + "tags": [ + "DelegatedSubnets" + ], + "description": "Get all the DelegatedSubnets resources in a subscription.", + "operationId": "DelegatedSubnetService_ListBySubscription", + "x-ms-examples": { + "Get DelegatedSubnets resources by subscription": { + "$ref": "./examples/delegatedSubnetListBySub.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedSubnets in the subscription.", + "schema": { + "$ref": "#/definitions/DelegatedSubnets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/delegatedSubnets": { + "get": { + "tags": [ + "DelegatedSubnets" + ], + "description": "Get all the DelegatedSubnets resources in a resource group.", + "operationId": "DelegatedSubnetService_ListByResourceGroup", + "x-ms-examples": { + "Get DelegatedSubnets resources by resource group": { + "$ref": "./examples/delegatedSubnetListByRG.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedSubnets in the resource group.", + "schema": { + "$ref": "#/definitions/DelegatedSubnets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "DelegatedSubnetResource": { + "description": "Represents an instance of a resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of resource." + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ResourceUpdateParameters": { + "description": "Parameters for updating a resource.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + } + }, + "DelegatedSubnets": { + "description": "An array of DelegatedSubnet resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnet" + }, + "description": "An array of DelegatedSubnet resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of DelegatedSubnet resources.", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "DelegatedSubnet": { + "description": "Represents an instance of a orchestrator.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DelegatedSubnetResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "$ref": "#/definitions/DelegatedSubnetProperties", + "description": "Properties of the provision operation request." + } + } + }, + "DelegatedSubnetProperties": { + "description": "Properties of delegated subnet", + "type": "object", + "properties": { + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Resource guid." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Deleting", + "Succeeded", + "Failed", + "Provisioning" + ], + "x-ms-enum": { + "name": "DelegatedSubnetState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current state of dnc delegated subnet resource." + }, + "subnetDetails": { + "description": "orchestrator details", + "$ref": "#/definitions/subnetDetails" + }, + "controllerDetails": { + "description": "controller details", + "$ref": "#/definitions/controllerDetails" + } + } + }, + "subnetDetails": { + "description": "Properties of orchestrator", + "type": "object", + "properties": { + "id": { + "description": "subnet arm resource id", + "type": "string" + } + } + }, + "controllerDetails": { + "description": "controller details", + "type": "object", + "properties": { + "id": { + "description": "controller arm resource id", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error description", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "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 + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "A unique identifier for a 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": "The client API version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "The name of the Azure Resource group of which a given DelegatedNetwork resource is part. This name must be at least 1 character in length, and no more than 90." + }, + "resourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "x-ms-parameter-location": "method", + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListByRG.json new file mode 100644 index 000000000000..a81f2d4d5193 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListByRG.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview", + "resourceGroupName": "testRG" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncEndpoint": "https://orch.useast.dnc.azure.com" + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListBySub.json new file mode 100644 index 000000000000..5c58a73c6761 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/controllerListBySub.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncEndpoint": "https://orch.useast.dnc.azure.com" + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedNetworkOperationsList.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedNetworkOperationsList.json new file mode 100644 index 000000000000..d56a67b6d20b --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedNetworkOperationsList.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.DelegatedNetwork/controller/write", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network Controller Service instance", + "operation": "Create or update a Controller Service instance.", + "description": "Create or update a Controller Service instance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/controller/read", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network Controller Service instance", + "operation": "Get a Controller Service instance.", + "description": "Get a Controller Service instance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/controller/delete", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network Controller Service instance", + "operation": "Delete a Controller Service instance.", + "description": "Delete a Controller Service instance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/orchestratorInstances/write", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network orchestratorInstance", + "operation": "Create or update a orchestratorInstance.", + "description": "Create or update a orchestratorInstance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/controller/read", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network orchestratorInstance", + "operation": "Get a orchestratorInstances.", + "description": "Get a orchestratorInstance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/controller/delete", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated Network orchestratorInstance", + "operation": "Delete a orchestratorInstance.", + "description": "Delete a orchestratorInstance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/delegatedSubnets/write", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated subnet instance", + "operation": "Create or update a Delegated subnet instance.", + "description": "Create or update a Delegated subnet instance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/delegatedSubnets/read", + "display": { + "provider": "Microsoft Delegated Network Service", + "resource": "Microsoft Delegated subnet instance", + "operation": "Get a Delegated subnet instance.", + "description": "Get a Delegated subnet instance." + } + }, + { + "name": "Microsoft.DelegatedNetwork/delegatedSubnets/delete", + "display": { + "provider": "Microsoft Delegated Network Controller Service", + "resource": "Microsoft Delegated subnet instance", + "operation": "Delete a Delegated subnet instance.", + "description": "Delete a Delegated subnet instance." + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListByRG.json new file mode 100644 index 000000000000..8e0b0c7846e4 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListByRG.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview", + "resourceGroupName": "testRG" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListBySub.json new file mode 100644 index 000000000000..7eb3dd2c65ef --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/delegatedSubnetListBySub.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteController.json new file mode 100644 index 000000000000..3b80be1a636d --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteController.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testcontroller", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "OK." + }, + "202": { + "headers": {}, + "description": "Accepted." + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteDelegatedSubnet.json new file mode 100644 index 000000000000..ae6a8d624d0f --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteDelegatedSubnet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "delegated1", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "OK." + }, + "202": { + "headers": {}, + "description": "Accepted." + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteOrchestrator.json new file mode 100644 index 000000000000..826523d95420 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/deleteOrchestrator.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "k8stest1", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "description": "OK." + }, + "202": { + "headers": {}, + "description": "Accepted." + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getController.json new file mode 100644 index 000000000000..f583f14e4985 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getController.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testcontroller", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncEndpoint": "https://orch.useast.dnc.azure.com" + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getDelegatedSubnet.json new file mode 100644 index 000000000000..fe8dc64cd511 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getDelegatedSubnet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "delegated1", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getOrchestrator.json new file mode 100644 index 000000000000..7c0e763848c8 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/getOrchestrator.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testk8s1", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "identity": { + "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60", + "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60", + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListByRG.json new file mode 100644 index 000000000000..e4077f80797c --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListByRG.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview", + "resourceGroupName": "testRG" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "identity": { + "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60", + "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60", + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListBySub.json new file mode 100644 index 000000000000..c8a00c1bd581 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/orchestratorInstanceListBySub.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e", + "api-version": "2020-08-08-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "identity": { + "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60", + "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60", + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + ] + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchController.json new file mode 100644 index 000000000000..9f9f3614ac45 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchController.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testcontroller", + "api-version": "2020-08-08-preview", + "parameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncEndpoint": "https://orch.useast.dnc.azure.com" + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchDelegatedSubnet.json new file mode 100644 index 000000000000..9c2462969f5f --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchDelegatedSubnet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "delegated1", + "api-version": "2020-08-08-preview", + "parameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchOrchestrator.json new file mode 100644 index 000000000000..8cabeee2c9c5 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/patchOrchestrator.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testk8s1", + "api-version": "2020-08-08-preview", + "parameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "tags": { + "key": "value" + }, + "identity": { + "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60", + "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60", + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putController.json new file mode 100644 index 000000000000..77ec462dc3a3 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putController.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testcontroller", + "api-version": "2020-08-08-preview", + "parameters": { + "location": "West US" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60", + "dncEndpoint": "https://orch.useast.dnc.azure.com" + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller", + "location": "West US", + "name": "testcontroller", + "type": "Microsoft.DelegatedNetwork/controller", + "properties": { + "provisioningState": "Provisioning" + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putDelegatedSubnet.json new file mode 100644 index 000000000000..ed8fa91a8363 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putDelegatedSubnet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "delegated1", + "api-version": "2020-08-08-preview", + "parameters": { + "location": "West US", + "properties": { + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801", + "subnetDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet" + }, + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller" + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1", + "location": "West US", + "name": "delegated1", + "type": "Microsoft.DelegatedNetwork/delegatedSubnets", + "properties": { + "provisioningState": "Provisioning" + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putOrchestrator.json new file mode 100644 index 000000000000..d98e3b7c2926 --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/examples/putOrchestrator.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "resourceGroupName": "TestRG", + "resourceName": "testk8s1", + "api-version": "2020-08-08-preview", + "parameters": { + "location": "West US", + "kind": "Kubernetes", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "identity": { + "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60", + "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60", + "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1", + "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3", + "clusterRootCA": "ddsadsad344mfdsfdl", + "apiServerEndpoint": "https://testk8s.cloudapp.net", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1", + "location": "West US", + "name": "testk8s1", + "type": "Microsoft.DelegatedNetwork/orchestrators", + "kind": "Kubernetes", + "properties": { + "provisioningState": "Provisioning", + "controllerDetails": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller" + } + } + } + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.json new file mode 100644 index 000000000000..3c101da6934e --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.json @@ -0,0 +1,194 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-08-preview", + "title": "DNC", + "description": "DNC web api provides way to create, get and delete dnc controller" + }, + "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.DelegatedNetwork/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available DelegatedNetwork service REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get available operations": { + "$ref": "./examples/delegatedNetworkOperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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" + } + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of request to list controller operations.It contains a list of operations and a URL link to get the next set of results", + "type": "object", + "properties": { + "value": { + "type": "array", + "uniqueItems": false, + "readOnly": true, + "description": "List of operations supported by the Microsoft.DelegatedNetwork resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "Operation": { + "description": "Microsoft.DelegatedNetwork REST API operation definition", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Gets or sets a value indicating whether the operation is a data action or not.", + "type": "boolean" + }, + "display": { + "description": "Operation properties display", + "$ref": "#/definitions/OperationDisplay" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.DelegatedNetwork.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: controller, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: create, get, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error description", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "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 + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The client API version." + } + } +} diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json new file mode 100644 index 000000000000..82e58c69c10c --- /dev/null +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json @@ -0,0 +1,567 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-08-preview", + "title": "DNC", + "description": "DNC web api provides way to create, get and delete dnc controller" + }, + "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.DelegatedNetwork/orchestrators/{resourceName}": { + "get": { + "description": "Gets details about the orchestrator instance.", + "x-ms-examples": { + "Get details of a orchestratorInstance": { + "$ref": "./examples/getOrchestrator.json" + } + }, + "tags": [ + "OrchestratorInstance" + ], + "operationId": "OrchestratorInstanceService_GetDetails", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The operation was successful.", + "schema": { + "$ref": "#/definitions/Orchestrator" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Create a orchestrator instance", + "x-ms-examples": { + "Create orchestrator instance": { + "$ref": "./examples/putOrchestrator.json" + } + }, + "tags": [ + "OrchestratorInstance" + ], + "operationId": "OrchestratorInstanceService_Create", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Orchestrator" + }, + "description": "OrchestratorInstance type parameters" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed successfully.", + "schema": { + "$ref": "#/definitions/Orchestrator" + } + }, + "201": { + "description": "InProgress. The operation is still in progress.", + "schema": { + "$ref": "#/definitions/Orchestrator" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "description": "Deletes the Orchestrator Instance", + "x-ms-examples": { + "Delete Orchestrator Instance": { + "$ref": "./examples/deleteOrchestrator.json" + } + }, + "tags": [ + "OrchestratorInstance" + ], + "operationId": "OrchestratorInstanceService_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "description": "Update Orchestrator Instance", + "x-ms-examples": { + "update Orchestrator Instance": { + "$ref": "./examples/patchOrchestrator.json" + } + }, + "tags": [ + "OrchestratorInstance" + ], + "operationId": "OrchestratorInstanceService_Patch", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OrchestratorResourceUpdateParameters" + }, + "description": "OrchestratorInstance update parameters" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed successfully.", + "schema": { + "$ref": "#/definitions/Orchestrator" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/orchestrators": { + "get": { + "tags": [ + "OrchestratorInstanceList" + ], + "description": "Get all the orchestratorInstance resources in a subscription.", + "operationId": "OrchestratorInstanceService_ListBySubscription", + "x-ms-examples": { + "Get orchestratorInstance resources by subscription": { + "$ref": "./examples/orchestratorInstanceListBySub.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the orchestratorInstance in the subscription.", + "schema": { + "$ref": "#/definitions/Orchestrators" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/orchestrators": { + "get": { + "tags": [ + "OrchestratorInstanceList" + ], + "description": "Get all the OrchestratorInstances resources in a resource group.", + "operationId": "OrchestratorInstanceService_ListByResourceGroup", + "x-ms-examples": { + "Get OrchestratorInstance resources by resource group": { + "$ref": "./examples/orchestratorInstanceListByRG.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the orchestratorInstances in the resource group.", + "schema": { + "$ref": "#/definitions/Orchestrators" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "OrchestratorResource": { + "description": "Represents an instance of a resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of resource." + }, + "location": { + "type": "string", + "description": "Location of the resource." + }, + "kind": { + "type": "string", + "description": "The kind of workbook. Choices are user and shared.", + "enum": [ + "Kubernetes" + ], + "x-ms-enum": { + "name": "OrchestratorKind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/OrchestratorIdentity", + "description": "The identity of the orchestrator" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + }, + "required": [ + "kind" + ], + "x-ms-azure-resource": true + }, + "OrchestratorResourceUpdateParameters": { + "description": "Parameters for updating a resource.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + } + }, + "Orchestrators": { + "description": "An array of OrchestratorInstance resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Orchestrator" + }, + "description": "An array of OrchestratorInstance resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of orchestrators.", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "Orchestrator": { + "description": "Represents an instance of a orchestrator.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OrchestratorResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OrchestratorResourceProperties", + "description": "Properties of the provision operation request." + } + } + }, + "OrchestratorResourceProperties": { + "description": "Properties of orchestrator", + "type": "object", + "properties": { + "resourceGuid": { + "type": "string", + "readOnly": true, + "description": "Resource guid." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Deleting", + "Succeeded", + "Failed", + "Provisioning" + ], + "x-ms-enum": { + "name": "OrchestratorInstanceState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current state of orchestratorInstance resource." + }, + "orchestratorAppId": { + "description": "AAD ID used with apiserver", + "type": "string" + }, + "orchestratorTenantId": { + "description": "TenantID of server App ID", + "type": "string" + }, + "clusterRootCA": { + "description": "RootCA certificate of kubernetes cluster base64 encoded", + "type": "string" + }, + "apiServerEndpoint": { + "description": "K8s APIServer url", + "type": "string" + }, + "controllerDetails": { + "description": "controller details", + "$ref": "#/definitions/ControllerDetails" + } + }, + "required": [ + "controllerDetails" + ] + }, + "OrchestratorIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by orchestrator." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by orchestrator." + }, + "type": { + "type": "string", + "description": "The type of identity used for orchestrator cluster. Type 'SystemAssigned' will use an implicitly created identity orchestrator clusters", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + }, + "ControllerDetails": { + "description": "controller details", + "type": "object", + "properties": { + "id": { + "description": "controller arm resource id", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "description": "Error description", + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "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 + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "A unique identifier for a 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": "The client API version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "The name of the Azure Resource group of which a given DelegatedNetwork resource is part. This name must be at least 1 character in length, and no more than 90." + }, + "resourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "x-ms-parameter-location": "method", + "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63." + } + } +} diff --git a/specification/dnc/resource-manager/readme.azureresourceschema.md b/specification/dnc/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..bba0b7146906 --- /dev/null +++ b/specification/dnc/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-delegatednetwork-2020-08-08-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-delegatednetwork-2020-08-08-preview and azureresourceschema + +``` yaml $(tag) == 'schema-delegatednetwork-2020-08-08-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json + +``` diff --git a/specification/dnc/resource-manager/readme.go.md b/specification/dnc/resource-manager/readme.go.md new file mode 100644 index 000000000000..971e71d00cb0 --- /dev/null +++ b/specification/dnc/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 + namespace: delegatednetwork +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-08-08-preview +``` + +### Tag: package-2020-08-08-preview and go + +These settings apply only when `--tag=package-2020-08-08-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-08-08-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-08-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/dnc/resource-manager/readme.md b/specification/dnc/resource-manager/readme.md new file mode 100644 index 000000000000..cec8467edf34 --- /dev/null +++ b/specification/dnc/resource-manager/readme.md @@ -0,0 +1,119 @@ +# DelegatedNetwork + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DelegatedNetwork. + + + +--- +## Getting Started +To build the SDK for DelegatedNetwork, 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 DelegatedNetwork API. + +``` yaml +openapi-type: arm +tag: package-2020-08-08-preview +``` + + +### Tag: package-2020-08-08-preview + +These settings apply only when `--tag=package-2020-08-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-08-preview' +input-file: +- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json +- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json +- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json +- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.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 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js +``` + +## 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 + namespace: Microsoft.Azure.Management.DelegatedNetwork + output-folder: $(csharp-sdks-folder)/DelegatedNetwork/Microsoft.Azure.Management.DelegatedNetwork/src/Generated + clear-output-folder: true +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +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.DelegatedNetwork +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-DelegatedNetwork +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-08-08-preview +``` + +### Tag: package-2020-08-08-preview and java + +These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.DelegatedNetwork.2020-08-08-preview + output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/mgmt-2020-08-08-preview +regenerate-manager: true +generate-interface: true +``` + +## Python + +See configuration in [readme.python.md](./readme.python.md) + + diff --git a/specification/dns/resource-manager/readme.azureresourceschema.md b/specification/dns/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..743edd736482 --- /dev/null +++ b/specification/dns/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2018-05-01 + - tag: schema-network-2018-03-01-preview + - tag: schema-network-2017-10-01 + - tag: schema-network-2017-09-01 + - tag: schema-network-2016-04-01 + - tag: schema-network-2015-05-04-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-05-01/dns.json + +``` + +### Tag: schema-network-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2018-03-01-preview/dns.json + +``` + +### Tag: schema-network-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-10-01/dns.json + +``` + +### Tag: schema-network-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-09-01/dns.json + +``` + +### Tag: schema-network-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-04-01/dns.json + +``` + +### Tag: schema-network-2015-05-04-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-05-04-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2015-05-04-preview/dns.json + +``` diff --git a/specification/dns/resource-manager/readme.csharp.md b/specification/dns/resource-manager/readme.csharp.md index 990ec8b1989f..afe96fad748b 100644 --- a/specification/dns/resource-manager/readme.csharp.md +++ b/specification/dns/resource-manager/readme.csharp.md @@ -63,6 +63,21 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Dns/Management.Dns/Genera batch: - tag: profile-hybrid-2019-03-01 +skip-simplifier-on-namespace: + - System.Net +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Dns +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Dns/Management.Dns/Generated + +batch: + - tag: profile-hybrid-2020-09-01 + skip-simplifier-on-namespace: - System.Net ``` \ No newline at end of file diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md index 60903e790fef..1bc89a36ef83 100644 --- a/specification/dns/resource-manager/readme.md +++ b/specification/dns/resource-manager/readme.md @@ -140,6 +140,15 @@ input-file: - Microsoft.Network/preview/2015-05-04-preview/dns.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: +- Microsoft.Network/stable/2016-04-01/dns.json +``` + # Code Generation ## Swagger to SDK @@ -160,6 +169,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_dns'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js dns/resource-manager ``` ## Go @@ -224,32 +236,7 @@ input-file: - Microsoft.Network/stable/2016-04-01/dns.json ``` -## 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.Network/stable/2018-05-01/dns.json - - $(this-folder)/Microsoft.Network/preview/2018-03-01-preview/dns.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/dns.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/dns.json - - $(this-folder)/Microsoft.Network/stable/2016-04-01/dns.json - - $(this-folder)/Microsoft.Network/preview/2015-05-04-preview/dns.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json new file mode 100644 index 000000000000..6e5aec2db2c5 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json new file mode 100644 index 000000000000..11b98fc2c715 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json new file mode 100644 index 000000000000..c6f150bbe889 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json new file mode 100644 index 000000000000..2842071473a8 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "value": [ + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2", + "name": "OuContainer.com/OuContainer2", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer2", + "accounts": [ + { + "accountName": "AccountName3", + "spn": "Spn3" + }, + { + "accountName": "AccountName4", + "spn": "Spn4" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json new file mode 100644 index 000000000000..bc23efd4cf82 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json new file mode 100644 index 000000000000..6a2aed422bab --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json @@ -0,0 +1,603 @@ +{ + "swagger": "2.0", + "info": { + "title": "Domain Services Resource Provider", + "description": "The AAD Domain Services API.", + "version": "2017-06-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": { + "/providers/Microsoft.Aad/operations": { + "get": { + "tags": [ + "OuContainer" + ], + "description": "Lists all the available OuContainer operations.", + "operationId": "OuContainerOperations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_List", + "summary": "List of OuContainers in DomainService instance", + "description": "The List of OuContainers in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainerListResult" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/ListOuContainers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Get", + "summary": "Get particular OuContainer in DomainService instance", + "description": "Get OuContainer in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/GetOuContainer.json" + } + } + }, + "put": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Create", + "summary": "Create OuContainer", + "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation completed successfully.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Domain Service": { + "$ref": "./examples/CreateOuContainer.json" + } + } + }, + "delete": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Delete", + "summary": "Delete OuContainer", + "description": "The Delete OuContainer operation deletes specified OuContainer.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete OuContainer": { + "$ref": "./examples/DeleteOuContainer.json" + } + } + }, + "patch": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Update", + "summary": "Update OuContainer (PATCH Resource)", + "description": "The Update OuContainer operation can be used to update the existing OuContainers.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Domain Service": { + "$ref": "./examples/UpdateOuContainer.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "etag": { + "type": "string", + "description": "Resource etag" + } + }, + "x-ms-azure-resource": true + }, + "OuContainerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OuContainer" + }, + "description": "The list of OuContainer." + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + }, + "description": "The response from the List OuContainer operation." + }, + "OuContainer": { + "description": "Resource for OuContainer.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OuContainerProperties", + "description": "OuContainer properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "OuContainerProperties": { + "description": "Properties of the OuContainer.", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory tenant id" + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "The domain name of Domain Services." + }, + "deploymentId": { + "readOnly": true, + "type": "string", + "description": "The Deployment id" + }, + "containerId": { + "readOnly": true, + "type": "string", + "description": "The OuContainer name" + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAccount", + "description": "Container Account" + }, + "description": "The list of container accounts" + }, + "serviceStatus": { + "readOnly": true, + "type": "string", + "description": "Status of OuContainer instance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ContainerAccount": { + "description": "Container Account Description", + "properties": { + "accountName": { + "type": "string", + "description": "The account name" + }, + "spn": { + "type": "string", + "description": "The account spn" + }, + "password": { + "type": "string", + "description": "The account password" + } + } + }, + "OperationEntityListResult": { + "description": "The list of domain service operation response.", + "type": "object", + "properties": { + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + } + }, + "OperationEntity": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Domain Services." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Domain Services.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "An error response from the Domain Services.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Domain Services." + }, + "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 Domain Services." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "DomainServiceNameParameter": { + "name": "domainServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the domain service.", + "x-ms-parameter-location": "method" + }, + "OuContainerNameParameter": { + "name": "ouContainerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the OuContainer.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json new file mode 100644 index 000000000000..0f5651845b81 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json new file mode 100644 index 000000000000..ab7dec2f11de --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json new file mode 100644 index 000000000000..90b57878c52d --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json new file mode 100644 index 000000000000..0153c95e3fed --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "value": [ + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2", + "name": "OuContainer.com/OuContainer2", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer2", + "accounts": [ + { + "accountName": "AccountName3", + "spn": "Spn3" + }, + { + "accountName": "AccountName4", + "spn": "Spn4" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json new file mode 100644 index 000000000000..5849aa98e585 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json new file mode 100644 index 000000000000..84bf755c076f --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json @@ -0,0 +1,603 @@ +{ + "swagger": "2.0", + "info": { + "title": "Domain Services Resource Provider", + "description": "The AAD Domain Services API.", + "version": "2020-01-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": { + "/providers/Microsoft.Aad/operations": { + "get": { + "tags": [ + "OuContainer" + ], + "description": "Lists all the available OuContainer operations.", + "operationId": "OuContainerOperations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_List", + "summary": "List of OuContainers in DomainService instance", + "description": "The List of OuContainers in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainerListResult" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/ListOuContainers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Get", + "summary": "Get particular OuContainer in DomainService instance", + "description": "Get OuContainer in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/GetOuContainer.json" + } + } + }, + "put": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Create", + "summary": "Create OuContainer", + "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation completed successfully.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Domain Service": { + "$ref": "./examples/CreateOuContainer.json" + } + } + }, + "delete": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Delete", + "summary": "Delete OuContainer", + "description": "The Delete OuContainer operation deletes specified OuContainer.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete OuContainer": { + "$ref": "./examples/DeleteOuContainer.json" + } + } + }, + "patch": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Update", + "summary": "Update OuContainer (PATCH Resource)", + "description": "The Update OuContainer operation can be used to update the existing OuContainers.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Domain Service": { + "$ref": "./examples/UpdateOuContainer.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "etag": { + "type": "string", + "description": "Resource etag" + } + }, + "x-ms-azure-resource": true + }, + "OuContainerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OuContainer" + }, + "description": "The list of OuContainer." + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + }, + "description": "The response from the List OuContainer operation." + }, + "OuContainer": { + "description": "Resource for OuContainer.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OuContainerProperties", + "description": "OuContainer properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "OuContainerProperties": { + "description": "Properties of the OuContainer.", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory tenant id" + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "The domain name of Domain Services." + }, + "deploymentId": { + "readOnly": true, + "type": "string", + "description": "The Deployment id" + }, + "containerId": { + "readOnly": true, + "type": "string", + "description": "The OuContainer name" + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAccount", + "description": "Container Account" + }, + "description": "The list of container accounts" + }, + "serviceStatus": { + "readOnly": true, + "type": "string", + "description": "Status of OuContainer instance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ContainerAccount": { + "description": "Container Account Description", + "properties": { + "accountName": { + "type": "string", + "description": "The account name" + }, + "spn": { + "type": "string", + "description": "The account spn" + }, + "password": { + "type": "string", + "description": "The account password" + } + } + }, + "OperationEntityListResult": { + "description": "The list of domain service operation response.", + "type": "object", + "properties": { + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + } + }, + "OperationEntity": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Domain Services." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Domain Services.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "An error response from the Domain Services.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Domain Services." + }, + "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 Domain Services." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "DomainServiceNameParameter": { + "name": "domainServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the domain service.", + "x-ms-parameter-location": "method" + }, + "OuContainerNameParameter": { + "name": "ouContainerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the OuContainer.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/domainservices/resource-manager/readme.azureresourceschema.md b/specification/domainservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..24b8ecacf69b --- /dev/null +++ b/specification/domainservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,50 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-aad-2020-01-01 + - tag: schema-aad-2017-06-01 + - tag: schema-aad-2017-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-aad-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2020-01-01/domainservices.json + - Microsoft.AAD/stable/2020-01-01/oucontainer.json + +``` + +### Tag: schema-aad-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2017-06-01/domainservices.json + - Microsoft.AAD/stable/2017-06-01/oucontainer.json + +``` + +### Tag: schema-aad-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2017-01-01/domainservices.json + +``` diff --git a/specification/domainservices/resource-manager/readme.go.md b/specification/domainservices/resource-manager/readme.go.md index 810a7ccaac4d..b741b3bced53 100644 --- a/specification/domainservices/resource-manager/readme.go.md +++ b/specification/domainservices/resource-manager/readme.go.md @@ -13,10 +13,20 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-01 - tag: package-2017-01 - tag: package-2017-06 ``` +### Tag: package-2020-01 and go + +These settings apply only when `--tag=package-2020-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-01' && $(go) +output-folder: $(go-sdk-folder)/services/domainservices/mgmt/2020-01-01/$(namespace) +``` + ### Tag: package-2017-01 and go These settings apply only when `--tag=package-2017-01 --go` is specified on the command line. diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md index a3c8ec8ccf18..a9d111ac2021 100644 --- a/specification/domainservices/resource-manager/readme.md +++ b/specification/domainservices/resource-manager/readme.md @@ -1,184 +1,160 @@ -# DomainServices - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for DomainServices. - - - ---- -## Getting Started -To build the SDK for DomainServices, 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 DomainServices API. - -``` yaml -openapi-type: arm -tag: package-2017-06 -``` - -### Tag: package-2020-01 - -These settings apply only when `--tag=package-2020-01` is specified on the command line. - -``` yaml $(tag) == 'package-2020-01' -input-file: -- Microsoft.AAD/stable/2020-01-01/domainservices.json -``` - -### Tag: package-2017-06 - -These settings apply only when `--tag=package-2017-06` is specified on the command line. - -``` yaml $(tag) == 'package-2017-06' -input-file: -- Microsoft.AAD/stable/2017-06-01/domainservices.json -``` - -### Tag: package-2017-01 - -These settings apply only when `--tag=package-2017-01` is specified on the command line. - -``` yaml $(tag) == 'package-2017-01' -input-file: -- Microsoft.AAD/stable/2017-01-01/domainservices.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-go - - repo: azure-sdk-for-js - - repo: azure-sdk-for-node -``` - -## 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 - namespace: Microsoft.Azure.Management.DomainServices - payload-flattening-threshold: 2 - output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated - clear-output-folder: true -``` - -## Go - -See configuration in [readme.go.md](./readme.go.md) - -## Java - -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.domainservices -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2020-01 - - tag: package-2017-06 - - tag: package-2017-01 -``` - -### Tag: package-2020-01 and java - -These settings apply only when `--tag=package-2020-01 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2020_01_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2017-06 and java - -These settings apply only when `--tag=package-2017-06 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2017_06_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2017-01 and java - -These settings apply only when `--tag=package-2017-01 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2017_01_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01 -regenerate-manager: true -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.AAD/stable/2020-01-01/domainservices.json - - $(this-folder)/Microsoft.AAD/stable/2017-06-01/domainservices.json - - $(this-folder)/Microsoft.AAD/stable/2017-01-01/domainservices.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 -``` - +# DomainServices + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DomainServices. + + + +--- +## Getting Started +To build the SDK for DomainServices, 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 DomainServices API. + +``` yaml +openapi-type: arm +tag: package-2017-06 +``` + +### Tag: package-2020-01 + +These settings apply only when `--tag=package-2020-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01' +input-file: +- Microsoft.AAD/stable/2020-01-01/domainservices.json +- Microsoft.AAD/stable/2020-01-01/oucontainer.json +``` + +### Tag: package-2017-06 + +These settings apply only when `--tag=package-2017-06` is specified on the command line. + +``` yaml $(tag) == 'package-2017-06' +input-file: +- Microsoft.AAD/stable/2017-06-01/domainservices.json +- Microsoft.AAD/stable/2017-06-01/oucontainer.json +``` + +### Tag: package-2017-01 + +These settings apply only when `--tag=package-2017-01` is specified on the command line. + +``` yaml $(tag) == 'package-2017-01' +input-file: +- Microsoft.AAD/stable/2017-01-01/domainservices.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-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node +``` + +## 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 + namespace: Microsoft.Azure.Management.DomainServices + payload-flattening-threshold: 2 + output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated + clear-output-folder: true +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +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.domainservices +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-01 + - tag: package-2017-06 + - tag: package-2017-01 +``` + +### Tag: package-2020-01 and java + +These settings apply only when `--tag=package-2020-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2020_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-06 and java + +These settings apply only when `--tag=package-2017-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2017_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-01 and java + +These settings apply only when `--tag=package-2017-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2017_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01 +regenerate-manager: true +generate-interface: true +``` + + + diff --git a/specification/engagementfabric/resource-manager/readme.azureresourceschema.md b/specification/engagementfabric/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..29aa52048494 --- /dev/null +++ b/specification/engagementfabric/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-engagementfabric-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-engagementfabric-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-engagementfabric-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EngagementFabric/preview/2018-09-01/EngagementFabric.json + +``` diff --git a/specification/engagementfabric/resource-manager/readme.md b/specification/engagementfabric/resource-manager/readme.md index 728d6321e9fd..c34f5beb220e 100644 --- a/specification/engagementfabric/resource-manager/readme.md +++ b/specification/engagementfabric/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_engagement_fabric'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js engagementfabric/resource-manager ``` @@ -124,27 +127,7 @@ payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-engagementfabric ``` -## 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.EngagementFabric/preview/2018-09-01/EngagementFabric.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json new file mode 100644 index 000000000000..384521adebae --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json @@ -0,0 +1,352 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-01-01", + "title": "Schema of Azure Communication Services events published to Azure Event Grid", + "description": "Describes the schema of the Azure Communication Services events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent." + }, + "paths": {}, + "definitions": { + "ACSChatMessageReceivedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceived event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatMessageEventBaseProperties" + } + ], + "properties": { + "messageBody": { + "description": "The body of the chat message", + "type": "string" + } + } + }, + "ACSChatMessageEditedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEdited event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatMessageEventBaseProperties" + } + ], + "properties": { + "messageBody": { + "description": "The body of the chat message", + "type": "string" + }, + "editTime": { + "description": "The time at which the message was edited", + "format": "date-time", + "type": "string" + } + } + }, + "ACSChatMessageDeletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeleted event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatMessageEventBaseProperties" + } + ], + "properties": { + "deleteTime": { + "description": "The time at which the message was deleted", + "format": "date-time", + "type": "string" + } + } + }, + "ACSChatThreadCreatedWithUserEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreatedWithUser event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatThreadEventBaseProperties" + } + ], + "properties": { + "createdBy": { + "description": "The MRI of the creator of the thread", + "type": "string" + }, + "properties": { + "description": "The thread properties", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "members": { + "description": "The list of properties of users who are part of the thread", + "type": "array", + "items": { + "$ref": "#/definitions/ACSChatThreadMemberProperties" + } + } + } + }, + "ACSChatThreadWithUserDeletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadWithUserDeleted event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatThreadEventBaseProperties" + } + ], + "properties": { + "deletedBy": { + "description": "The MRI of the user who deleted the thread", + "type": "string" + }, + "deleteTime": { + "description": "The deletion time of the thread", + "format": "date-time", + "type": "string" + } + } + }, + "ACSChatThreadPropertiesUpdatedPerUserEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatThreadEventBaseProperties" + } + ], + "properties": { + "editedBy": { + "description": "The MRI of the user who updated the thread properties", + "type": "string" + }, + "editTime": { + "description": "The time at which the properties of the thread were updated", + "format": "date-time", + "type": "string" + }, + "properties": { + "description": "The updated thread properties", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "ACSChatMemberAddedToThreadWithUserEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberAddedToThreadWithUser event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatThreadEventBaseProperties" + } + ], + "properties": { + "time": { + "description": "The time at which the user was added to the thread", + "format": "date-time", + "type": "string" + }, + "addedBy": { + "description": "The MRI of the user who added the user", + "type": "string" + }, + "memberAdded": { + "description": "The details of the user who was added", + "$ref": "#/definitions/ACSChatThreadMemberProperties" + } + } + }, + "ACSChatMemberRemovedFromThreadWithUserEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberRemovedFromThreadWithUser event.", + "allOf": [ + { + "$ref": "#/definitions/ACSChatThreadEventBaseProperties" + } + ], + "properties": { + "time": { + "description": "The time at which the user was removed to the thread", + "format": "date-time", + "type": "string" + }, + "removedBy": { + "description": "The MRI of the user who removed the user", + "type": "string" + }, + "memberRemoved": { + "description": "The details of the user who was removed", + "$ref": "#/definitions/ACSChatThreadMemberProperties" + } + } + }, + "AcsSmsDeliveryReportReceivedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSDeliveryReportReceived event.", + "allOf": [ + { + "$ref": "#/definitions/AcsSmsEventBaseProperties" + } + ], + "properties": { + "deliveryStatus": { + "description": "Status of Delivery", + "type": "string" + }, + "deliveryStatusDetails": { + "description": "Details about Delivery Status", + "type": "string" + }, + "deliveryAttempts": { + "description": "List of details of delivery attempts made", + "type": "array", + "items": { + "$ref": "#/definitions/AcsSmsDeliveryAttemptProperties" + } + }, + "receivedTimestamp": { + "description": "The time at which the SMS delivery report was received", + "format": "date-time", + "type": "string" + } + } + }, + "AcsSmsReceivedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSReceived event.", + "allOf": [ + { + "$ref": "#/definitions/AcsSmsEventBaseProperties" + } + ], + "properties": { + "message": { + "description": "The SMS content", + "type": "string" + }, + "receivedTimestamp": { + "description": "The time at which the SMS was received", + "format": "date-time", + "type": "string" + } + } + }, + "ACSChatThreadEventBaseProperties": { + "description": "Schema of common properties of all chat thread events", + "allOf": [ + { + "$ref": "#/definitions/ACSChatEventBaseProperties" + } + ], + "properties": { + "createTime": { + "description": "The original creation time of the thread", + "format": "date-time", + "type": "string" + }, + "version": { + "description": "The version of the thread", + "type": "integer", + "format": "int64" + } + } + }, + "ACSChatMessageEventBaseProperties": { + "description": "Schema of common properties of all chat message events", + "allOf": [ + { + "$ref": "#/definitions/ACSChatEventBaseProperties" + } + ], + "properties": { + "messageId": { + "description": "The chat message id", + "type": "string" + }, + "senderId": { + "description": "The MRI of the sender", + "type": "string" + }, + "senderDisplayName": { + "description": "The display name of the sender", + "type": "string" + }, + "composeTime": { + "description": "The original compose time of the message", + "format": "date-time", + "type": "string" + }, + "type": { + "description": "The type of the message", + "type": "string" + }, + "version": { + "description": "The version of the message", + "type": "integer", + "format": "int64" + } + } + }, + "ACSChatEventBaseProperties": { + "description": "Schema of common properties of all chat events", + "type": "object", + "properties": { + "recipientId": { + "description": "The MRI of the target user", + "type": "string" + }, + "transactionId": { + "description": "The transaction id will be used as co-relation vector", + "type": "string" + }, + "threadId": { + "description": "The chat thread id", + "type": "string" + } + } + }, + "ACSChatThreadMemberProperties": { + "description": "Schema of the chat thread member", + "type": "object", + "properties": { + "displayName": { + "description": "The name of the user", + "type": "string" + }, + "memberId": { + "description": "The MRI of the user", + "type": "string" + } + } + }, + "AcsSmsEventBaseProperties": { + "description": "Schema of common properties of all SMS events", + "type": "object", + "properties": { + "messageId": { + "description": "The identity of the SMS message", + "type": "string" + }, + "from": { + "description": "The identity of SMS message sender", + "type": "string" + }, + "to": { + "description": "The identity of SMS message receiver", + "type": "string" + } + } + }, + "AcsSmsDeliveryAttemptProperties": { + "description": "Schema for details of a delivery attempt", + "type": "object", + "properties": { + "timestamp": { + "description": "TimeStamp when delivery was attempted", + "format": "date-time", + "type": "string" + }, + "segmentsSucceeded": { + "description": "Number of segments that were successfully delivered", + "type": "integer" + }, + "segmentsFailed": { + "description": "Number of segments whose delivery failed", + "type": "integer" + } + } + } + } +} diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json index 5220d070ce4a..b70b49b75ed7 100644 --- a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json +++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json @@ -70,10 +70,93 @@ } } }, + "x-ms-paths": { + "/api/events?overload=cloudEvent": { + "post": { + "consumes": [ + "application/cloudevents-batch+json; charset=utf-8" + ], + "tags": [ + "Events" + ], + "description": "Publishes a batch of events to an Azure Event Grid topic.", + "operationId": "PublishCloudEventEvents", + "parameters": [ + { + "name": "events", + "description": "An array of events to be published to Event Grid.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudEventEvent" + } + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error.\n\n * 429 Too Many Events\n\n * 404 Not Found." + } + }, + "x-ms-examples": { + "PublishEventsToEventGridTopicAsCloudEvents": { + "$ref": "./examples/PublishEventsToEventGridTopicAsCloudEvents.json" + } + } + } + }, + "/api/events?overload=customEvent": { + "post": { + "tags": [ + "Events" + ], + "description": "Publishes a batch of events to an Azure Event Grid topic.", + "operationId": "PublishCustomEventEvents", + "parameters": [ + { + "name": "events", + "description": "An array of events to be published to Event Grid.", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomEventEvent" + } + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error.\n\n * 429 Too Many Events\n\n * 404 Not Found." + } + }, + "x-ms-examples": { + "PublishEventsToEventGridTopicAsCloudEvents": { + "$ref": "./examples/PublishEventsToEventGridTopicAsCustomSchemaEvents.json" + } + } + } + } + }, "definitions": { "EventGridEvent": { "type": "object", - "description": "Properties of an event published to an Event Grid topic.", + "description": "Properties of an event published to an Event Grid topic using the EventGrid Schema.", "required": [ "id", "subject", @@ -119,6 +202,65 @@ } } }, + "CloudEventEvent": { + "type": "object", + "description": "Properties of an event published to an Event Grid topic using the CloudEvent 1.0 Schema", + "required": [ + "type", + "specversion", + "source", + "id" + ], + "properties": { + "id": { + "description": "An identifier for the event. The combination of id and source must be unique for each distinct event.", + "type": "string" + }, + "source": { + "description": "Identifies the context in which an event happened. The combination of id and source must be unique for each distinct event.", + "type": "string" + }, + "data": { + "description": "Event data specific to the event type.", + "type": "object" + }, + "data_base64": { + "description": "Event data specific to the event type, encoded as a base64 string.", + "type": "string", + "format": "byte" + }, + "type": { + "description": "Type of event related to the originating occurrence.", + "type": "string" + }, + "time": { + "description": "The time (in UTC) the event was generated, in RFC3339 format.", + "format": "date-time", + "type": "string" + }, + "specversion": { + "description": "The version of the CloudEvents specification which the event uses.", + "type": "string" + }, + "dataschema": { + "description": "Identifies the schema that data adheres to.", + "type": "string" + }, + "datacontenttype": { + "description": "Content type of data value.", + "type": "string" + }, + "subject": { + "description": "This describes the subject of the event in the context of the event producer (identified by source).", + "type": "string" + } + }, + "additionalProperties": true + }, + "CustomEventEvent": { + "type": "object", + "description": "Properties of an event published to an Event Grid topic using a custom schema" + }, "SubscriptionValidationEventData": { "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionValidationEvent.", "type": "object", diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCloudEvents.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCloudEvents.json new file mode 100644 index 000000000000..8f8d89f0d232 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCloudEvents.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "topicHostname": "mytopic.westcentralus-1.eventgrid.azure.net", + "api-version": "2018-01-01", + "events": [ + { + "id": "b3ccc7e3-c1cb-49bf-b7c8-0d4e60980616", + "source": "/microsoft/autorest/examples/eventgrid/cloud-events/publish", + "specversion": "1.0", + "data": { + "Property1": "Value1", + "Property2": "Value2" + }, + "type": "Microsoft.Contoso.TestEvent", + "time": "2017-12-04T22:06:09.147165Z" + } + ] + }, + "responses": { + "200": {} + } +} diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCustomSchemaEvents.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCustomSchemaEvents.json new file mode 100644 index 000000000000..cba65d5dce7b --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/examples/PublishEventsToEventGridTopicAsCustomSchemaEvents.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "topicHostname": "mytopic.westcentralus-1.eventgrid.azure.net", + "api-version": "2018-01-01", + "events": [ + { + "sub": "Test event", + "data": { + "Property1": "Value1", + "Property2": "Value2" + }, + "type": "Microsoft.Contoso.TestEvent", + "ver": "1.0" + } + ] + }, + "responses": { + "200": {} + } +} diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json index b49ea347e927..acd30d40cc77 100644 --- a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json +++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json @@ -312,6 +312,40 @@ "type": "number" } } + }, + "KeyVaultVaultAccessPolicyChangedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an VaultAccessPolicyChanged event.", + "type": "object", + "properties": { + "id": { + "description": "The id of the object that triggered this event.", + "type": "string" + }, + "vaultName": { + "description": "Key vault name of the object that triggered this event.", + "type": "string" + }, + "objectType": { + "description": "The type of the object that triggered this event", + "type": "string" + }, + "objectName": { + "description": "The name of the object that triggered this event", + "type": "string" + }, + "version": { + "description": "The version of the object that triggered this event", + "type": "string" + }, + "nbf": { + "description": "Not before date of the object that triggered this event", + "type": "number" + }, + "exp": { + "description": "The expiration date of the object that triggered this event", + "type": "number" + } + } } } } diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md index fd7eb6016138..744ddac3e43e 100644 --- a/specification/eventgrid/data-plane/readme.md +++ b/specification/eventgrid/data-plane/readme.md @@ -59,6 +59,16 @@ input-file: - Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json - Microsoft.Cache/stable/2018-01-01/RedisCache.json - Microsoft.Web/stable/2018-01-01/Web.json +- Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json +``` + +### Suppression +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + from: Microsoft.EventGrid/stable/2018-01-01/EventGrid.json + where: $.definitions.CloudEventEvent.properties.data_base64 + reason: This parameter name is defined by the Cloud Events 1.0 specification ``` --- @@ -141,6 +151,7 @@ input-file: - $(this-folder)/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json - $(this-folder)/Microsoft.Cache/stable/2018-01-01/RedisCache.json - $(this-folder)/Microsoft.Web/stable/2018-01-01/Web.json + - $(this-folder)/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json ``` diff --git a/specification/eventgrid/resource-manager/readme.azureresourceschema.md b/specification/eventgrid/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5afb66e43cbe --- /dev/null +++ b/specification/eventgrid/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,144 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-eventgrid-2020-06-01 + - tag: schema-eventgrid-2020-04-01-preview + - tag: schema-eventgrid-2020-01-01-preview + - tag: schema-eventgrid-2019-06-01 + - tag: schema-eventgrid-2019-02-01-preview + - tag: schema-eventgrid-2019-01-01 + - tag: schema-eventgrid-2018-09-15-preview + - tag: schema-eventgrid-2018-05-01-preview + - tag: schema-eventgrid-2018-01-01 + - tag: schema-eventgrid-2017-09-15-preview + - tag: schema-eventgrid-2017-06-15-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-eventgrid-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2019-06-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2019-01-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-09-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-09-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2018-09-15-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2018-05-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2018-01-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2017-09-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2017-09-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2017-09-15-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2017-06-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2017-06-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2017-06-15-preview/EventGrid.json + +``` diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md index 85b509c238ed..1ba6e68d7af4 100644 --- a/specification/eventgrid/resource-manager/readme.md +++ b/specification/eventgrid/resource-manager/readme.md @@ -173,6 +173,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_event_grid'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js eventgrid/resource-manager ``` ## C# @@ -198,36 +201,7 @@ 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! +## AzureResourceSchema -``` 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.EventGrid/stable/2020-06-01/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/stable/2019-06-01/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/stable/2019-01-01/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2018-09-15-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2018-05-01-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2017-09-15-preview/EventGrid.json - - $(this-folder)/Microsoft.EventGrid/preview/2017-06-15-preview/EventGrid.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json b/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json deleted file mode 100644 index 195b5900769a..000000000000 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "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": "2017-04-01", - "title": "Common types" - }, - "paths": {}, - "definitions": { - "TrackedResource": { - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "Resource location." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Definition of resource." - }, - "Resource": { - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "description": "The resource definition.", - "x-ms-azure-resource": true - }, - "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": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the resource group within the azure subscription." - }, - "NamespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Namespace name" - }, - "EventHubNameParameter": { - "name": "eventHubName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Event Hub name" - }, - "ConsumerGroupNameParameter": { - "name": "consumerGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The consumer group name" - }, - "SkipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "TopParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "AuthorizationRuleNameParameter": { - "name": "authorizationRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The authorization rule name." - }, - "AliasNameParameter": { - "name": "alias", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Disaster Recovery configuration name" - }, - "ClusterNameParameter": { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The name of the Event Hubs Cluster." - }, - "IpFilterRuleNameParameter": { - "name": "ipFilterRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The IP Filter Rule name." - }, - "VirtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The Virtual Network Rule name." - }, - "SkuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - } - } -} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json index 4c22e44c12d0..74ec2f20ba61 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json @@ -48,10 +48,10 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Error response describing why available clusters could not be successfully listed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json index 548a7852cd5f..9300b0e7a82a 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json @@ -48,13 +48,13 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -67,7 +67,7 @@ "default": { "description": "Event Hub Cluster error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -90,16 +90,16 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -112,7 +112,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the cluster description get operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -130,13 +130,13 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { "name": "parameters", @@ -151,7 +151,7 @@ "description": "Parameters for creating a eventhub cluster resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -173,7 +173,7 @@ "default": { "description": "Event Hubs error response detailing why the Event Hubs Cluster create or update operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -192,16 +192,16 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { "name": "parameters", @@ -232,7 +232,7 @@ "default": { "description": "Event Hubs error response detailing why the Event Hubs Cluster update operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -251,16 +251,16 @@ "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/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -276,7 +276,7 @@ "default": { "description": "Event Hubs error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -291,16 +291,16 @@ "operationId": "Clusters_ListNamespaces", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "description": "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.", @@ -319,7 +319,7 @@ "default": { "description": "Event Hubs Cluster error response detailing why this operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -362,7 +362,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Event Hubs Cluster resource in List or Get operations." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..c485ea28d9f8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..68fd4f7ca8ae --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2018-01-01-preview", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..801342ade57b --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..4095c639f900 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..c71adb869dde --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/ipfilterrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json index 7382364c2424..2ce68eb88f9f 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json @@ -48,16 +48,16 @@ "description": "Gets a list of IP Filter rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,13 +93,13 @@ "description": "Creates or updates an IpFilterRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { "name": "parameters", @@ -111,10 +111,10 @@ "description": "The Namespace IpFilterRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an IpFilterRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an IpFilterRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -252,7 +252,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get IpFilterRules operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json index 0f2174cfb648..02608d7b5225 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json @@ -48,10 +48,10 @@ "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/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -87,13 +87,13 @@ "description": "Lists the available Namespaces within a resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -106,7 +106,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -129,10 +129,10 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -147,10 +147,10 @@ "description": "Parameters for creating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -172,7 +172,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -191,16 +191,16 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -216,7 +216,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -235,16 +235,16 @@ "description": "Gets the description of the specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -263,7 +263,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -281,10 +281,10 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters for updating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -321,7 +321,259 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/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/v1/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/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 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/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 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/v1/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/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -418,7 +670,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Namespace item in List or Get Operation" @@ -534,6 +786,159 @@ } }, "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "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" + } + } } }, "parameters": {} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json index bf62ec9aa4a3..8d3a1c5da7b5 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json @@ -48,16 +48,16 @@ "description": "Create or update NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "ServiceBus error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -97,16 +97,16 @@ "description": "Gets NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -119,7 +119,7 @@ "default": { "description": "ServiceBus error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -212,7 +212,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Description of topic resource." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json index 38b1a7b797f1..62e20b653170 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json @@ -48,7 +48,7 @@ "description": "Lists all of the available Event Hub REST API operations.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -61,7 +61,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json index bbadf4caec7d..4ad879168429 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json @@ -42,16 +42,16 @@ "operationId": "Configuration_Patch", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { "name": "parameters", @@ -91,7 +91,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -103,16 +103,16 @@ "operationId": "Configuration_Get", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "x-ms-examples": { @@ -131,7 +131,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json index fc417f5a93f5..e4936125742c 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json @@ -48,16 +48,16 @@ "description": "Gets a list of VirtualNetwork rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,19 +93,19 @@ "description": "Creates or updates an VirtualNetworkRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an VirtualNetworkRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -236,7 +236,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get VirtualNetworkRules operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json index 28d3422cedb3..b738f5d8b82e 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json @@ -48,16 +48,16 @@ "description": "Gets a list of authorization rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,13 +93,13 @@ "description": "Creates or updates an AuthorizationRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -111,10 +111,10 @@ "description": "The shared access AuthorizationRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an AuthorizationRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an AuthorizationRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -233,19 +233,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -258,7 +258,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -278,13 +278,13 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters required to regenerate the connection string." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -312,7 +312,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -332,19 +332,19 @@ "description": "Gets a list of authorization rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -357,7 +357,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -380,22 +380,22 @@ "description": "Gets an AuthorizationRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -408,7 +408,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -428,22 +428,22 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -456,7 +456,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -476,19 +476,19 @@ "description": "Gets the authorization rules for an Event Hub.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -501,7 +501,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -524,16 +524,16 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -545,10 +545,10 @@ "description": "The shared access AuthorizationRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -561,7 +561,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -579,22 +579,22 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -607,7 +607,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -625,22 +625,22 @@ "description": "Deletes an Event Hub AuthorizationRule.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -653,7 +653,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -673,22 +673,22 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -701,7 +701,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -721,16 +721,16 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -742,10 +742,10 @@ "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -758,7 +758,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -812,7 +812,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get AuthorizationRule operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json index d8b451acdd39..6ca247347f90 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json @@ -48,10 +48,10 @@ "description": "Check the give Namespace name availability.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -73,7 +73,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json index 3f9cf49a0dec..b74f5c4d0881 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json @@ -48,16 +48,16 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { "name": "parameters", @@ -69,10 +69,10 @@ "description": "Parameters supplied to create or update a consumer group resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -85,7 +85,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -103,22 +103,22 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -131,7 +131,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -149,22 +149,22 @@ "description": "Gets a description for the specified consumer group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -177,7 +177,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -197,25 +197,25 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/TopParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" } ], "responses": { @@ -228,7 +228,7 @@ "default": { "description": "Eventhub error response describing why the operation failed", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -266,7 +266,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Consumer group operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json index 68c26c6f4bba..9b32c93c837a 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json @@ -48,16 +48,16 @@ "description": "Check the give Namespace name availability.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -99,16 +99,16 @@ "description": "Gets all Alias(Disaster Recovery configurations)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -121,7 +121,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -144,13 +144,13 @@ "description": "Creates or updates a new Alias(Disaster Recovery configuration)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { "name": "parameters", @@ -162,10 +162,10 @@ "description": "Parameters required to create an Alias(Disaster Recovery configuration)" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -181,7 +181,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -199,19 +199,19 @@ "description": "Deletes an Alias(Disaster Recovery configuration)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -221,7 +221,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -239,19 +239,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -264,7 +264,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -284,19 +284,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -306,7 +306,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -326,19 +326,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -348,7 +348,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -455,7 +455,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json index 7018d4b01cf6..6a0c933a21cf 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json @@ -48,22 +48,22 @@ "description": "Gets all the Event Hubs in a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/TopParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" } ], "responses": { @@ -76,7 +76,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -99,13 +99,13 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { "name": "parameters", @@ -117,10 +117,10 @@ "description": "Parameters supplied to create an Event Hub resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -133,7 +133,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -151,19 +151,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -176,7 +176,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -194,19 +194,19 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -219,7 +219,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -336,7 +336,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Event Hub operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json index b58303be6651..455dbbeea42f 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json @@ -48,10 +48,10 @@ "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/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -87,13 +87,13 @@ "description": "Lists the available Namespaces within a resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -106,7 +106,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -129,10 +129,10 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -147,10 +147,10 @@ "description": "Parameters for creating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -172,7 +172,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -191,16 +191,16 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -216,7 +216,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -235,16 +235,16 @@ "description": "Gets the description of the specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -263,7 +263,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -281,10 +281,10 @@ "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/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters for updating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -321,7 +321,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -341,16 +341,16 @@ "description": "Gets messaging plan for specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -363,7 +363,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -484,7 +484,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Namespace item in List or Get Operation" @@ -523,7 +523,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Messaging Plan for the namespace" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json index edb72a67288c..ce564ce00c3d 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json @@ -48,16 +48,16 @@ "description": "Create or update NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -97,16 +97,16 @@ "description": "Gets NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -119,7 +119,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -139,16 +139,16 @@ "description": "Gets list of NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -161,7 +161,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -257,7 +257,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Description of NetworkRuleSet resource." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json index 967a75365837..3766fecc4d77 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json @@ -48,7 +48,7 @@ "description": "Lists all of the available Event Hub REST API operations.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -61,7 +61,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json index 1d69a375178a..28e64afd14e3 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json @@ -51,13 +51,13 @@ "description": "Gets the available Regions for a given sku", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkuNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -101,7 +101,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Messaging Region" diff --git a/specification/eventhub/resource-manager/common/v1/definitions.json b/specification/eventhub/resource-manager/common/v1/definitions.json new file mode 100644 index 000000000000..780fed1348d1 --- /dev/null +++ b/specification/eventhub/resource-manager/common/v1/definitions.json @@ -0,0 +1,229 @@ +{ + "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": { + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Definition of resource." + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "description": "The resource definition.", + "x-ms-azure-resource": true + }, + "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": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the resource group within the azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Namespace name" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The PrivateEndpointConnection name" + }, + "EventHubNameParameter": { + "name": "eventHubName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method", + "description": "The Event Hub name" + }, + "ConsumerGroupNameParameter": { + "name": "consumerGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The consumer group name" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The name of the Event Hubs Cluster." + }, + "IpFilterRuleNameParameter": { + "name": "ipFilterRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The IP Filter Rule name." + }, + "VirtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + } + } +} diff --git a/specification/eventhub/resource-manager/readme.azureresourceschema.md b/specification/eventhub/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3130b6b9875d --- /dev/null +++ b/specification/eventhub/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,74 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-eventhub-2018-01-01-preview + - tag: schema-eventhub-2017-04-01 + - tag: schema-eventhub-2015-08-01 + - tag: schema-eventhub-2014-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-eventhub-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +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/ipfilterrules-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json + +``` + +### Tag: schema-eventhub-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - 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/disasterRecoveryConfigs.json + - Microsoft.EventHub/stable/2017-04-01/eventhubs.json + - Microsoft.EventHub/stable/2017-04-01/namespaces.json + - Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json + - Microsoft.EventHub/stable/2017-04-01/operations.json + - Microsoft.EventHub/stable/2017-04-01/sku.json + +``` + +### Tag: schema-eventhub-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/stable/2015-08-01/EventHub.json + +``` + +### Tag: schema-eventhub-2014-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2014-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/stable/2014-09-01/EventHub.json + +``` diff --git a/specification/eventhub/resource-manager/readme.csharp.md b/specification/eventhub/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..8585030ec420 --- /dev/null +++ b/specification/eventhub/resource-manager/readme.csharp.md @@ -0,0 +1,35 @@ +# C# Compute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DNS. + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +## Common C# settings + +## 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: 2 + clear-output-folder: true +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).EventHubs +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/EventHubs/Management.EventHubs/Generated + +batch: + - tag: profile-hybrid-2020-09-01 +``` \ No newline at end of file diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md index a8da92c7327c..3d53fad16f41 100644 --- a/specification/eventhub/resource-manager/readme.md +++ b/specification/eventhub/resource-manager/readme.md @@ -29,6 +29,13 @@ openapi-type: arm tag: package-2018-01-preview ``` +## Suppression + +``` yaml +directive: + - suppress: R4007 + reason: DefaultErrorResponseSchema - we will be Implementing in new API version +``` ### Tag: package-2017-04 @@ -90,6 +97,24 @@ input-file: - Microsoft.EventHub/stable/2017-04-01/sku.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +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/disasterRecoveryConfigs.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 +``` + --- # Code Generation @@ -114,6 +139,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_event_hub'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js eventhub/resource-manager ``` @@ -143,44 +171,7 @@ 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! +## AzureResourceSchema -``` 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.EventHub/stable/2017-04-01/AuthorizationRules.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/consumergroups.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/eventhubs.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/namespaces.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/operations.json - - $(this-folder)/Microsoft.EventHub/stable/2017-04-01/sku.json - - $(this-folder)/Microsoft.EventHub/stable/2015-08-01/EventHub.json - - $(this-folder)/Microsoft.EventHub/stable/2014-09-01/EventHub.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json - - $(this-folder)/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/frontdoor/resource-manager/readme.azureresourceschema.md b/specification/frontdoor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ced50d8c16cb --- /dev/null +++ b/specification/frontdoor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,141 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2020-05-01 + - tag: schema-network-2020-04-01 + - tag: schema-network-2020-01-01 + - tag: schema-network-2019-11-01 + - tag: schema-network-2019-10-01 + - tag: schema-network-2019-05-01 + - tag: schema-network-2019-04-01 + - tag: schema-network-2019-03-01-preview + - tag: schema-network-2019-03-01 + - tag: schema-network-2018-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-05-01/network.json + - Microsoft.Network/stable/2020-05-01/frontdoor.json + +``` + +### Tag: schema-network-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json + - Microsoft.Network/stable/2020-04-01/network.json + - Microsoft.Network/stable/2020-04-01/frontdoor.json + +``` + +### Tag: schema-network-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-01-01/network.json + - Microsoft.Network/stable/2020-01-01/frontdoor.json + +``` + +### Tag: schema-network-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-11-01/networkexperiment.json + - Microsoft.Network/stable/2019-11-01/network.json + +``` + +### Tag: schema-network-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-05-01/frontdoor.json + - Microsoft.Network/stable/2019-05-01/network.json + +``` + +### Tag: schema-network-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-04-01/frontdoor.json + - Microsoft.Network/stable/2019-04-01/network.json + +``` + +### Tag: schema-network-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2018-08-01-preview/frontdoor.json + - Microsoft.Network/preview/2018-08-01-preview/network.json + - Microsoft.Network/preview/2018-08-01-preview/webapplicationfirewall.json + +``` diff --git a/specification/frontdoor/resource-manager/readme.java.md b/specification/frontdoor/resource-manager/readme.java.md new file mode 100644 index 000000000000..08cae300f7c0 --- /dev/null +++ b/specification/frontdoor/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +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.frontdoor +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-frontdoor +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-05 +``` + +### Tag: package-2020-05 and java + +These settings apply only when `--tag=package-2020-05 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.frontdoor.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/frontdoor/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md index 70eef2f16531..4901e53c7763 100644 --- a/specification/frontdoor/resource-manager/readme.md +++ b/specification/frontdoor/resource-manager/readme.md @@ -199,6 +199,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js frontdoor/resource-manager ``` @@ -226,18 +229,7 @@ See configuration in [readme.cli.md](./readme.cli.md) ## Java -These settings apply only when `--java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. - -``` yaml $(java) -java: - azure-arm: true - fluent: true - namespace: com.microsoft.azure.management.frontdoor - license-header: MICROSOFT_MIT_NO_CODEGEN - payload-flattening-threshold: 1 - output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-frontdoor -``` +See configuration in [readme.java.md](./readme.java.md) # Validation Suppressions @@ -257,45 +249,7 @@ directive: reason: Direct copy of ValidateCustomDomain API in CDN Resource Provider. ``` -## 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.Network/stable/2020-05-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkexperiment.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/network.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2020-01-01/network.json - - $(this-folder)/Microsoft.Network/stable/2020-01-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-05-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2019-05-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/network.json - - $(this-folder)/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json - - $(this-folder)/Microsoft.Network/preview/2018-08-01-preview/network.json - - $(this-folder)/Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/preview/2018-08-01-preview/webapplicationfirewall.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json index fb3c107c9f79..37e9a5185c2b 100644 --- a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json +++ b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json @@ -2720,7 +2720,8 @@ "type": "string", "format": "date-time", "description": "The time at which the directory object was deleted.", - "readOnly": true + "readOnly": true, + "x-nullable": true } }, "required": [ diff --git a/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..22f8040208d4 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-guestconfiguration-2020-06-25 + - tag: schema-guestconfiguration-2018-11-20 + - tag: schema-guestconfiguration-2018-06-30-preview + - tag: schema-guestconfiguration-2018-01-20-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-guestconfiguration-2020-06-25 and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2020-06-25' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-11-20 and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-11-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-06-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-06-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-01-20-preview and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-01-20-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json + +``` diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md index 2a96dbda74b9..a114e01a1f17 100644 --- a/specification/guestconfiguration/resource-manager/readme.md +++ b/specification/guestconfiguration/resource-manager/readme.md @@ -113,6 +113,9 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js guestconfiguration/resource-manager ``` @@ -130,30 +133,7 @@ csharp: clear-output-folder: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.GuestConfiguration/stable/2020-06-25/guestconfiguration.json - - $(this-folder)/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json - - $(this-folder)/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json - - $(this-folder)/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/hanaonazure/resource-manager/readme.azureresourceschema.md b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..22ee3b84d3de --- /dev/null +++ b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hanaonazure-2020-02-07-preview + - tag: schema-hanaonazure-2017-11-03-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hanaonazure-2020-02-07-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hanaonazure-2020-02-07-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json + +``` + +### Tag: schema-hanaonazure-2017-11-03-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hanaonazure-2017-11-03-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json + +``` diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md index 301fed2c8de8..eb1b84774518 100644 --- a/specification/hanaonazure/resource-manager/readme.md +++ b/specification/hanaonazure/resource-manager/readme.md @@ -67,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hanaonazure/resource-manager ``` ## Go @@ -109,28 +112,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json - - $(this-folder)/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md b/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1bb0e7808dae --- /dev/null +++ b/specification/hardwaresecuritymodules/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-hardwaresecuritymodules-2018-10-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hardwaresecuritymodules-2018-10-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hardwaresecuritymodules-2018-10-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json + +``` diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.md b/specification/hardwaresecuritymodules/resource-manager/readme.md index 59a76b0d23c6..422e0f3f94bf 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.md @@ -41,29 +41,10 @@ input-file: -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.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 -``` # Code Generation @@ -76,5 +57,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hardwaresecuritymodules/resource-manager ``` diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json index 51e8c92bb28a..59d1a3aabb58 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json @@ -66,11 +66,14 @@ "Create cluster with TLS 1.2": { "$ref": "./examples/CreateHDInsightClusterWithTLS12.json" }, - "Create cluster with custom network settings": { - "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json" - }, "Create cluster with encryption in transit": { "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json" + }, + "Create cluster with encryption at host": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json" + }, + "Create cluster with network properties": { + "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkProperties.json" } }, "parameters": [ @@ -1011,34 +1014,34 @@ }, "description": "The storage profile." }, - "NetworkSettings": { + "NetworkProperties": { + "description": "The network properties.", "properties": { - "publicNetworkAccess": { + "resourceProviderConnection": { "type": "string", - "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.", + "description": "The direction for the resource provider connection.", "enum": [ - "InboundAndOutbound", - "OutboundOnly" + "Inbound", + "Outbound" ], "x-ms-enum": { - "name": "PublicNetworkAccess", + "name": "ResourceProviderConnection", "modelAsString": true } }, - "outboundOnlyPublicNetworkAccessType": { + "privateLink": { "type": "string", - "description": "The mechanism through which the cluster will have outbound access to the public network.", + "description": "Indicates whether or not private link is enabled.", "enum": [ - "PublicLoadBalancer", - "UDR" + "Disabled", + "Enabled" ], "x-ms-enum": { - "name": "OutboundOnlyPublicNetworkAccessType", + "name": "PrivateLink", "modelAsString": true } } - }, - "description": "The network settings." + } }, "ClusterCreateProperties": { "description": "The cluster create parameters.", @@ -1103,9 +1106,9 @@ "type": "string", "description": "The minimal supported tls version." }, - "networkSettings": { - "$ref": "#/definitions/NetworkSettings", - "description": "The network settings." + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." } } }, @@ -1222,6 +1225,10 @@ "modelAsString": false } }, + "clusterId": { + "type": "string", + "description": "The cluster id." + }, "clusterDefinition": { "$ref": "#/definitions/ClusterDefinition", "description": "The cluster definition." @@ -1291,9 +1298,9 @@ "type": "string", "description": "The minimal supported tls version." }, - "networkSettings": { - "$ref": "#/definitions/NetworkSettings", - "description": "The network settings." + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." } }, "required": [ diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json new file mode 100644 index 000000000000..64f1d0817f75 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subId", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "clusterDefinition": { + "kind": "hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage", + "isDefault": true, + "container": "containername", + "key": "storage account key" + } + ] + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkProperties": { + "resourceProviderConnection": "Outbound", + "privateLink": "Enabled" + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterId": "8186508b6234470e9d16c9e8e13bd821", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", + "kind": "hadoop" + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkProperties": { + "resourceProviderConnection": "Outbound", + "privateLink": "Enabled" + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-06-09T12:25:43.48", + "quotaInfo": { + "coresUsed": 16 + }, + "tier": "Standard" + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json deleted file mode 100644 index 5214925f2139..000000000000 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "parameters": { - "clusterName": "cluster1", - "resourceGroupName": "rg1", - "api-version": "2015-03-01-preview", - "subscriptionId": "subId", - "parameters": { - "properties": { - "clusterVersion": "3.6", - "osType": "Linux", - "clusterDefinition": { - "kind": "hadoop", - "configurations": { - "gateway": { - "restAuthCredential.isEnabled": true, - "restAuthCredential.username": "admin", - "restAuthCredential.password": "**********" - } - } - }, - "storageProfile": { - "storageaccounts": [ - { - "name": "mystorage", - "isDefault": true, - "container": "containername", - "key": "storage account key" - } - ] - }, - "computeProfile": { - "roles": [ - { - "name": "headnode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser", - "password": "**********", - "sshProfile": { - "publicKeys": [ - { - "certificateData": "**********" - } - ] - } - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - }, - { - "name": "workernode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser", - "password": "**********", - "sshProfile": { - "publicKeys": [ - { - "certificateData": "**********" - } - ] - } - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - } - ] - }, - "networkSettings": { - "publicNetworkAccess": "OutboundOnly", - "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" - } - } - } - }, - "responses": { - "200": { - "headers": { - "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" - }, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", - "name": "cluster1", - "type": "Microsoft.HDInsight/clusters", - "location": "East US", - "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", - "tags": null, - "properties": { - "clusterVersion": "3.6.1000.67", - "osType": "Linux", - "clusterDefinition": { - "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", - "kind": "hadoop" - }, - "computeProfile": { - "roles": [ - { - "name": "headnode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser" - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - }, - { - "name": "workernode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser" - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - } - ] - }, - "networkSettings": { - "publicNetworkAccess": "OutboundOnly", - "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" - }, - "provisioningState": "Succeeded", - "clusterState": "Running", - "createdDate": "2020-06-09T12:25:43.48", - "quotaInfo": { - "coresUsed": 16 - }, - "tier": "Standard" - } - } - } - } -} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json new file mode 100644 index 000000000000..ccab7cf8a894 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "diskEncryptionProperties": { + "encryptionAtHost": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "diskEncryptionProperties": { + "vaultUri": null, + "keyName": null, + "keyVersion": null, + "encryptionAlgorithm": null, + "msiResourceId": null, + "encryptionAtHost": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateLinuxSparkSshPassword.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateLinuxSparkSshPassword.json index 3d3e06e8c212..69670aff13dc 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateLinuxSparkSshPassword.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateLinuxSparkSshPassword.json @@ -86,7 +86,7 @@ "osType": "Linux", "clusterDefinition": { "blueprint": "https://blueprints.azurehdinsight.net/hadoop-4.0.1000.1.1910270459.json", - "kind": "HADOOP", + "kind": "SPARK", "componentVersion": { "Hadoop": "3.1" } diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json index 87b6a7b87d82..321114224267 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json @@ -66,11 +66,14 @@ "Create cluster with TLS 1.2": { "$ref": "./examples/CreateHDInsightClusterWithTLS12.json" }, - "Create cluster with custom network settings": { - "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json" - }, "Create cluster with encryption in transit": { "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json" + }, + "Create cluster with encryption at host": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json" + }, + "Create cluster with network properties": { + "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkProperties.json" } }, "parameters": [ @@ -1011,34 +1014,34 @@ }, "description": "The storage profile." }, - "NetworkSettings": { + "NetworkProperties": { + "description": "The network properties.", "properties": { - "publicNetworkAccess": { + "resourceProviderConnection": { "type": "string", - "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.", + "description": "The direction for the resource provider connection.", "enum": [ - "InboundAndOutbound", - "OutboundOnly" + "Inbound", + "Outbound" ], "x-ms-enum": { - "name": "PublicNetworkAccess", + "name": "ResourceProviderConnection", "modelAsString": true } }, - "outboundOnlyPublicNetworkAccessType": { + "privateLink": { "type": "string", - "description": "The mechanism through which the cluster will have outbound access to the public network.", + "description": "Indicates whether or not private link is enabled.", "enum": [ - "PublicLoadBalancer", - "UDR" + "Disabled", + "Enabled" ], "x-ms-enum": { - "name": "OutboundOnlyPublicNetworkAccessType", + "name": "PrivateLink", "modelAsString": true } } - }, - "description": "The network settings." + } }, "ClusterCreateProperties": { "description": "The cluster create parameters.", @@ -1103,9 +1106,9 @@ "type": "string", "description": "The minimal supported tls version." }, - "networkSettings": { - "$ref": "#/definitions/NetworkSettings", - "description": "The network settings." + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." } } }, @@ -1222,6 +1225,10 @@ "modelAsString": false } }, + "clusterId": { + "type": "string", + "description": "The cluster id." + }, "clusterDefinition": { "$ref": "#/definitions/ClusterDefinition", "description": "The cluster definition." @@ -1291,9 +1298,9 @@ "type": "string", "description": "The minimal supported tls version." }, - "networkSettings": { - "$ref": "#/definitions/NetworkSettings", - "description": "The network settings." + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." } }, "required": [ @@ -1599,6 +1606,11 @@ "msiResourceId": { "type": "string", "description": "Resource ID of Managed Identity that is used to access the key vault." + }, + "encryptionAtHost": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not resource disk encryption is enabled." } } }, diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json new file mode 100644 index 000000000000..6a422264b767 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkProperties.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subId", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "clusterDefinition": { + "kind": "hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage", + "isDefault": true, + "container": "containername", + "key": "storage account key" + } + ] + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkProperties": { + "resourceProviderConnection": "Outbound", + "privateLink": "Enabled" + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterId": "8186508b6234470e9d16c9e8e13bd821", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", + "kind": "hadoop" + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkProperties": { + "resourceProviderConnection": "Outbound", + "privateLink": "Enabled" + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-06-09T12:25:43.48", + "quotaInfo": { + "coresUsed": 16 + }, + "tier": "Standard" + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json deleted file mode 100644 index cfd07c8507e9..000000000000 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "parameters": { - "clusterName": "cluster1", - "resourceGroupName": "rg1", - "api-version": "2018-06-01-preview", - "subscriptionId": "subId", - "parameters": { - "properties": { - "clusterVersion": "3.6", - "osType": "Linux", - "clusterDefinition": { - "kind": "hadoop", - "configurations": { - "gateway": { - "restAuthCredential.isEnabled": true, - "restAuthCredential.username": "admin", - "restAuthCredential.password": "**********" - } - } - }, - "storageProfile": { - "storageaccounts": [ - { - "name": "mystorage", - "isDefault": true, - "container": "containername", - "key": "storage account key" - } - ] - }, - "computeProfile": { - "roles": [ - { - "name": "headnode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser", - "password": "**********", - "sshProfile": { - "publicKeys": [ - { - "certificateData": "**********" - } - ] - } - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - }, - { - "name": "workernode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser", - "password": "**********", - "sshProfile": { - "publicKeys": [ - { - "certificateData": "**********" - } - ] - } - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - } - ] - }, - "networkSettings": { - "publicNetworkAccess": "OutboundOnly", - "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" - } - } - } - }, - "responses": { - "200": { - "headers": { - "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" - }, - "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", - "name": "cluster1", - "type": "Microsoft.HDInsight/clusters", - "location": "East US", - "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", - "tags": null, - "properties": { - "clusterVersion": "3.6.1000.67", - "osType": "Linux", - "clusterDefinition": { - "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", - "kind": "hadoop" - }, - "computeProfile": { - "roles": [ - { - "name": "headnode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser" - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - }, - { - "name": "workernode", - "targetInstanceCount": 2, - "hardwareProfile": { - "vmSize": "standard_d3" - }, - "osProfile": { - "linuxOperatingSystemProfile": { - "username": "sshuser" - } - }, - "virtualNetworkProfile": { - "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", - "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" - } - } - ] - }, - "networkSettings": { - "publicNetworkAccess": "OutboundOnly", - "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" - }, - "provisioningState": "Succeeded", - "clusterState": "Running", - "createdDate": "2020-06-09T12:25:43.48", - "quotaInfo": { - "coresUsed": 16 - }, - "tier": "Standard" - } - } - } - } -} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json new file mode 100644 index 000000000000..9251c4bfc1d0 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "diskEncryptionProperties": { + "encryptionAtHost": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "diskEncryptionProperties": { + "vaultUri": null, + "keyName": null, + "keyVersion": null, + "encryptionAlgorithm": null, + "msiResourceId": null, + "encryptionAtHost": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateLinuxSparkSshPassword.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateLinuxSparkSshPassword.json index 6601d4ee59d1..d1d96a29a019 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateLinuxSparkSshPassword.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateLinuxSparkSshPassword.json @@ -86,7 +86,7 @@ "osType": "Linux", "clusterDefinition": { "blueprint": "https://blueprints.azurehdinsight.net/hadoop-4.0.1000.1.1910270459.json", - "kind": "HADOOP", + "kind": "SPARK", "componentVersion": { "Hadoop": "3.1" } diff --git a/specification/hdinsight/resource-manager/readme.azureresourceschema.md b/specification/hdinsight/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..99c384687156 --- /dev/null +++ b/specification/hdinsight/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hdinsight-2018-06-01-preview + - tag: schema-hdinsight-2015-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hdinsight-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hdinsight-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json + - Microsoft.HDInsight/stable/2018-06-01-preview/applications.json + - Microsoft.HDInsight/stable/2018-06-01-preview/locations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/configurations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/extensions.json + - Microsoft.HDInsight/stable/2018-06-01-preview/scriptActions.json + - Microsoft.HDInsight/stable/2018-06-01-preview/operations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json + +``` + +### Tag: schema-hdinsight-2015-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hdinsight-2015-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json + - Microsoft.HDInsight/preview/2015-03-01-preview/applications.json + - Microsoft.HDInsight/preview/2015-03-01-preview/locations.json + - Microsoft.HDInsight/preview/2015-03-01-preview/configurations.json + - Microsoft.HDInsight/preview/2015-03-01-preview/extensions.json + - Microsoft.HDInsight/preview/2015-03-01-preview/scriptActions.json + - Microsoft.HDInsight/preview/2015-03-01-preview/operations.json + +``` diff --git a/specification/hdinsight/resource-manager/readme.go.md b/specification/hdinsight/resource-manager/readme.go.md index 0f22247259b0..c0639958fa2e 100644 --- a/specification/hdinsight/resource-manager/readme.go.md +++ b/specification/hdinsight/resource-manager/readme.go.md @@ -23,7 +23,7 @@ These settings apply only when `--tag=package-2018-06-preview --go` is specified Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2018-06-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-06-01-preview/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-06-01/$(namespace) ``` ### Tag: package-2015-03-preview and go diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md index 97f592973d92..53114925c2bd 100644 --- a/specification/hdinsight/resource-manager/readme.md +++ b/specification/hdinsight/resource-manager/readme.md @@ -132,6 +132,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hdinsight/resource-manager ``` ## Python @@ -208,41 +211,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.HDInsight/stable/2018-06-01-preview/cluster.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/applications.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/locations.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/configurations.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/extensions.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/scriptActions.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/operations.json - - $(this-folder)/Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/applications.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/locations.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/configurations.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/extensions.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/scriptActions.json - - $(this-folder)/Microsoft.HDInsight/preview/2015-03-01-preview/operations.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/CheckNameAvailabilityPost.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/CheckNameAvailabilityPost.json new file mode 100644 index 000000000000..4bcf5e0ea023 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/CheckNameAvailabilityPost.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-03-15", + "subscriptionId": "subid", + "checkNameAvailabilityInputs": { + "type": "Microsoft.HealthcareApis/services", + "name": "serviceName" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Service name is not available." + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationResultsGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationResultsGet.json new file mode 100644 index 000000000000..fc456dd9cd27 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationResultsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-03-15", + "subscriptionId": "subid", + "locationName": "westus", + "operationResultId": "exampleid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HealthcareApis/locations/westus/operationresults/exampleid", + "name": "servicename", + "status": "Requested", + "startTime": "2019-01-21T06:03:30.2716301Z", + "properties": {} + } + }, + "404": { + "body": { + "error": { + "code": "OperationResultNotFound", + "message": "The operation result was not found." + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationsList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationsList.json new file mode 100644 index 000000000000..fb6ef411d36a --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/OperationsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-03-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthcareApis/services/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/locations/operationresults/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operationresults", + "operation": "read", + "description": "Get the status of an asynchronous operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/checkNameAvailability/post", + "display": {}, + "origin": "user" + }, + { + "name": "Microsoft.HealthcareApis/Operations/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operations", + "operation": "read", + "description": "Get the list of operations supported by this Resource Provider." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreate.json new file mode 100644 index 000000000000..0913fe446c46 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreate.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-15", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + } + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + } + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreateMinimum.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreateMinimum.json new file mode 100644 index 000000000000..5623735dcb6d --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceCreateMinimum.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceName": "service2", + "resourceGroupName": "rg1", + "api-version": "2020-03-15", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": null + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceDelete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceDelete.json new file mode 100644 index 000000000000..6f463e67ae50 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-15", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceGet.json new file mode 100644 index 000000000000..ca5cf7e079ad --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceGet.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceList.json new file mode 100644 index 000000000000..a390808e92b9 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceList.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-03-15", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etag", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + } + } + } + ], + "nextLink": "https://host/subscriptions/subid/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceListByResourceGroup.json new file mode 100644 index 000000000000..18c57575d8f0 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServiceListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-03-15", + "subscriptionId": "subid", + "resourceGroupName": "rgname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/dddb8dcb-effb-4290-bb47-ce1e8440c729", + "name": "service1", + "location": "westus", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "tags": {}, + "etag": "etagvalue", + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + } + } + } + ], + "nextLink": "https://host/subscriptions/subid/resourceGroups/rgname/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServicePatch.json new file mode 100644 index 000000000000..f039be7c4ac7 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/examples/ServicePatch.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-15", + "subscriptionId": "subid", + "servicePatchDescription": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/healthcare-apis.json new file mode 100644 index 000000000000..8f52e2e545cf --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-15/healthcare-apis.json @@ -0,0 +1,989 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-03-15", + "title": "HealthcareApisClient", + "description": "Use this API to manage Microsoft HealthcareApis services in your Azure subscription." + }, + "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.HealthcareApis/services/{resourceName}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the metadata of a service instance.", + "operationId": "Services_Get", + "x-ms-examples": { + "Get metadata": { + "$ref": "./examples/ServiceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the service instance.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Resource" + ], + "description": "Create or update the metadata of a service instance.", + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Create or Update a service with all parameters": { + "$ref": "./examples/ServiceCreate.json" + }, + "Create or Update a service with minimum parameters": { + "$ref": "./examples/ServiceCreateMinimum.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "serviceDescription", + "in": "body", + "description": "The service instance metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is being updated; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "201": { + "description": "Created - Put request accepted and a new resource was created; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "Resource" + ], + "description": "Update the metadata of a service instance.", + "operationId": "Services_Update", + "x-ms-examples": { + "Patch service": { + "$ref": "./examples/ServicePatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "servicePatchDescription", + "in": "body", + "description": "The service instance metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesPatchDescription" + } + } + ], + "responses": { + "200": { + "description": "The tags for the resource were updated successfully.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Resource" + ], + "description": "Delete a service instance.", + "operationId": "Services_Delete", + "x-ms-examples": { + "Delete service": { + "$ref": "./examples/ServiceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a subscription.", + "operationId": "Services_List", + "x-ms-examples": { + "List all services in subscription": { + "$ref": "./examples/ServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the subscription.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a resource group.", + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "List all services in resource group": { + "$ref": "./examples/ServiceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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 service instances in the resource group.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/providers/Microsoft.HealthcareApis/operations": { + "get": { + "tags": [ + "Proxy" + ], + "description": "Lists all of the available Healthcare service REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/OperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability": { + "post": { + "tags": [ + "Proxy" + ], + "description": "Check if a service instance name is available.", + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/CheckNameAvailabilityPost.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "checkNameAvailabilityInputs", + "in": "body", + "description": "Set the name parameter in the CheckNameAvailabilityParameters structure to the name of the service instance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/ServicesNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the operation result for a long running operation.", + "operationId": "OperationResults_Get", + "x-ms-examples": { + "Get operation result": { + "$ref": "./examples/OperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "$ref": "#/parameters/operationResultId" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the operation result.", + "schema": { + "$ref": "#/definitions/OperationResultsDescription" + } + }, + "404": { + "description": "No operation result was found matching operationResultId.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "ServicesProperties": { + "description": "The properties of a service instance.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "enum": [ + "Deleting", + "Succeeded", + "Creating", + "Accepted", + "Verifying", + "Updating", + "Failed", + "Canceled", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "accessPolicies": { + "$ref": "#/definitions/ServiceAccessPoliciesInfo", + "description": "The access policies of the service instance." + }, + "cosmosDbConfiguration": { + "$ref": "#/definitions/ServiceCosmosDbConfigurationInfo", + "description": "The settings for the Cosmos DB database backing the service." + }, + "authenticationConfiguration": { + "$ref": "#/definitions/ServiceAuthenticationConfigurationInfo", + "description": "The authentication configuration for the service instance." + }, + "corsConfiguration": { + "$ref": "#/definitions/ServiceCorsConfigurationInfo", + "description": "The settings for the CORS configuration of the service instance." + }, + "exportConfiguration": { + "$ref": "#/definitions/ServiceExportConfigurationInfo", + "description": "The settings for the export operation of the service instance." + } + } + }, + "ServiceAccessPoliciesInfo": { + "description": "The access policies of the service instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAccessPolicyEntry" + } + }, + "ServiceAccessPolicyEntry": { + "description": "An access policy entry.", + "properties": { + "objectId": { + "description": "An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.", + "type": "string", + "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" + } + }, + "required": [ + "objectId" + ] + }, + "ServiceCosmosDbConfigurationInfo": { + "description": "The settings for the Cosmos DB database backing the service.", + "type": "object", + "properties": { + "offerThroughput": { + "type": "integer", + "description": "The provisioned throughput for the backing database.", + "readOnly": false, + "minimum": 400, + "maximum": 10000 + }, + "keyVaultKeyUri": { + "type": "string", + "description": "The URI of the customer-managed key for the backing database.", + "readOnly": false + } + } + }, + "ServiceAuthenticationConfigurationInfo": { + "description": "Authentication configuration information", + "type": "object", + "properties": { + "authority": { + "type": "string", + "description": "The authority url for the service", + "readOnly": false + }, + "audience": { + "type": "string", + "description": "The audience url for the service", + "readOnly": false + }, + "smartProxyEnabled": { + "type": "boolean", + "description": "If the SMART on FHIR proxy is enabled", + "readOnly": false + } + } + }, + "ServiceCorsConfigurationInfo": { + "description": "The settings for the CORS configuration of the service instance.", + "type": "object", + "properties": { + "origins": { + "type": "array", + "description": "The origins to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationOriginEntry" + } + }, + "headers": { + "type": "array", + "description": "The headers to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationHeaderEntry" + } + }, + "methods": { + "type": "array", + "description": "The methods to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationMethodEntry" + } + }, + "maxAge": { + "type": "integer", + "description": "The max age to be allowed via CORS.", + "readOnly": false, + "minimum": 0, + "maximum": 99999 + }, + "allowCredentials": { + "type": "boolean", + "description": "If credentials are allowed via CORS.", + "readOnly": false + } + } + }, + "ServiceExportConfigurationInfo": { + "description": "Export operation configuration information", + "type": "object", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The name of the default export storage account.", + "readOnly": false + } + } + }, + "ServiceCorsConfigurationOriginEntry": { + "description": "An origin for CORS.", + "type": "string", + "pattern": "^(?:(?:(?:[hH][tT][tT][pP](?:[sS]|))\\:\\/\\/(?:[a-zA-Z0-9-]+[.]?)+(?:\\:[0-9]{1,5})?|[*]))$" + }, + "ServiceCorsConfigurationHeaderEntry": { + "description": "A header for CORS.", + "type": "string" + }, + "ServiceCorsConfigurationMethodEntry": { + "description": "A method for CORS.", + "type": "string" + }, + "ServicesDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "description": "The common properties of a service.", + "$ref": "#/definitions/ServicesProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ServicesPatchDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "tags": { + "description": "Instance tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The common properties of a service.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "kind": { + "readOnly": false, + "type": "string", + "description": "The kind of the service.", + "enum": [ + "fhir", + "fhir-Stu3", + "fhir-R4" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": false + } + }, + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "etag": { + "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", + "type": "string" + }, + "identity": { + "type": "object", + "description": "Setting indicating whether the service has a managed identity associated with it.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the resource." + }, + "type": { + "description": "Type of identity being specified, currently SystemAssigned and None are allowed.", + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + } + } + } + }, + "x-ms-azure-resource": true, + "required": [ + "location", + "kind" + ] + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "description": "Object containing error details.", + "$ref": "#/definitions/ErrorDetailsInternal" + } + } + }, + "ErrorDetailsInternal": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "ServicesDescriptionListResult": { + "description": "A list of service description objects with a next link.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service description objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServicesDescription" + } + } + } + }, + "OperationListResult": { + "description": "A list of service operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service operations supported by the Microsoft.HealthcareApis resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "Default value is 'user,system'." + }, + "display": { + "description": "The information displayed about the operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.HealthcareApis" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: Services" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the service instance to check.", + "type": "string" + }, + "type": { + "description": "The fully qualified resource type which includes provider namespace.", + "type": "string" + } + }, + "required": [ + "name", + "type" + ] + }, + "ServicesNameAvailabilityInfo": { + "description": "The properties indicating whether a given service 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": "ServiceNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "OperationResultsDescription": { + "description": "The properties indicating the operation result of an operation on a service.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the operation returned.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the operation result.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the operation being performed.", + "enum": [ + "Canceled", + "Succeeded", + "Failed", + "Requested", + "Running" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "OperationResultStatus", + "modelAsString": true + } + }, + "startTime": { + "description": "The time that the operation was started.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "description": "Additional properties of the operation result." + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The location of the operation.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationResultId": { + "name": "operationResultId", + "in": "path", + "description": "The ID of the operation result to get.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/CheckNameAvailabilityPost.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/CheckNameAvailabilityPost.json new file mode 100644 index 000000000000..561363fae203 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/CheckNameAvailabilityPost.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "checkNameAvailabilityInputs": { + "type": "Microsoft.HealthcareApis/services", + "name": "serviceName" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Service name is not available." + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationResultsGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationResultsGet.json new file mode 100644 index 000000000000..fde20004ec95 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationResultsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "locationName": "westus", + "operationResultId": "exampleid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HealthcareApis/locations/westus/operationresults/exampleid", + "name": "servicename", + "status": "Requested", + "startTime": "2019-01-21T06:03:30.2716301Z", + "properties": {} + } + }, + "404": { + "body": { + "error": { + "code": "OperationResultNotFound", + "message": "The operation result was not found." + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationsList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationsList.json new file mode 100644 index 000000000000..847340234e90 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/OperationsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-03-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthcareApis/services/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/locations/operationresults/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operationresults", + "operation": "read", + "description": "Get the status of an asynchronous operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/checkNameAvailability/post", + "display": {}, + "origin": "user" + }, + { + "name": "Microsoft.HealthcareApis/Operations/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operations", + "operation": "read", + "description": "Get the list of operations supported by this Resource Provider." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..c06414badc55 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "groupName": "fhir" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateLinkResources/fhir", + "name": "fhir", + "type": "Microsoft.HealthcareApis/services/privateLinkResources", + "properties": { + "groupId": "fhir", + "requiredMembers": [ + "fhir" + ], + "requiredZoneNames": [ + "privatelink.azurehealthcareapis.com" + ] + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourcesListByService.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourcesListByService.json new file mode 100644 index 000000000000..f9af43fdaa2d --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/PrivateLinkResourcesListByService.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateLinkResources/fhir", + "name": "fhir", + "type": "Microsoft.HealthcareApis/services/privateLinkResources", + "properties": { + "groupId": "fhir", + "requiredMembers": [ + "fhir" + ], + "requiredZoneNames": [ + "privatelink.azurehealthcareapis.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreate.json new file mode 100644 index 000000000000..947de55f47aa --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreate.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-30", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreateMinimum.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreateMinimum.json new file mode 100644 index 000000000000..a1b076318036 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreateMinimum.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "service2", + "resourceGroupName": "rg1", + "api-version": "2020-03-30", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating", + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": null + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating", + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreatePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreatePrivateEndpointConnection.json new file mode 100644 index 000000000000..f86c1550025b --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceCreatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDelete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDelete.json new file mode 100644 index 000000000000..1e3a79bfe57c --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-30", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDeletePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..3b52695a9063 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGet.json new file mode 100644 index 000000000000..2e7effa38f29 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-30", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGetPrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..7d0c7462c1b5 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceList.json new file mode 100644 index 000000000000..847c27e5da81 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etag", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": "https://host/subscriptions/subid/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListByResourceGroup.json new file mode 100644 index 000000000000..8f4b65f563ed --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/dddb8dcb-effb-4290-bb47-ce1e8440c729", + "name": "service1", + "location": "westus", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "tags": {}, + "etag": "etagvalue", + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": "https://host/subscriptions/subid/resourceGroups/rgname/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListPrivateEndpointConnections.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListPrivateEndpointConnections.json new file mode 100644 index 000000000000..601c08a753e4 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServiceListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-03-30", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServicePatch.json new file mode 100644 index 000000000000..20295986af0a --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/examples/ServicePatch.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2020-03-30", + "subscriptionId": "subid", + "servicePatchDescription": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/healthcare-apis.json new file mode 100644 index 000000000000..2159e88dfc50 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2020-03-30/healthcare-apis.json @@ -0,0 +1,1312 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-03-30", + "title": "HealthcareApisClient", + "description": "Use this API to manage Microsoft HealthcareApis services in your Azure subscription." + }, + "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.HealthcareApis/services/{resourceName}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the metadata of a service instance.", + "operationId": "Services_Get", + "x-ms-examples": { + "Get metadata": { + "$ref": "./examples/ServiceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the service instance.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Resource" + ], + "description": "Create or update the metadata of a service instance.", + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Create or Update a service with all parameters": { + "$ref": "./examples/ServiceCreate.json" + }, + "Create or Update a service with minimum parameters": { + "$ref": "./examples/ServiceCreateMinimum.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "serviceDescription", + "in": "body", + "description": "The service instance metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is being updated; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "201": { + "description": "Created - Put request accepted and a new resource was created; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "Resource" + ], + "description": "Update the metadata of a service instance.", + "operationId": "Services_Update", + "x-ms-examples": { + "Patch service": { + "$ref": "./examples/ServicePatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "servicePatchDescription", + "in": "body", + "description": "The service instance metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesPatchDescription" + } + } + ], + "responses": { + "200": { + "description": "The tags for the resource were updated successfully.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Resource" + ], + "description": "Delete a service instance.", + "operationId": "Services_Delete", + "x-ms-examples": { + "Delete service": { + "$ref": "./examples/ServiceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a subscription.", + "operationId": "Services_List", + "x-ms-examples": { + "List all services in subscription": { + "$ref": "./examples/ServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the subscription.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a resource group.", + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "List all services in resource group": { + "$ref": "./examples/ServiceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$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 service instances in the resource group.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/providers/Microsoft.HealthcareApis/operations": { + "get": { + "tags": [ + "Proxy" + ], + "description": "Lists all of the available Healthcare service REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/OperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability": { + "post": { + "tags": [ + "Proxy" + ], + "description": "Check if a service instance name is available.", + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/CheckNameAvailabilityPost.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "checkNameAvailabilityInputs", + "in": "body", + "description": "Set the name parameter in the CheckNameAvailabilityParameters structure to the name of the service instance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/ServicesNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the operation result for a long running operation.", + "operationId": "OperationResults_Get", + "x-ms-examples": { + "Get operation result": { + "$ref": "./examples/OperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "$ref": "#/parameters/operationResultId" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the operation result.", + "schema": { + "$ref": "#/definitions/OperationResultsDescription" + } + }, + "404": { + "description": "No operation result was found matching operationResultId.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_ListByService", + "description": "Lists all private endpoint connections for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_List": { + "$ref": "./examples/ServiceListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_GetConnection": { + "$ref": "./examples/ServiceGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of the specified private endpoint connection associated with the service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/ServiceCreatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "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": "No Content - The private endpoint connection does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/ServiceDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByService", + "description": "Gets the private link resources that need to be created for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListGroupIds": { + "$ref": "./examples/PrivateLinkResourcesListByService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "description": "Gets a private link resource that need to be created for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "ServicesProperties": { + "description": "The properties of a service instance.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "enum": [ + "Deleting", + "Succeeded", + "Creating", + "Accepted", + "Verifying", + "Updating", + "Failed", + "Canceled", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "accessPolicies": { + "$ref": "#/definitions/ServiceAccessPoliciesInfo", + "description": "The access policies of the service instance." + }, + "cosmosDbConfiguration": { + "$ref": "#/definitions/ServiceCosmosDbConfigurationInfo", + "description": "The settings for the Cosmos DB database backing the service." + }, + "authenticationConfiguration": { + "$ref": "#/definitions/ServiceAuthenticationConfigurationInfo", + "description": "The authentication configuration for the service instance." + }, + "corsConfiguration": { + "$ref": "#/definitions/ServiceCorsConfigurationInfo", + "description": "The settings for the CORS configuration of the service instance." + }, + "exportConfiguration": { + "$ref": "#/definitions/ServiceExportConfigurationInfo", + "description": "The settings for the export operation of the service instance." + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "ServiceAccessPoliciesInfo": { + "description": "The access policies of the service instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAccessPolicyEntry" + } + }, + "ServiceAccessPolicyEntry": { + "description": "An access policy entry.", + "properties": { + "objectId": { + "description": "An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.", + "type": "string", + "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" + } + }, + "required": [ + "objectId" + ] + }, + "ServiceCosmosDbConfigurationInfo": { + "description": "The settings for the Cosmos DB database backing the service.", + "type": "object", + "properties": { + "offerThroughput": { + "type": "integer", + "description": "The provisioned throughput for the backing database.", + "readOnly": false, + "minimum": 400, + "maximum": 10000 + }, + "keyVaultKeyUri": { + "type": "string", + "description": "The URI of the customer-managed key for the backing database.", + "readOnly": false + } + } + }, + "ServiceAuthenticationConfigurationInfo": { + "description": "Authentication configuration information", + "type": "object", + "properties": { + "authority": { + "type": "string", + "description": "The authority url for the service", + "readOnly": false + }, + "audience": { + "type": "string", + "description": "The audience url for the service", + "readOnly": false + }, + "smartProxyEnabled": { + "type": "boolean", + "description": "If the SMART on FHIR proxy is enabled", + "readOnly": false + } + } + }, + "ServiceCorsConfigurationInfo": { + "description": "The settings for the CORS configuration of the service instance.", + "type": "object", + "properties": { + "origins": { + "type": "array", + "description": "The origins to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationOriginEntry" + } + }, + "headers": { + "type": "array", + "description": "The headers to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationHeaderEntry" + } + }, + "methods": { + "type": "array", + "description": "The methods to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationMethodEntry" + } + }, + "maxAge": { + "type": "integer", + "description": "The max age to be allowed via CORS.", + "readOnly": false, + "minimum": 0, + "maximum": 99999 + }, + "allowCredentials": { + "type": "boolean", + "description": "If credentials are allowed via CORS.", + "readOnly": false + } + } + }, + "ServiceExportConfigurationInfo": { + "description": "Export operation configuration information", + "type": "object", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The name of the default export storage account.", + "readOnly": false + } + } + }, + "ServiceCorsConfigurationOriginEntry": { + "description": "An origin for CORS.", + "type": "string", + "pattern": "^(?:(?:(?:[hH][tT][tT][pP](?:[sS]|))\\:\\/\\/(?:[a-zA-Z0-9-]+[.]?)+(?:\\:[0-9]{1,5})?|[*]))$" + }, + "ServiceCorsConfigurationHeaderEntry": { + "description": "A header for CORS.", + "type": "string" + }, + "ServiceCorsConfigurationMethodEntry": { + "description": "A method for CORS.", + "type": "string" + }, + "ServicesDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "description": "The common properties of a service.", + "$ref": "#/definitions/ServicesProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ServicesResource" + } + ] + }, + "ServicesPatchDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "tags": { + "description": "Instance tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ServicesPropertiesUpdateParameters", + "description": "The properties for updating a service instance.", + "x-ms-client-flatten": true + } + } + }, + "ServicesResource": { + "description": "The common properties of a service.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "kind": { + "readOnly": false, + "type": "string", + "description": "The kind of the service.", + "enum": [ + "fhir", + "fhir-Stu3", + "fhir-R4" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": false + } + }, + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "etag": { + "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", + "type": "string" + }, + "identity": { + "type": "object", + "description": "Setting indicating whether the service has a managed identity associated with it.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the resource." + }, + "type": { + "description": "Type of identity being specified, currently SystemAssigned and None are allowed.", + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + } + } + } + }, + "x-ms-azure-resource": true, + "required": [ + "location", + "kind" + ] + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "description": "Object containing error details.", + "$ref": "#/definitions/ErrorDetailsInternal" + } + } + }, + "ErrorDetailsInternal": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "ServicesDescriptionListResult": { + "description": "A list of service description objects with a next link.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service description objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServicesDescription" + } + } + } + }, + "OperationListResult": { + "description": "A list of service operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service operations supported by the Microsoft.HealthcareApis resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "Default value is 'user,system'." + }, + "display": { + "description": "The information displayed about the operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.HealthcareApis" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: Services" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "ServicesPropertiesUpdateParameters": { + "description": "The properties for updating a service instance.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the service instance to check.", + "type": "string" + }, + "type": { + "description": "The fully qualified resource type which includes provider namespace.", + "type": "string" + } + }, + "required": [ + "name", + "type" + ] + }, + "ServicesNameAvailabilityInfo": { + "description": "The properties indicating whether a given service 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": "ServiceNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "OperationResultsDescription": { + "description": "The properties indicating the operation result of an operation on a service.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the operation returned.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the operation result.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the operation being performed.", + "enum": [ + "Canceled", + "Succeeded", + "Failed", + "Requested", + "Running" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "OperationResultStatus", + "modelAsString": true + } + }, + "startTime": { + "description": "The time that the operation was started.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "description": "Additional properties of the operation result." + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The location of the operation.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationResultId": { + "name": "operationResultId", + "in": "path", + "description": "The ID of the operation result to get.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/healthcareapis/resource-manager/readme.azureresourceschema.md b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..daa2dfcc9c7d --- /dev/null +++ b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-healthcareapis-2020-03-30 + - tag: schema-healthcareapis-2020-03-15 + - tag: schema-healthcareapis-2019-09-16 + - tag: schema-healthcareapis-2018-08-20-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-healthcareapis-2020-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2020-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/stable/2020-03-30/healthcare-apis.json + +``` + +### Tag: schema-healthcareapis-2020-03-15 and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2020-03-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/stable/2020-03-15/healthcare-apis.json + +``` + +### Tag: schema-healthcareapis-2019-09-16 and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2019-09-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json + +``` + +### Tag: schema-healthcareapis-2018-08-20-preview and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2018-08-20-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json + +``` diff --git a/specification/healthcareapis/resource-manager/readme.go.md b/specification/healthcareapis/resource-manager/readme.go.md index 8d7829b97159..b47d6f3e2d80 100644 --- a/specification/healthcareapis/resource-manager/readme.go.md +++ b/specification/healthcareapis/resource-manager/readme.go.md @@ -13,9 +13,30 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-03-30 + - tag: package-2020-03 - tag: package-2019-09 - tag: package-2018-08-preview ``` + +### Tag: package-2020-03-30 and go + +These settings apply only when `--tag=package-2020-03-30 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03-30' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-30/$(namespace) +``` + +### Tag: package-2020-03 and go + +These settings apply only when `--tag=package-2020-03 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-15/$(namespace) +``` + ### Tag: package-2019-09 and go These settings apply only when `--tag=package-2019-09 --go` is specified on the command line. diff --git a/specification/healthcareapis/resource-manager/readme.java.md b/specification/healthcareapis/resource-manager/readme.java.md new file mode 100644 index 000000000000..18d1360da512 --- /dev/null +++ b/specification/healthcareapis/resource-manager/readme.java.md @@ -0,0 +1,75 @@ +## Java + +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.healthcareapis +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-healthcareapis +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-03-30 + - tag: package-2020-03 + - tag: package-2019-09 + - tag: package-2018-08-preview +``` + +### Tag: package-2020-03-30 and java + +These settings apply only when `--tag=package-2020-03-30 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-03-30' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.healthcareapis.v2020_03_30 + output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2020_03_30 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-03 and java + +These settings apply only when `--tag=package-2020-03 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-03' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.healthcareapis.v2020_03_15 + output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2020_03_15 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2019-09 and java + +These settings apply only when `--tag=package-2019-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.healthcareapis.v2019_09_16 + output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2019_09_16 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-08-preview and java + +These settings apply only when `--tag=package-2018-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.healthcareapis.v2018_08_20_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2018_08_20_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md index b9add5d92b09..5e7ac7bf9142 100644 --- a/specification/healthcareapis/resource-manager/readme.md +++ b/specification/healthcareapis/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for HealthcareApis. - - --- + ## Getting Started + To build the SDK for HealthcareApis, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,23 +15,40 @@ To build the SDK for HealthcareApis, 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 HealthcareApis service. ``` yaml title: HealthcareApisManagementClient description: Azure Healthcare APIs Client openapi-type: arm -tag: package-2019-09 +tag: package-2020-03-30 azure-arm: true ``` +### Tag: package-2020-03-30 + +These settings apply only when `--tag=package-2020-03-30` is specified on the command line. + +```yaml $(tag) == 'package-2020-03-30' +input-file: + - Microsoft.HealthcareApis/stable/2020-03-30/healthcare-apis.json +``` + +### Tag: package-2020-03 + +These settings apply only when `--tag=package-2020-03` is specified on the command line. + +```yaml $(tag) == 'package-2020-03' +input-file: + - Microsoft.HealthcareApis/stable/2020-03-15/healthcare-apis.json +``` ### Tag: package-2019-09 These settings apply only when `--tag=package-2019-09` is specified on the command line. @@ -52,7 +69,6 @@ input-file: # Code Generation - ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -65,7 +81,11 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js healthcareapis/resource-manager ``` + ## C# These settings apply only when `--csharp` is specified on the command line. @@ -80,6 +100,7 @@ csharp: output-folder: $(csharp-sdks-folder)/healthcareapis/Microsoft.Azure.Management.HealthcareApis/src/Generated clear-output-folder: true ``` + ## Python See configuration in [readme.python.md](./readme.python.md) @@ -94,76 +115,9 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -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.healthcareapis -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-healthcareapis -``` +See configuration in [readme.java.md](./readme.java.md) -### Java multi-api +## AzureResourceSchema -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2019-09 - - tag: package-2018-08-preview -``` - -### Tag: package-2019-09 and java - -These settings apply only when `--tag=package-2019-09 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.healthcareapis.v2019-09-16 - output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2019-09-16 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2018-08-preview and java - -These settings apply only when `--tag=package-2018-08-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2018-08-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.healthcareapis.v2018_08_20_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/healthcareapis/mgmt-v2018_08_20_preview -regenerate-manager: true -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.HealthcareApis/stable/2019-09-16/healthcare-apis.json - - $(this-folder)/Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json new file mode 100644 index 000000000000..1503a5844cc0 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json @@ -0,0 +1,1212 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-07-30-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.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute 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/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "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." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "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" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "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." + }, + "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": { + "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." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The machine extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "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." + } + }, + "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." + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json new file mode 100644 index 000000000000..662076fb9114 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json new file mode 100644 index 000000000000..860ebd816aef --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json new file mode 100644 index 000000000000..26f7a5c44e57 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/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.HybridCompute/machines/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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..689cbb023e87 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json new file mode 100644 index 000000000000..8f0a211d6c34 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json new file mode 100644 index 000000000000..b7bc22092de3 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..f9359557c3fb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..a51eff845c69 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json new file mode 100644 index 000000000000..4944e20150b5 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json new file mode 100644 index 000000000000..afe1f55d5faa --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json new file mode 100644 index 000000000000..713470d5b138 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json new file mode 100644 index 000000000000..8ba25706434d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json @@ -0,0 +1,1205 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-08-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.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "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." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "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." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "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." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "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." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + }, + "privateLinkScopedResources": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of private link scoped resources associated with this machine." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "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" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "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." + }, + "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": { + "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." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The machine extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "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." + } + }, + "parameters": {} +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json new file mode 100644 index 000000000000..11665bd285e8 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json new file mode 100644 index 000000000000..81ef4f179bc9 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json new file mode 100644 index 000000000000..21e731a8cee1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/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.HybridCompute/machines/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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..b4ed6ca14786 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json new file mode 100644 index 000000000000..871d9aeee1cb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json new file mode 100644 index 000000000000..008718dd4d85 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..1f451d855140 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..578067cfe6db --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json new file mode 100644 index 000000000000..69ba54c6543a --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json new file mode 100644 index 000000000000..ef06564af353 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..35015feb8d2d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..ce4874f2ad7d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..56a8b7d4e74f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "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/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name-2", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection.", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..e5537ca5b39a --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json new file mode 100644 index 000000000000..99edb39f0070 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview", + "groupName": "hybridcompute" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute", + "name": "hybridcompute", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "hybridcompute", + "requiredMembers": [ + "HybridCompute.Server", + "HybridCompute.K8sConfiguration", + "GuestConfig.DP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json new file mode 100644 index 000000000000..203972d0f2ca --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute", + "name": "hybridcompute", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "hybridcompute", + "requiredMembers": [ + "HybridCompute.ServerDP", + "HybridCompute.K8sConfigurationDP", + "HybridCompute.GuestConfigDP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json new file mode 100644 index 000000000000..2b177d893207 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json new file mode 100644 index 000000000000..aa2d586359e1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName1", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json new file mode 100644 index 000000000000..4363b54a9074 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name1", + "name": "scoped-resource-name1", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2", + "name": "scoped-resource-name2", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName2", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json new file mode 100644 index 000000000000..7e0e32acbb76 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview", + "parameters": { + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json new file mode 100644 index 000000000000..2975811bfdcc --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json new file mode 100644 index 000000000000..56a13d7cbf2f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json new file mode 100644 index 000000000000..c54013c0de07 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json new file mode 100644 index 000000000000..63e1a8e83692 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2019-10-17-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json new file mode 100644 index 000000000000..ca999f43b5cf --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json new file mode 100644 index 000000000000..396ef792e969 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus", + "tags": { + "Tag1": "Value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json new file mode 100644 index 000000000000..7b18b40dfedb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "PrivateLinkScopeTags": { + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json new file mode 100644 index 000000000000..f3dabfd2747b --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json new file mode 100644 index 000000000000..e128ff52eb6f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json @@ -0,0 +1,1239 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "x-ms-code-generation-settings": { + "name": "HybridComputeManagementClient" + }, + "description": "Azure Arc( Servers and K8s Clusters) API reference for Private Link's Scopes management.", + "version": "2020-08-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.HybridCompute/privateLinkScopes": { + "get": { + "description": "Gets a list of all Azure Arc PrivateLinkScopes within a subscription.", + "operationId": "PrivateLinkScopes_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopesList.json": { + "$ref": "./examples/PrivateLinkScopesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes": { + "get": { + "description": "Gets a list of Azure Arc PrivateLinkScopes within a resource group.", + "operationId": "PrivateLinkScopes_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/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": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeListByResourceGroup": { + "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}": { + "delete": { + "description": "Deletes a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successful request when deleting an Azure Arc PrivateLinkScope." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified PrivateLinkScope does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PrivateLinkScopesDelete": { + "$ref": "./examples/PrivateLinkScopesDelete.json" + } + } + }, + "get": { + "description": "Returns a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Azure Arc PrivateLinkScope definition.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeGet": { + "$ref": "./examples/PrivateLinkScopesGet.json" + } + } + }, + "put": { + "description": "Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.", + "operationId": "PrivateLinkScopes_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "parameters", + "description": "Properties that need to be specified to create or update a Azure Arc for Servers and Clusters PrivateLinkScope.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + } + ], + "responses": { + "200": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope is returned.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "201": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope was created and is returned.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeCreate": { + "$ref": "./examples/PrivateLinkScopesCreate.json" + }, + "PrivateLinkScopeUpdate": { + "$ref": "./examples/PrivateLinkScopesUpdate.json" + } + } + }, + "patch": { + "description": "Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.", + "operationId": "PrivateLinkScopes_UpdateTags", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "PrivateLinkScopeTags", + "description": "Updated tag information to set into the PrivateLinkScope instance.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Updating the Azure Arc PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeUpdateTagsOnly": { + "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_ListByPrivateLinkScope", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/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": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "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-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "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-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "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.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a private link scope.", + "operationId": "PrivateEndpointConnections_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a private link scope.": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources/{name}": { + "get": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Gets a scoped resource in a private link scope.", + "operationId": "PrivateLinkScopedResources_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private link scoped resource.": { + "$ref": "./examples/PrivateLinkScopedResourceGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateLinkScopedResources_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedResource" + } + } + ], + "responses": { + "200": { + "description": "Successfully create or updated a new Azure Arc scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "201": { + "description": "Successfully created a new Azure Arc scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a scoped resource in a private link scope.": { + "$ref": "./examples/PrivateLinkScopedResourceUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateLinkScopedResources_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully deleted scoped resource." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Scoped resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a scoped resource with a given name.": { + "$ref": "./examples/PrivateLinkScopedResourceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources": { + "get": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Gets all private endpoint connections on a private link scope.", + "operationId": "PrivateLinkScopedResources_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scoped resources in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of scoped resources in a private link scope.": { + "$ref": "./examples/PrivateLinkScopedResourceList.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkScopesResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "description": "Azure resource name", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "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 PrivateLinkScope instance." + }, + "HybridComputePrivateLinkScope": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "$ref": "#/definitions/HybridComputePrivateLinkScopeProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PrivateLinkScopesResource" + } + ], + "description": "An Azure Arc PrivateLinkScope definition." + }, + "HybridComputePrivateLinkScopeProperties": { + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "properties": { + "publicNetworkAccess": { + "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "provisioningState": { + "type": "string", + "description": "Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed.", + "readOnly": true + }, + "privateEndpointConnections": { + "readOnly": true, + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "HybridComputePrivateLinkScopeListResult": { + "description": "Describes the list of Azure Arc PrivateLinkScope resources.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of Azure Arc PrivateLinkScope definitions.", + "items": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to get the next set of Azure Arc PrivateLinkScope definitions if too many PrivateLinkScopes where returned in the result set." + } + } + }, + "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 + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "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": "Required DNS zone names of the the private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "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." + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointProperty": { + "description": "Private endpoint which the connection belongs to.", + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "description": "State of the private endpoint connection.", + "type": "object", + "required": [ + "status", + "description" + ], + "properties": { + "status": { + "description": "The private link service connection status.", + "type": "string" + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The actions required for private link service connection.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/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 + } + } + }, + "ScopedResourceListResult": { + "description": "A list of scoped resources in a private link scope.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ScopedResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ScopedResource": { + "description": "A private link scoped resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScopedResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ScopedResourceProperties": { + "description": "Properties of a private link scoped resource.", + "type": "object", + "properties": { + "linkedResourceId": { + "description": "The resource id of the scoped Azure monitor resource.", + "type": "string" + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponseCommon": { + "allOf": [ + { + "$ref": "#/definitions/ErrorResponseV2" + } + ], + "properties": { + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseCommon" + }, + "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": { + "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." + }, + "ErrorResponseV2": { + "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/ErrorResponseV2" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access policy to determine if Azure Arc agents can use public Azure Arc service endpoints. Defaults to disabled (access to Azure Arc services only via private link).", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints." + }, + { + "value": "Disabled", + "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link." + } + ] + } + } + }, + "parameters": { + "PrivateLinkScopeName": { + "name": "scopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Arc PrivateLinkScope resource.", + "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" + }, + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json new file mode 100644 index 000000000000..3b8a59c50a8a --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json @@ -0,0 +1,1221 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-08-02" + }, + "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.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the 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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "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." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "Get Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute 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/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "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." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "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" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "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." + }, + "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": { + "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." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "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": { + "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": { + "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." + } + }, + "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." + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json new file mode 100644 index 000000000000..9fd984c65ae1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-08-02" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json new file mode 100644 index 000000000000..3b19eabcec0d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json new file mode 100644 index 000000000000..7c582e273f3f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/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.HybridCompute/machines/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/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..1d1ddf766e4d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json new file mode 100644 index 000000000000..2376cf3566ae --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json new file mode 100644 index 000000000000..27caaa9aa0f1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..ea2e1d488be7 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..04511ecac2b0 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json new file mode 100644 index 000000000000..a86eabdc0f42 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json new file mode 100644 index 000000000000..b62c649e2bae --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02", + "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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json new file mode 100644 index 000000000000..8cf64191e1c7 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02", + "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.HybridCompute/machines/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 }\"}", + "protectedSettings": {}, + "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" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/readme.az.md b/specification/hybridcompute/resource-manager/readme.az.md new file mode 100644 index 000000000000..fe93ce29dfae --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.az.md @@ -0,0 +1,23 @@ +# AZ HybridCompute + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: connectedmachine + namespace: azure.mgmt.connectedmachine + package-name: azure-mgmt-connectedmachine +az-output-folder: $(azure-cli-extension-folder)/src/connectedmachine +python-sdk-output-folder: "$(az-output-folder)/azext_connectedmachine/vendored_sdks/connectedmachine" +directive: + - where: + subject: MachineExtension + parameter-name: name + set: + parameter-name: machine-name + - where: + subject: MachineExtension + parameter-name: extension-name + set: + parameter-name: name +``` diff --git a/specification/hybridcompute/resource-manager/readme.azureresourceschema.md b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ecf289d5125f --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,85 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybridcompute-2020-08-15-preview + - tag: schema-hybridcompute-2020-08-02 + - tag: schema-hybridcompute-2020-07-30-preview + - tag: schema-hybridcompute-2019-12-12 + - tag: schema-hybridcompute-2019-08-02 + - tag: schema-hybridcompute-2019-03-18 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybridcompute-2020-08-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-08-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json + - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json + +``` + +### Tag: schema-hybridcompute-2020-08-02 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-08-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2020-07-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-07-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-12-12 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-12-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-08-02 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-08-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-03-18 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-03-18' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json + +``` diff --git a/specification/hybridcompute/resource-manager/readme.cli.md b/specification/hybridcompute/resource-manager/readme.cli.md index 98ef22df6da5..5a59b0080270 100644 --- a/specification/hybridcompute/resource-manager/readme.cli.md +++ b/specification/hybridcompute/resource-manager/readme.cli.md @@ -1,27 +1,31 @@ - -# Dns -This directory contains the Cli common model for the Dns service. +# CLI HybridCompute + +This directory contains the Cli common model for the Hybrid Compute service. > Metadata ``` yaml -# Migrated from Powershell's readme - title: 'ConnectedMachine' cli: cli-directive: - select: 'operationGroup' where: - operatoinGroup: 'operations' + operationGroup: 'operations' hidden: true - select: 'operation' where: operationGroup: 'machines' operation: '(reconnect|createOrUpdate|update)' removed: true - - select: 'operation' - where: + - where: + param: 'autoUpgradeMinorVersion' + alias: + - auto_upgrade_minor + - where: operationGroup: 'machineExtensions' - operation: '(createOrUpdate|update|delete|get|list)' - removed: true -``` \ No newline at end of file + param: 'extensionName' + alias: + - n + - extension_name + - name +``` diff --git a/specification/hybridcompute/resource-manager/readme.csharp.md b/specification/hybridcompute/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..463af704cda6 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.csharp.md @@ -0,0 +1,22 @@ +# C# HybridCompute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for HybridCompute. + +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 + namespace: Microsoft.Azure.Management.HybridCompute + output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated + clear-output-folder: true +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.go.md b/specification/hybridcompute/resource-manager/readme.go.md new file mode 100644 index 000000000000..85441e52dba6 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.go.md @@ -0,0 +1,42 @@ +# Go HybridCompute + +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 + namespace: hybridcompute + + directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +## Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-12 + - tag: package-2020-08-02 +``` + +### Tag: package-2020-08-02 and go + +These settings apply only when `--tag=package-2020-08-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-08-02' && $(go) +output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2020-08-02/hybridcompute +``` + +### Tag: package-2019-12 and go + +These settings apply only when `--tag=package-2019-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2019-12' && $(go) +output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2019-12-12/hybridcompute +``` diff --git a/specification/hybridcompute/resource-manager/readme.java.md b/specification/hybridcompute/resource-manager/readme.java.md new file mode 100644 index 000000000000..f33fbaa677cb --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.java.md @@ -0,0 +1,55 @@ +# Java HybridCompute + +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.hybridcompute +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +## Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2019-12 + - tag: package-2020-08-02 +``` + +## Tag: package-2019-12 and java + +These settings apply only when `--tag=package-2019-12 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12 + output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12 + +regenerate-manager: true +generate-interface: true +``` + +## Tag: package-2020-08-02 and java + +These settings apply only when `--tag=package-2020-08-02 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-02' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.hybridcompute.v2020_08_02 + output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2020_08_02 + +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/hybridcompute/resource-manager/readme.md b/specification/hybridcompute/resource-manager/readme.md index e5c4d2515794..894728ac0028 100644 --- a/specification/hybridcompute/resource-manager/readme.md +++ b/specification/hybridcompute/resource-manager/readme.md @@ -1,13 +1,13 @@ # HybridCompute - + > see https://aka.ms/autorest This is the AutoRest configuration file for HybridCompute RP. +--- +## Getting Started ---- -## Getting Started To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,30 @@ To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/aut To see additional help and options, run: > `autorest --help` + --- ## Configuration -### Basic Information +### Basic Information + These are the global settings for the HybridCompute API. ``` yaml openapi-type: arm -tag: package-2019-12 +tag: package-2020-08-02 ``` + +### Tag: package-preview-2020-08 + +These settings apply only when `--tag=package-preview-2020-08` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-08' +input-file: + - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json + - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json +``` ### Tag: package-2019-03 These settings apply only when `--tag=package-2019-03` is specified on the command line. @@ -54,7 +66,26 @@ input-file: - Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json ``` +### Tag: package-2020-07-30-preview + +These settings apply only when `--tag=package-2020-07-30-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-30-preview' +input-file: +- Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json +``` + +### Tag: package-2020-08-02 + +These settings apply only when `--tag=package-2020-08-02` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-02' +input-file: +- Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json +``` + --- + # Code Generation ## Swagger to SDK @@ -69,186 +100,47 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybridcompute/resource-manager ``` --- -## 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 - namespace: Microsoft.Azure.Management.HybridCompute - output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated - clear-output-folder: true -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` - -## PowerShell - -``` yaml $(powershell) -powershell: - namespace: Microsoft.Azure.Management.HybridCompute - output-folder: generated - clear-output-folder: true -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` - -## 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) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.hybridcompute - package-name: azure-mgmt-hybridcompute - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` - -## Go +## AzureResourceSchema -These settings apply only when `--go` is specified on the command line. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` yaml $(go) -go: - license-header: MICROSOFT_APACHE_NO_VERSION - clear-output-folder: true - namespace: hybridcompute -``` +## az CLI +See configuration in [readme.az.md](./readme.az.md) and [readme.cli.md](./readme.cli.md) -### Go multi-api +## C# -``` yaml $(go) && $(multiapi) -batch: - - tag: package-2019-12 -``` +See configuration in [readme.csharp.md](./readme.csharp.md) -### Tag: package-2019-12 and go +## Go -These settings apply only when `--tag=package-2019-12 --go` is specified on the command line. -Please also specify `--go-sdk-folder=`. - -``` yaml $(tag)=='package-2019-12' && $(go) -output-folder: $(go-sdk-folder)/services/preview/hybridcompute/mgmt/2019-12-12/hybridcompute -``` +See configuration in [readme.go.md](./readme.go.md) ## Java -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.hybridcompute -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute -``` +See configuration in [readme.java.md](./readme.java.md) -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2019-12 -``` - -### Tag: package-2019-12 and java - -These settings apply only when `--tag=package-2019-12 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12 - output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12 - -regenerate-manager: true -generate-interface: true -``` - -## Multi-API/Profile support for AutoRest v3 generators +## PowerShell -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in the [Azure PowerShell repo](https://github.com/Azure/azure-powershell/tree/generation/src/ConnectedMachine) -This block is updated by an automatic script. Edits may be lost! +## Python -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +See configuration in [readme.python.md](./readme.python.md) -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json - - $(this-folder)/Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json - - $(this-folder)/Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json +## Ruby -``` +See configuration in [readme.ruby.md](./readme.ruby.md) -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. +## TypeScript -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.typescript](./readme.typescript.md) diff --git a/specification/hybridcompute/resource-manager/readme.python.md b/specification/hybridcompute/resource-manager/readme.python.md new file mode 100644 index 000000000000..8a2abe1db917 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.python.md @@ -0,0 +1,36 @@ +# Python HybridCompute + +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.hybridcompute + package-name: azure-mgmt-hybridcompute + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.ruby.md b/specification/hybridcompute/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..f92be0b96725 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.ruby.md @@ -0,0 +1,14 @@ +## Ruby HybridCompute + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_hybridcompute +azure-arm: true + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.typescript.md b/specification/hybridcompute/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..f069d08bc706 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.typescript.md @@ -0,0 +1,24 @@ +## TypeScript HybridCompute + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +## Common TypeScript settings + +``` yaml $(typescript) +typescript: + azure-arm: true + generate-metadata: true + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +``` yaml $(typescript) && !$(profile) + package-name: "@azure/arm-hybridcompute" + output-folder: "$(typescript-sdks-folder)/sdk/hybridcompute/arm-hybridcompute" + clear-output-folder: true +``` diff --git a/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3bbb7db8e693 --- /dev/null +++ b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybriddata-2019-06-01 + - tag: schema-hybriddata-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybriddata-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-hybriddata-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridData/stable/2019-06-01/hybriddata.json + +``` + +### Tag: schema-hybriddata-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-hybriddata-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridData/stable/2016-06-01/hybriddata.json + +``` diff --git a/specification/hybriddatamanager/resource-manager/readme.md b/specification/hybriddatamanager/resource-manager/readme.md index d05458e528e2..d692511784d7 100644 --- a/specification/hybriddatamanager/resource-manager/readme.md +++ b/specification/hybriddatamanager/resource-manager/readme.md @@ -82,6 +82,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_hybriddatamanager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybriddatamanager/resource-manager ``` @@ -150,28 +153,7 @@ python: output-folder: $(python-sdks-folder)/azure-mgmt-hybriddatamanager ``` -## 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.HybridData/stable/2019-06-01/hybriddata.json - - $(this-folder)/Microsoft.HybridData/stable/2016-06-01/hybriddata.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json index d5551cc9c0ae..b3526469df07 100644 --- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json @@ -46,13 +46,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ClusterNamePathParam" @@ -83,7 +83,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -109,13 +109,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ClusterNamePathParam" @@ -140,7 +140,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -159,13 +159,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ClusterNamePathParam" @@ -181,7 +181,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -200,13 +200,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ClusterNamePathParam" @@ -225,7 +225,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -246,20 +246,32 @@ "x-ms-examples": { "ListClusterUserCredentialsExample": { "$ref": "./examples/ConnectedClustersListClusterCredentialsResult.json" + }, + "ListClusterUserCredentialsNonAadExample": { + "$ref": "./examples/ConnectedClustersListClusterCredentialsResultNonAad.json" } }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ClusterNamePathParam" + }, + { + "in": "body", + "required": false, + "name": "ClientAuthenticationDetails", + "schema": { + "$ref": "#/definitions/AuthenticationDetails" + }, + "description": "Authentication parameters supplied by the user to fetch credentials for accessing the cluster." } ], "responses": { @@ -272,7 +284,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -293,13 +305,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -312,7 +324,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -336,10 +348,10 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -352,7 +364,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -370,7 +382,7 @@ ], "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -383,7 +395,7 @@ "default": { "description": "Resource Provider error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -485,7 +497,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], "description": "Represents a connected cluster." @@ -533,7 +545,8 @@ "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." }, "aadProfile": { - "$ref": "#/definitions/ConnectedClusterAADProfile" + "$ref": "#/definitions/ConnectedClusterAADProfile", + "description": "AAD profile of the connected cluster." }, "kubernetesVersion": { "readOnly": true, @@ -551,9 +564,11 @@ "description": "Version of the agent running on the connected cluster resource" }, "provisioningState": { - "$ref": "#/definitions/ConnectedClusterProvisioningState" + "$ref": "#/definitions/ConnectedClusterProvisioningState", + "description": "Provisioning state of the connected cluster resource." } - } + }, + "description": "Properties of the connected cluster." }, "CredentialResults": { "properties": { @@ -605,7 +620,39 @@ "type": "string", "description": "The server app id to access AD server" } - } + }, + "description": "AAD profile of the connected cluster" + }, + "AuthenticationDetails": { + "type": "object", + "required": [ + "authenticationMethod", + "value" + ], + "properties": { + "authenticationMethod": { + "type": "string", + "description": "The mode of client authentication.", + "enum": [ + "Token" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "value": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "Authentication token." + } + }, + "description": "Authentication token value." + } + }, + "description": "Authentication details of the user" }, "ConnectedClusterProvisioningState": { "type": "string", @@ -649,32 +696,8 @@ "type": "string", "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." } - } - }, - "ErrorResponse": { - "description": "The error response that indicates why an operation has failed.", - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/ErrorDetails" - } - } - }, - "ErrorDetails": { - "description": "The error response details containing error code and error message", - "type": "object", - "properties": { - "code": { - "description": "The error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "The error message.", - "type": "string", - "readOnly": true - } - } + }, + "description": "Properties which can be patched on the connected cluster resource." } }, "parameters": { diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/examples/ConnectedClustersListClusterCredentialsResultNonAad.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/examples/ConnectedClustersListClusterCredentialsResultNonAad.json new file mode 100644 index 000000000000..c453bcbf273c --- /dev/null +++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2020-01-01-preview/examples/ConnectedClustersListClusterCredentialsResultNonAad.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5", + "resourceGroupName": "k8sc-rg", + "clusterName": "testCluster", + "api-version": "2020-01-01-preview", + "ClientAuthenticationDetails": { + "authenticationMethod": "Token", + "value": { + "token": "2c64fr2d61daffd8684bda773f6a478e1e5879ae15fdd3d54584cd5350c6ae139a0b7998a76f1a97e8b7ca052bb20ef4f9ce037d9a323fc161fb40b895e9b0f3" + } + } + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6CiAgLSBjbHVzdGVyOgogICAgICBjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaDJWRU5EUW1GWFowRjNTVUpCWjBsVVlYZEJRVUV5VkhWQlRYaEJhVWx5UldsQlFVRkJRVUZFV2tSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSYzBaQlJFSlFUVkZ6ZDBOUldVUldVVkZIUlhkS1ZsVjZSV1ZOUW5kSFFURlZSVU5vVFZaVVYyeHFZMjA1ZW1JeVdqQkpSVTUyWTI1Q2RtTnRSakJoVnpsMVRWTkJkMGhuV1VSV1VWRkVSWGhrVG1GWFRubGlNMDUyV201UloxVnNUa0pKUmxKTlZYbENSRkZUUVhkTlZFRmxSbmN3ZVUxRVFUUk5hbU40VFdwTmVFNVVXbUZHZHpCNVRWUkJORTFxWTNoTmFrMTRUbFJhWVUxRFdYaEtSRUZwUW1kT1ZrSkJUVTFIZVc5MVlYcG9lbGt5T1hWaWJWWnFaRU0xTUZwWVRqQk1iVVkyWkZoS2JFeHRUblppVkVORFFWTkpkMFJSV1VwTGIxcEphSFpqVGtGUlJVSkNVVUZFWjJkRlVFRkVRME5CVVc5RFoyZEZRa0ZOU0VwVU0wZEtXbWhMTm5KaVVHSm9XRWN6V21SU05HVlhNSGhSVmxVclIwTjVXSEFyY0VwRFNtUjBhbGgyTjNwMFEzTnJRV0ZaZDJobmQyMHpOMGhFVkVWamNFVlFjR1p6TDJSSFdsQktiek5vU0ZOemVGaENUMUJXYUVsVVRHZFBSa1E0YW5BMVlWZG1kVXA0WWsxUFNqZ3dObWxST0VkT1NVdEZURGM1ZDFkMVNWcG5MemhCWTBZeVNEWnJTMDlWVVhJdmVFMWFjVWx1WW5sQk1XVmhPVW8xTmpKbVNVODRUbEp2YWxORVRFUlBWRzFyWTFaYVdHcHlTaTlsYW1wclVVMUhiV0YyT1hreE9EQjJUVkZ5TTBjM2FXZ3Jkell2VFZocGVWWkpLMGxhY3pSaGVXVTJhREo0VDA5VlNYQnRWVTQ0UlhVNWIwY3ZTSGRHV2swemJHWnBkR0ZQZUhsblEydHBNV2R0VFRsd09FcHhNMVIyVVRSbU9YSnBRVWRUVFhaWWVsSlpTa2hOU2toVVRtZFZhV1pZVjFWb1VFWTJWMkZGTWxwbFdVWkdOV1ozU0U5MlVYRnFSa2tyUlZWS1JscE1kekJEUVhkRlFVRmhUME5CTjJ0M1oyZFBNVTFKU1VKQmQxbExTM2RaUWtKQlNGZGxVVWxGUVdkVFFqbEJVMEk0VVVSMlFVaFZRVGxzZVZWTU9VWXpUVU5KVlZaQ1owbE5TbEpYYW5WT1RrVjRhM3AyT1RoTlRIbEJUSHBGTjNoYVQwMUJRVUZHTUV3dlFuTjNRVUZCUWtGTlFWSnFRa1ZCYVVJMFpWSlVTMHhZY1hsM09HazFMeTlyVmtaNWNrTlhZMFZtY0VaV2NGUlZSVFIzYlVNME1rZHhSMkpCU1dkTkswVllkRWhtV0Rrd05WVklZall3Y1hKUlEzUTRibkZhTkUxamRVUjNOMlJaZVhwdGJFc3pja05SUVdSblFtTXpSVTlUTDNWaGNsSlZVM2hZY0hKVlZuVlpVVTR2ZGxZcmEyWmpiMWhQVlhOc04yMDVjMk5QZVdkQlFVRllVWFk0UjNwd1FVRkJSVUYzUWtoTlJWVkRTVVZZYTFwcWMyOUNVamhWZEc5blQwbFhWeXQyVTFOQ2NWcEViRGxIVEVRME1uWXdNR0ZXTkRVMVF6RkJhVVZCZDI1aE4zaDVWRUZJUTBJemNqVTBSSG93WnpKMVJHWktNa2ROUVdod2RuRnJiSGN5YXpka1VrMVdZM2RLZDFsS1MzZFpRa0pCUjBOT2VGVkxRa0p2ZDBkRVFVdENaMmR5UW1kRlJrSlJZMFJCVkVGTFFtZG5ja0puUlVaQ1VXTkVRV3BCSzBKbmEzSkNaMFZGUVZsSk0wWlJZMFZOVkVGMlFtbGpja0puUlVWQldVa3pSbEZwU0RKdldqRm5LemRhUVZsTVNtaFNkVUowV2pWb2FHWlVjbGxKUm1Sb1dXRlBVVmxtUTIxR1FVTkJWMUZEUVZOVmQyZFpZMGREUTNOSFFWRlZSa0ozUlVKQ1NITjNaVlJDVkVKblozSkNaMFZHUWxGamQwRnZXa2hoU0ZJd1kwUnZka3d6WkROa2VUVjBZVmRPZVdJelRuWmFibEYxV1RJNWRFd3pRbkpoVXpsMFl6Sk9kbU51UVhaVVYyeHFZMjA1ZW1JeVdqQktWRWwzVld4T1FrcFVTWGRXUlhoVVNsUkpkMUV3Uld4TmFrRjNUVk0xYW1OdVVYZEpaMWxKUzNkWlFrSlJWVWhOUVVkSFJtMW9NR1JJUVRaTWVUbDJXVE5PZDB4dE1YcGlNazU2WTBNMWFtSXlNSGRJVVZsRVZsSXdUMEpDV1VWR1N6ZFZhQ3M1WkdnNUwxRjFZM0ZKTlVFNVJHc3djMlpzTTFsVFRVRnpSMEV4VldSRWQxRkZRWGRKUlhORVFrSkNaMDVXU0ZKRlJVOXFRVFJuYUhOeFRHMXpOR015VG5aaWJUVnNXVE5SZFdSSFZucGtRelZvWlc1V2VWcFROV3BpTWpKRFIxZHpOR015VG5aaWJUVnNXVE5SZFdSSFZucGtRelZvWlc1V2VWcFROV3BpTWpCM1oySkJSMEV4VldSSWQxTkNjVVJEUW5CVVEwSnZjVU5DYmpaRFFtNUpXazVoU0ZJd1kwUnZka3d5TVhwWk0wcHpURzB4Y0ZrelNuWmpNamx0WkVNMWFtSXlNSFpqUjNSd1RESXhlbGt5T1hsalF6bHFZMjEzZGxSWGJHcGpiVGw2WWpKYU1FcFVTWGRWYkU1Q1NsUkpkMVpGZUZSS1ZFbDNVVEJGYkUxcVFYZE5VelZxWTIxNVIxTXlhREJrU0VFMlRIazVhbU50ZDNWaVYyeHFZMjA1ZW1JeVdqQk1iVTUyWWxNNWQyRXlhM1ppV0U1cVlqTktkMHd5VG5saVF6bE9ZVmRPZVdJelRuWmFibEZzVFdwQ1UxVXdSV3hOYWtKVlZFWk5iRTFxUWtSUlUxVjVUVVJCZUV4dFRubGlSRUpZUW1kT1ZraFRRVVZWUkVKUFRVVkpSME5UYzBkQlVWRkNaMnBqY1VGVVFURk5SRTFIUTBOelIwRlJWVVpDZDBsQ1JtbGtiMlJJVW5kUGFUaDJaRE5rTTB4dE1YQlpNMHAyWXpJNWJXUkROV3BpTWpCMlkwZDBjRXd5TVhwWk1qbDVZME01YW1OSVRYZERRVmxIV2pSRlRVRlJTVUpOUWpoSFFURlZaRWwzVVZsTlFtRkJSa3hXTWtSRVFWSjZjMlZUVVdzeFRYZ3hkM041UzJ0Tk5rRjBhMDFDTUVkQk1WVmtTbEZSVjAxQ1VVZERRM05IUVZGVlJrSjNUVUpDWjJkeVFtZEZSa0pSWTBSQmFrRk9RbWRyY1docmFVYzVkekJDUVZGelJrRkJUME5CWjBWQlJWZHRUVmRzWjJ3NGQzSlRUWHBQTW1Ob1pVbHZhbkZRVjBNd2FVVlVkSGRZYVVreWRqVmtWVkV5ZG01eWMydFVZM1ZzV1ZJNFExSllRemxXY0hWTU5YZDJUbEJaWlVzNWFtRjRhRXhGZW14YUt6aENTaTlhSzA5Q1NsRlBiV0k0VDIxRkwzcEVha1o1WVU5WWIzUXZNMEl3ZG5CcE9FWk1NalZNUkhGbGVuZExSeXN5VHpSVVJWQkhha1pGTmxONVRqWmlVR2d5ZG1Vck4wSTJLemQwVWpWeWVEZEtlU3RVY2pGcE9XdDBkV1p6UVhGWk5HSmtaMmd4Y2xWTGFsSkZVemRLVjNWek9HZDNVWG80YmtkSGMzaEhXbVJuU25oYVpISlJjVlZJUzNFMFlWcDJVVEZtWmtrM1RUbHVXWGhOVFM5VFNURkRlbTkxWkd0NmFHVnFSRXgzYW5vdk5UZHRaR04xYVdZck56TkpUbUZDVG5KRFprRXljemM1T1hwV1lVeDNkbXBMTlhRcmEwOVNSelI0TkZoWVpTdFphelZhV2pWQlkyMUZVa05NWnpSTGJHVkpiRFJJY3pSeGRYSkxhbGMxTjI1SFRYTnhLMHBXVGpBd2FFWXhXR1pETkZCVlpYbFJObFJPTUcxNlVGRXhia2RaZENzcmJVSTFWV053TURkWVRuVnpWR1JoTW05SGF6SlNOak5PVWsxWWIzcHRTbkYxVnlzNGRFVlVMMUJLUzNGUGFrVlNRalJXZHpOQ1IwUnZWRTVYVTNwb1dIbDRTVlp0TVhOT1dUSkJUVlpYYUdOYVkzRXpPVWRYVUc5UVp6RXpSbW80VDFsc2NFRm1SR1o2YURGaWRYWkdVbVpwVFZVME1sbHROa3c1YlROVVMwUjRlVXdyTWxKVmVESlNNbUo1VUZWTVQyVXdSMnd4T1hKelUyWlpjeTlvYjNkb1dWSnNXWEp1T0dKYVJFTkhiRFUzTDFGTWVHcEJXWFJVVWtZdlZFaHZLM1JOYTJSVmFTOWhUV2xVU0hoMlltcGtZeTlsYWxocVVISjRTbUp5UzFCVU1tUkVXRVk0ZG5aRGQzZGFRazAwUjFGWlNGaDViRFV6VTB4cU1VdHJRMjlvVlZKTkwzcDBlVEZpVTJOWWRIcE5aMDFJVmpWUFRYVkthVVZYVVhKV1NpOUhWRzlNVGxsUVNHMWxORXROY21jOUNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwPQogICAgICBzZXJ2ZXI6IGh0dHBzOi8vYTljNDMzYzMtNjhlMS00NTY2LWI2MzMtODM0NzUyOWYzNjIwLms4c2Nvbm5lY3QudGVzdC5henVyZS5jb20KICAgIG5hbWU6IGNsdXN0ZXIKY29udGV4dHM6CiAgLSBjb250ZXh0OgogICAgICBjbHVzdGVyOiBjbHVzdGVyCiAgICAgIHVzZXI6IGNsdXN0ZXJVc2VyX3Rlc3RfY2x1c3RlcgogICAgbmFtZTogY2x1c3RlcgpjdXJyZW50LWNvbnRleHQ6IGNsdXN0ZXIKa2luZDogQ29uZmlnCnByZWZlcmVuY2VzOiBudWxsCnVzZXJzOgogIC0gbmFtZTogY2x1c3RlclVzZXJfdGVzdF9jbHVzdGVyCiAgICB1c2VyOgogICAgICB0b2tlbjogMmM2NGZyMmQ2MWRhZmZkODY4NGJkYTc3M2Y2YTQ3OGUxZTU4NzlhZTE1ZmRkM2Q1NDU4NGNkNTM1MGM2YWUxMzlhMGI3OTk4YTc2ZjFhOTdlOGI3Y2EwNTJiYjIwZWY0ZjljZTAzN2Q5YTMyM2ZjMTYxZmI0MGI4OTVlOWIwZjM=" + } + ] + } + } + } +} diff --git a/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md b/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..963de1cc8c8b --- /dev/null +++ b/specification/hybridkubernetes/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-kubernetes-2020-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kubernetes-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kubernetes-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json + +``` diff --git a/specification/hybridkubernetes/resource-manager/readme.md b/specification/hybridkubernetes/resource-manager/readme.md index e60faf4e7f2d..67c0b6f1e6a0 100644 --- a/specification/hybridkubernetes/resource-manager/readme.md +++ b/specification/hybridkubernetes/resource-manager/readme.md @@ -57,6 +57,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_hybridkubernetes'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybridkubernetes/resource-manager ``` ## Go @@ -79,26 +82,7 @@ See configuration in [readme.csharp.md](./readme.csharp.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: - - $(this-folder)/Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json - -``` +## AzureResourceSchema -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. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/privatepreview/2019-09-01-privatepreview/somefile.json -``` \ No newline at end of file diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json index be4e038ae09f..edc0cb615d2a 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HybridNetworkManagementClient", - "description": "The definitions in this swagger specification will be used to manage the hybrid network resources.", + "description": "The definitions in this swagger specification will be used to manage the Hybrid Network resources.", "version": "2020-01-01-preview" }, "host": "management.azure.com", @@ -35,64 +35,6 @@ }, "paths": {}, "definitions": { - "ErrorDetails": { - "description": "The error response that indicates why an operation has failed.", - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "ErrorResponse": { - "description": "The error response details containing error code and error message", - "type": "object", - "additionalProperties": true, - "properties": { - "code": { - "description": "The error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "The error message.", - "type": "string", - "readOnly": true - } - } - }, - "Resource": { - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - } - }, - "description": "Common resource representation.", - "x-ms-azure-resource": true - }, "SubResource": { "properties": { "id": { @@ -169,13 +111,12 @@ }, "vmSwitchType": { "type": "string", - "description": "The type of VM switch", + "description": "The type of the VM switch.", "enum": [ "Unknown", "Management", "Wan", - "Lan", - "Internal" + "Lan" ], "x-ms-enum": { "name": "VMSwitchType", @@ -247,32 +188,73 @@ }, "SkuType": { "type": "string", - "description": "Sku type", + "description": "Sku type.", "enum": [ "Unknown", "EvolvedPacketCore", - "SDWAN" + "SDWAN", + "Firewall" ], "x-ms-enum": { "name": "SkuType", "modelAsString": true } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription ID 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." + "OsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

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

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

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

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

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

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

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

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

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

    This property cannot be updated after the VM is created.

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

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "customDataRequired": { + "type": "boolean", + "default": true, + "description": "Indicates if custom data is required to deploy this role." + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "LinuxConfiguration": { + "properties": { + "ssh": { + "$ref": "#/definitions/SshConfiguration", + "description": "Specifies the ssh key configuration for a Linux OS." + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine." + }, + "SshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "properties": { + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + }, + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." } } } 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 2e2b87d45439..06a57e4ef093 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 @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HybridNetworkManagementClient", - "description": "The resources in this swagger specification will be used to manage the hybrid network device", + "description": "The resources in this swagger specification will be used to manage the Hybrid Network device.", "version": "2020-01-01-preview" }, "host": "management.azure.com", @@ -40,48 +40,44 @@ "Devices" ], "operationId": "Devices_Delete", - "description": "Deletes the specified hybrid network device.", + "description": "Deletes the specified device.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deviceName", "in": "path", "required": true, "type": "string", - "description": "The name of the hybrid network device." + "description": "The name of the device resource." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The operation was successful." + "description": "The operation is successful." }, "202": { - "description": "Accepted. Sets the provisioningState to 'Deleting' until the operation is completed. Returns an operation Uri that can be queried to find the current state of the operation." + "description": "Accepted. Sets the provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." }, "204": { - "description": "Request successful. Resource with specified name does not exist." + "description": "Request is successful. Resource with the specified name does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete hybrid network device resource": { + "Delete device resource": { "$ref": "./examples/DeviceDelete.json" } }, @@ -95,32 +91,28 @@ "Devices" ], "operationId": "Devices_Get", - "description": "Gets information about the specified hybrid network device.", + "description": "Gets information about the specified device.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deviceName", "in": "path", "required": true, "type": "string", - "description": "The name of hybrid network device." + "description": "The name of the device resource." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting hybrid network device resource.", + "description": "Request is successful. The operation returns the resulting device resource.", "schema": { "$ref": "#/definitions/Device" } @@ -128,12 +120,12 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get hybrid network device": { + "Get device resource": { "$ref": "./examples/DeviceGet.json" } } @@ -143,14 +135,10 @@ "Devices" ], "operationId": "Devices_CreateOrUpdate", - "description": "Creates or updates a hybrid network device.", + "description": "Creates or updates a device.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deviceName", @@ -166,24 +154,24 @@ "schema": { "$ref": "#/definitions/Device" }, - "description": "Parameters supplied to the create or update hybrid network device operation." + "description": "Parameters supplied to the create or update device operation." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Create or update successful.", + "description": "Creation or update is successful.", "schema": { "$ref": "#/definitions/Device" } }, "201": { - "description": "Create or update successful. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "description": "Creation or update is successful. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", "schema": { "$ref": "#/definitions/Device" } @@ -191,12 +179,12 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create or update hybrid network device": { + "Create or update device": { "$ref": "./examples/DeviceCreate.json" } }, @@ -210,21 +198,17 @@ "Devices" ], "operationId": "Devices_UpdateTags", - "description": "Updates a hybrid network device tags.", + "description": "Updates device tags.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deviceName", "in": "path", "required": true, "type": "string", - "description": "The name of the hybrid network device." + "description": "The name of the device resource." }, { "name": "parameters", @@ -233,18 +217,18 @@ "schema": { "$ref": "./common.json#/definitions/TagsObject" }, - "description": "Parameters supplied to update hybrid network device tags." + "description": "Parameters supplied to the update device tags operation." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting hybrid network device resource.", + "description": "Update is successful. The operation returns the resulting device resource.", "schema": { "$ref": "#/definitions/Device" } @@ -252,7 +236,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -269,18 +253,18 @@ "Devices" ], "operationId": "Devices_ListBySubscription", - "description": "Lists all the hybrid network devices in a subscription.", + "description": "Lists all the devices in a subscription.", "parameters": [ { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of hybrid network device resources.", + "description": "Request is successful. The operation returns a list of device resources.", "schema": { "$ref": "#/definitions/DeviceListResult" } @@ -288,13 +272,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List all hybrid network devices in a subscription.": { - "$ref": "./examples/DeviceListAll.json" + "List all devices in a subscription.": { + "$ref": "./examples/DeviceListBySubscription.json" } }, "x-ms-pageable": { @@ -308,25 +292,21 @@ "Devices" ], "operationId": "Devices_ListByResourceGroup", - "description": "Lists all the hybrid network devices in a resource group.", + "description": "Lists all the device resource in a resource group.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of hybrid network device resources.", + "description": "Request is successful. The operation returns a list of device resources.", "schema": { "$ref": "#/definitions/DeviceListResult" } @@ -334,13 +314,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List all hybrid network devices in resource group": { - "$ref": "./examples/DeviceListAllByResourceGroup.json" + "List all devices in resource group": { + "$ref": "./examples/DeviceListByResourceGroup.json" } }, "x-ms-pageable": { @@ -354,32 +334,28 @@ "Devices" ], "operationId": "Devices_ListRegistrationKey", - "description": "List the registration key for the hybrid network device.", + "description": "List the registration key for the device.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "deviceName", "in": "path", "required": true, "type": "string", - "description": "The name of the hybrid network device." + "description": "The name of the device resource." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The registration key information for the hybrid network device.", + "description": "The registration key information for the device.", "schema": { "$ref": "#/definitions/DeviceRegistrationKey" } @@ -387,12 +363,12 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get hybrid network device registration key": { + "Get device registration key": { "$ref": "./examples/DeviceListRegistrationKey.json" } } @@ -405,18 +381,18 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/DevicePropertiesFormat", - "description": "Hybrid network device properties." + "description": "Device properties." } }, "allOf": [ { - "$ref": "./common.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], - "description": "Hybrid network device resource." + "description": "Device resource." }, "DevicePropertiesFormat": { - "description": "Hybrid network device properties.", + "description": "Device properties.", "required": [ "deviceType" ], @@ -429,7 +405,8 @@ "enum": [ "Unknown", "NotRegistered", - "Registered" + "Registered", + "Deleted" ], "x-ms-enum": { "name": "Status", @@ -439,11 +416,11 @@ "provisioningState": { "readOnly": true, "$ref": "./common.json#/definitions/ProvisioningState", - "description": "The provisioning state of the hybrid network device resource." + "description": "The provisioning state of the device resource." }, "deviceType": { "type": "string", - "description": "The type of the hybrid network device.", + "description": "The type of the device.", "enum": [ "Unknown", "AzureStackEdge" @@ -456,25 +433,25 @@ "azureStackEdge": { "x-ms-discriminator-value": "AzureStackEdge", "$ref": "./common.json#/definitions/SubResource", - "description": "The reference to the azure stack edge device." + "description": "The reference to the Azure stack edge device." }, - "virtualNetworkFunctions": { + "networkFunctions": { "readOnly": true, "type": "array", "items": { "$ref": "./common.json#/definitions/SubResource" }, - "description": "The list of virtual network functions deployed on the hybrid network device." + "description": "The list of network functions deployed on the device." } } }, "DeviceRegistrationKey": { - "description": "The hybrid network device registration key", + "description": "The device registration key.", "properties": { "registrationKey": { "readOnly": true, "type": "string", - "description": "The registration key for hybrid network device." + "description": "The registration key for the device." } } }, @@ -485,7 +462,7 @@ "items": { "$ref": "#/definitions/Device" }, - "description": "A list of hybrid network devices." + "description": "A list of devices." }, "nextLink": { "type": "string", @@ -493,7 +470,7 @@ "description": "The URL to get the next set of results." } }, - "description": "Response for hybrid network devices API service call." + "description": "Response for devices API service call." } } } diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json index 3b4cabc40640..288cd948bdcf 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json @@ -28,7 +28,7 @@ "azureStackEdge": { "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" }, - "virtualNetworkFunctions": null + "networkFunctions": null } } }, @@ -45,7 +45,7 @@ "azureStackEdge": { "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" }, - "virtualNetworkFunctions": null + "networkFunctions": null } } } diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json index 47df323a3673..4c5f246a2e4c 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json @@ -19,9 +19,9 @@ "azureStackEdge": { "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" }, - "virtualNetworkFunctions": [ + "networkFunctions": [ { - "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" } ] } diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json deleted file mode 100644 index 673abf63ec08..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", - "name": "TestDevice", - "type": "Microsoft.HybridNetwork/devices", - "location": "eastus", - "properties": { - "status": "NotRegistered", - "provisioningState": "Succeeded", - "deviceType": "AzureStackEdge", - "azureStackEdge": { - "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" - }, - "virtualNetworkFunctions": [ - { - "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" - } - ] - } - } - ], - "nextLink": "string" - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json deleted file mode 100644 index 758b069ac135..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "resourceGroupName": "rg1", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", - "name": "TestDevice", - "type": "Microsoft.HybridNetwork/devices", - "location": "eastus", - "properties": { - "status": "NotRegistered", - "provisioningState": "Succeeded", - "deviceType": "AzureStackEdge", - "azureStackEdge": { - "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" - }, - "virtualNetworkFunctions": [ - { - "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" - } - ] - } - } - ], - "nextLink": "string" - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListByResourceGroup.json new file mode 100644 index 000000000000..8bf7479f30f5 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListBySubscription.json new file mode 100644 index 000000000000..013a6d11f059 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListBySubscription.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json index ae7e1e586e9b..b2e9a82752a5 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json @@ -29,9 +29,9 @@ "azureStackEdge": { "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" }, - "virtualNetworkFunctions": [ + "networkFunctions": [ { - "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" } ] } diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json index 96a50bbecce7..53c216779283 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json @@ -9,12 +9,12 @@ "body": { "value": [ { - "name": "Microsoft.HybridNetwork/vnfs/read", + "name": "Microsoft.HybridNetwork/nfs/read", "display": { "provider": "Microsoft Hybrid Network", - "resource": "Vnf", - "operation": "Get Vnf", - "description": "Gets Vnf" + "resource": "Nf", + "operation": "Get Nf", + "description": "Gets Nf" } } ] diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionCreate.json new file mode 100644 index 000000000000..28a73a2f56ac --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionCreate.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf", + "parameters": { + "location": "eastus", + "properties": { + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Accepted", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionDelete.json new file mode 100644 index 000000000000..38eaf18e686d --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionGet.json new file mode 100644 index 000000000000..fa5e37a018b3 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListByResourceGroup.json new file mode 100644 index 000000000000..dbecbbbf7ae9 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListBySubscription.json new file mode 100644 index 000000000000..51542a9b7a7a --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionListBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGetSkuDetails.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionSkuDetailsGet.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGetSkuDetails.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionSkuDetailsGet.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionSkuList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionSkuListByVendor.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionSkuList.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionSkuListByVendor.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionUpdateTags.json new file mode 100644 index 000000000000..372cb0217215 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionUpdateTags.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionVendorAndSkuList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionVendorAndSkuListBySubscription.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionVendorAndSkuList.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/NetworkFunctionVendorAndSkuListBySubscription.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceGet.json new file mode 100644 index 000000000000..757311c81677 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": { + "body": { + "name": "mrm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/mrm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Running" + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json new file mode 100644 index 000000000000..fdfd450955a5 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mrm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/mrm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Running" + } + }, + { + "name": "msm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/msm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Stopped" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceRestart.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceRestart.json new file mode 100644 index 000000000000..1ab187f60a1f --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceRestart.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStart.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStart.json new file mode 100644 index 000000000000..1ab187f60a1f --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStart.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStop.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStop.json new file mode 100644 index 000000000000..1ab187f60a1f --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/RoleInstanceStop.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListBySubscription.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListBySubscription.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfCreate.json new file mode 100644 index 000000000000..d81cd24f5aaf --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfCreate.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "parameters": { + "properties": { + "skuType": "SDWAN", + "vendorProvisioningState": "Provisioning", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Accepted", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfGet.json new file mode 100644 index 000000000000..11c880a21d7c --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfGet.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfListByVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfListByVendor.json new file mode 100644 index 000000000000..256130794742 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorNfListByVendor.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "TestServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json index 1402c9d87fe5..70b4f0ddf3dd 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json @@ -9,22 +9,51 @@ "deploymentMode": "PrivateEdgeZone", "preview": true, "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ { "roleName": "test", "roleType": "VirtualMachine", "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": { + "uri": "https://contoso.net/link/vnd.vhd?sp=rl&st=2020-10-08T20:38:19Z&se=2020-12-09T19:38:00Z&sv=2019-12-12&sr=b&sig=7BM2f4yOw%3D" + } + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] }, "osProfile": { "adminUsername": "dummyuser", - "adminPassword": "dummypassword", - "sshPublicKey": null + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" }, "networkInterfaces": [ { @@ -75,21 +104,49 @@ "preview": true, "provisioningState": "Succeeded", "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ { "roleName": "test", "roleType": "VirtualMachine", "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] }, "osProfile": { "adminUsername": "dummyuser", - "sshPublicKey": null + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" }, "networkInterfaces": [ { @@ -139,21 +196,49 @@ "preview": true, "provisioningState": "Accepted", "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ { "roleName": "test", "roleType": "VirtualMachine", "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] }, "osProfile": { "adminUsername": "dummyuser", - "sshPublicKey": null + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" }, "networkInterfaces": [ { diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json index 605cc22e53dd..61f27b3b13f0 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json @@ -16,21 +16,49 @@ "preview": true, "provisioningState": "Succeeded", "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ { "roleName": "test", "roleType": "VirtualMachine", "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] }, "osProfile": { "adminUsername": "dummyuser", - "sshPublicKey": null + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" }, "networkInterfaces": [ { diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json deleted file mode 100644 index 9d6161f86364..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "vendorName": "TestVendor" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "TestSku1", - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku1", - "type": "Microsoft.HybridNetwork/vendors/vendorskus", - "properties": { - "deploymentMode": "PrivateEdgeZone", - "preview": true, - "provisioningState": "Succeeded", - "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ - { - "roleName": "test", - "roleType": "VirtualMachine", - "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" - }, - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "", - "vmSwitchType": "", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - }, - { - "name": "TestSku2", - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku2", - "type": "Microsoft.HybridNetwork/vendors/vendorskus", - "properties": { - "deploymentMode": "PrivateEdgeZone", - "preview": true, - "provisioningState": "Succeeded", - "managedApplicationTemplate": {}, - "virtualNetworkFunctionTemplate": { - "virutalNetworkFunctionRoleConfigurations": [ - { - "roleName": "test", - "roleType": "VirtualMachine", - "virtualMachineSize": "Standard_D3_v2", - "imageReference": { - "osType": "Linux", - "vhdName": "vhdName", - "vhdType": "VHD", - "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" - }, - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "", - "vmSwitchType": "", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - ] - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListByVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListByVendor.json new file mode 100644 index 000000000000..4f0f858ad8d0 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListByVendor.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestSku1", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku1", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + { + "name": "TestSku2", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku2", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewCreate.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewCreate.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewDelete.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewDelete.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewGet.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewGet.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewListBySku.json similarity index 100% rename from specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json rename to specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuPreviewListBySku.json diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json deleted file mode 100644 index bb8d1ddd0c12..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "locationName": "eastus", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "parameters": { - "location": "eastus", - "properties": { - "skuType": "SDWAN", - "vendorProvisioningState": "Provisioning", - "virtualNetworkFunctionVendorConfigurations": [ - { - "roleName": "testRole", - "customData": "base-64 encoded string of custom data", - "osProfile": { - "adminUsername": "dummyuser", - "adminPassword": "dummypassword", - "sshPublicKey": null - }, - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", - "name": "testServiceKey", - "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "vendorProvisioningState": "Provisioning", - "skuName": "testSku", - "skuType": "SDWAN", - "virtualNetworkFunctionVendorConfigurations": [ - { - "roleName": "testRole", - "customData": "base-64 encoded string of custom data", - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - }, - "201": { - "body": { - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", - "name": "testServiceKey", - "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Accepted", - "vendorProvisioningState": "Provisioning", - "skuName": "testSku", - "skuType": "SDWAN", - "virtualNetworkFunctionVendorConfigurations": [ - { - "roleName": "testRole", - "customData": "base-64 encoded string of custom data", - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json deleted file mode 100644 index 942593ddc290..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "locationName": "eastus", - "vendorName": "testVendor", - "serviceKey": "testServiceKey" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", - "name": "testServiceKey", - "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "vendorProvisioningState": "Provisioning", - "skuName": "testSku", - "skuType": "SDWAN", - "virtualNetworkFunctionVendorConfigurations": [ - { - "roleName": "testRole", - "customData": "base-64 encoded string of custom data", - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json deleted file mode 100644 index e28b4364bfd6..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "locationName": "eastus", - "vendorName": "testVendor" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", - "name": "TestServiceKey", - "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "vendorProvisioningState": "Provisioning", - "skuName": "testSku", - "skuType": "SDWAN", - "virtualNetworkFunctionVendorConfigurations": [ - { - "roleName": "testRole", - "customData": "base-64 encoded string of custom data", - "osProfile": { - "adminUsername": "dummyuser", - "sshPublicKey": null - }, - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - ], - "nextLink": "nextLink" - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json deleted file mode 100644 index ff285e2c7263..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "resourceGroupName": "rg", - "virtualNetworkFunctionName": "testVnf", - "parameters": { - "location": "eastus", - "properties": { - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - }, - "201": { - "body": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Accepted", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json deleted file mode 100644 index a34ac019cda4..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "resourceGroupName": "rg", - "virtualNetworkFunctionName": "testVnf" - }, - "responses": { - "200": {}, - "202": {}, - "204": {} - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json deleted file mode 100644 index 65dd38218b47..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "resourceGroupName": "rg", - "virtualNetworkFunctionName": "testVnf" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json deleted file mode 100644 index ec8b416242e0..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "resourceGroupName": "rg" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - ], - "nextLink": "nextLink" - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json deleted file mode 100644 index 7d644952cf00..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - ], - "nextLink": "nextLink" - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json deleted file mode 100644 index ce573d51b592..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "parameters": { - "api-version": "2020-01-01-preview", - "subscriptionId": "subid", - "resourceGroupName": "rg", - "virtualNetworkFunctionName": "testVnf", - "parameters": { - "tags": { - "tag1": "value1", - "tag2": "value2" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", - "name": "testVnf", - "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", - "location": "eastus", - "tags": { - "tag1": "value1", - "tag2": "value2" - }, - "properties": { - "provisioningState": "Succeeded", - "device": { - "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" - }, - "skuName": "testSku", - "skuType": "SDWAN", - "vendorName": "testVendor", - "serviceKey": "testServiceKey", - "vendorProvisioningState": "NotProvisioned", - "managedApplication": { - "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" - }, - "managedApplicationParameters": {}, - "virtualNetworkFunctionUserConfigurations": [ - { - "roleName": "testRole", - "userDataParameters": {}, - "networkInterfaces": [ - { - "networkInterfaceName": "nic1", - "macAddress": "", - "vmSwitchType": "Management", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - }, - { - "networkInterfaceName": "nic2", - "macAddress": "DC-97-F8-79-16-7D", - "vmSwitchType": "Wan", - "ipConfigurations": [ - { - "ipAllocationMethod": "Dynamic", - "ipAddress": "", - "subnet": "", - "gateway": "", - "ipVersion": "IPv4", - "dnsServers": null - } - ] - } - ] - } - ] - } - } - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunction.json new file mode 100644 index 000000000000..d64f1c46f743 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunction.json @@ -0,0 +1,452 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the network function deployment in a Hybrid Network resource provider.", + "version": "2020-01-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.HybridNetwork/networkFunctions/{networkFunctionName}": { + "delete": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_Delete", + "description": "Deletes the specified network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "description": "The name of the network function.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation." + }, + "204": { + "description": "Request is successful. Resource with the specified name 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-examples": { + "Delete network function resource": { + "$ref": "./examples/NetworkFunctionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_Get", + "description": "Gets information about the specified network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network function resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation is successful. The operation returns the resulting network function resource.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network function resource": { + "$ref": "./examples/NetworkFunctionGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_CreateOrUpdate", + "description": "Creates or updates a network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkFunction" + }, + "description": "Parameters supplied in the body to the create or update network function operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "201": { + "description": "Created or Updated. The header contains 'Azure-AsyncOperation' header pointing to an operation resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create network function resource": { + "$ref": "./examples/NetworkFunctionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_UpdateTags", + "description": "Updates the tags for the network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update network function tags operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update is completed successfully. The operation returns the resulting network function resource.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update tags for network function resource": { + "$ref": "./examples/NetworkFunctionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctions": { + "get": { + "description": "Lists all the network functions in a subscription.", + "operationId": "NetworkFunctions_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function resources.", + "schema": { + "$ref": "#/definitions/NetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "NetworkFunctions" + ], + "x-ms-examples": { + "List all network function resources in subscription.": { + "$ref": "./examples/NetworkFunctionListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/networkFunctions": { + "get": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_ListByResourceGroup", + "description": "Lists all the network function resources in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function resources.", + "schema": { + "$ref": "#/definitions/NetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List network function in resource group": { + "$ref": "./examples/NetworkFunctionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkFunction": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkFunctionPropertiesFormat", + "description": "Network function properties." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Network function resource response." + }, + "NetworkFunctionPropertiesFormat": { + "description": "Network function properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network function resource." + }, + "device": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the device resource." + }, + "skuName": { + "type": "string", + "description": "The sku name for the network function." + }, + "skuType": { + "readOnly": true, + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type for the network function." + }, + "vendorName": { + "type": "string", + "description": "The vendor name for the network function." + }, + "serviceKey": { + "type": "string", + "readOnly": true, + "description": "The service key for the network function resource." + }, + "vendorProvisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "The vendor provisioning state for the network function resource." + }, + "managedApplication": { + "readOnly": true, + "$ref": "./common.json#/definitions/SubResource", + "description": "The resource URI of the managed application." + }, + "managedApplicationParameters": { + "$ref": "./common.json#/definitions/ManagedApplicationParameters", + "description": "The parameters for the managed application." + }, + "networkFunctionUserConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionUserConfiguration" + }, + "description": "The network function configurations from the user." + } + } + }, + "NetworkFunctionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunction" + }, + "description": "A list of network function resources in a subscription or resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for network function API service call." + }, + "NetworkFunctionUserConfiguration": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user data parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + }, + "osProfile": { + "properties": { + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

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

    This property cannot be updated after the VM is created.

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

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + } + }, + "description": "Specifies the operating system settings for the role instance." + } + }, + "description": "The network function user configuration." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunctionVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunctionVendor.json new file mode 100644 index 000000000000..b7125d5ad621 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunctionVendor.json @@ -0,0 +1,296 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the network function vendor in a Hybrid Network resource provider.", + "version": "2020-01-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.HybridNetwork/networkFunctionVendors": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "networkFunctionVendors_List", + "description": "Lists all the available vendor and sku information.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of vendors with available sku information.", + "schema": { + "$ref": "#/definitions/NetworkFunctionVendorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List vendors and skus.": { + "$ref": "./examples/NetworkFunctionVendorAndSkuListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctionVendors/{vendorName}/vendorSkus": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "NetworkFunctionVendorSkus_ListByVendor", + "description": "Lists all network function vendor sku details in a vendor.", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function vendor skus.", + "schema": { + "$ref": "#/definitions/NetworkFunctionSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List vendors and skus.": { + "$ref": "./examples/NetworkFunctionSkuListByVendor.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctionVendors/{vendorName}/vendorSkus/{vendorSkuName}": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "networkFunctionVendorSkus_ListBySku", + "description": "Lists information about network function vendor sku details.", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "vendorSkuName", + "description": "The name of the network function sku.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting network function vendor sku details.", + "schema": { + "$ref": "#/definitions/NetworkFunctionSkuDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network function sku details": { + "$ref": "./examples/NetworkFunctionSkuDetailsGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SkuOverview": { + "properties": { + "skuName": { + "type": "string", + "description": "The vendor sku name." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The vendor sku type." + } + }, + "description": "The network function sku overview." + }, + "NetworkFunctionSkuDetails": { + "properties": { + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The network function sku type." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionSkuRoleDetails" + }, + "description": "The network function sku role details." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The network function sku details." + }, + "VendorDetails": { + "properties": { + "vendorName": { + "type": "string", + "description": "The network function vendor name." + }, + "skuList": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The network function sku list." + } + }, + "description": "The network function vendor details." + }, + "NetworkFunctionVendor": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorDetails", + "description": "Vendors of Hybrid Network service provider." + } + }, + "description": "The network function vendor." + }, + "NetworkFunctionVendorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendor" + }, + "description": "A list of available network function vendors and skus." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The network function vendor list result." + }, + "NetworkFunctionSkuRoleDetails": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataTemplate": { + "$ref": "./common.json#/definitions/UserDataTemplate", + "description": "The user data template for customers." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user parameters for customers." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + } + }, + "description": "The network function user configuration." + }, + "NetworkFunctionSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The network function vendor sku overview properties." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "A list of available network function skus." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operation.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operation.json new file mode 100644 index 000000000000..971cc4633244 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operation.json @@ -0,0 +1,128 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the operations.", + "version": "2020-01-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.HybridNetwork/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of the operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns a 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-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Operation": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}." + }, + "display": { + "readOnly": true, + "description": "The object that represents the operation.", + "properties": { + "provider": { + "type": "string", + "description": "Service provider: Microsoft.HybridNetwork." + }, + "resource": { + "type": "string", + "description": "Resource on which the operation is performed: Registration definition, registration assignment, etc." + }, + "operation": { + "type": "string", + "description": "Operation type: Read, write, delete, etc." + }, + "description": { + "type": "string", + "description": "Description of the operation." + } + } + } + }, + "type": "object", + "description": "Object that describes a single Microsoft.HybridNetwork operation." + }, + "OperationList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "A list of Microsoft.HybridNetwork operations." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "type": "object", + "description": "A list of the operations." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json deleted file mode 100644 index eb38d176e17d..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HybridNetworkManagementClient", - "description": "The resources in this swagger specification will be used to manage the operations.", - "version": "2020-01-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.HybridNetwork/operations": { - "get": { - "tags": [ - "operations" - ], - "operationId": "Operations_List", - "description": "Gets a list of the operations.", - "parameters": [ - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK Returns a list of operations.", - "schema": { - "$ref": "#/definitions/OperationList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Get Registration Operations": { - "$ref": "./examples/GetOperations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "Operation": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Operation name: {provider}/{resource}/{operation}" - }, - "display": { - "readOnly": true, - "description": "The object that represents the operation.", - "properties": { - "provider": { - "type": "string", - "description": "Service provider: Microsoft.HybridNetwork" - }, - "resource": { - "type": "string", - "description": "Resource on which the operation is performed: Registration definition, registration assignment etc." - }, - "operation": { - "type": "string", - "description": "Operation type: Read, write, delete, etc." - }, - "description": { - "type": "string", - "description": "Description of the operation." - } - } - } - }, - "type": "object", - "description": "Object that describes a single Microsoft.HybridNetwork operation." - }, - "OperationList": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "description": "List of Microsoft.HybridNetwork operations." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of results." - } - }, - "type": "object", - "description": "List of the operations." - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json index cee87dde532a..ad541989b452 100644 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "HybridNetworkManagementClient", - "description": "The resources in this swagger specification will be used by vendors to on-board offerings and manage virtual network functions.", + "description": "The resources in this swagger specification will be used by vendors to on-board offerings and manage network functions.", "version": "2020-01-01-preview" }, "host": "management.azure.com", @@ -50,10 +50,10 @@ "description": "The name of the vendor." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,12 +64,12 @@ "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." }, "204": { - "description": "Request successful. Resource does not exist." + "description": "Request is successful. Resource does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -95,18 +95,18 @@ "in": "path", "required": true, "type": "string", - "description": "The name of vendor." + "description": "The name of the vendor." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting vendor resource.", + "description": "Request is successful. The operation returns the resulting vendor resource.", "schema": { "$ref": "#/definitions/Vendor" } @@ -114,7 +114,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -144,13 +144,13 @@ "schema": { "$ref": "#/definitions/Vendor" }, - "description": "Parameters supplied to the create vendor." + "description": "Parameters supplied to the create vendor operation." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -161,7 +161,7 @@ } }, "201": { - "description": "Created. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "description": "Created. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", "schema": { "$ref": "#/definitions/Vendor" } @@ -169,7 +169,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -193,15 +193,15 @@ "description": "Lists all the vendors in a subscription.", "parameters": [ { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of vendor resources.", + "description": "Request is successful. The operation returns a list of vendor resources.", "schema": { "$ref": "#/definitions/VendorListResult" } @@ -209,13 +209,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Lists all vendor resources in subscription": { - "$ref": "./examples/VendorListAll.json" + "List all vendor resources in subscription": { + "$ref": "./examples/VendorListBySubscription.json" } }, "x-ms-pageable": { @@ -246,10 +246,10 @@ "description": "The name of the sku." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -257,15 +257,15 @@ "description": "OK. Request is successful." }, "202": { - "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed.. Returns an operation URI that can be queried to find the current state of the operation." + "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." }, "204": { - "description": "Request successful. Resource does not exist." + "description": "Request is successful. Resource does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -291,7 +291,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of vendor." + "description": "The name of the vendor." }, { "name": "skuName", @@ -301,15 +301,15 @@ "description": "The name of the sku." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting vendor resource.", + "description": "Request is successful. The operation returns the resulting vendor resource.", "schema": { "$ref": "#/definitions/VendorSku" } @@ -317,12 +317,12 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get the sku of Vendor resource": { + "Get the sku of vendor resource": { "$ref": "./examples/VendorSkuGet.json" } } @@ -355,18 +355,18 @@ "schema": { "$ref": "#/definitions/VendorSku" }, - "description": "Parameters supplied to the create or update sku." + "description": "Parameters supplied to the create or update sku operation." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Update or creation successful. The operation returns the resulting vendor sku sub resource.", + "description": "Creation or update is successful. The operation returns the resulting vendor sku sub resource.", "schema": { "$ref": "#/definitions/VendorSku" } @@ -380,12 +380,12 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create or update the sku of Vendor resource": { + "Create or update the sku of vendor resource": { "$ref": "./examples/VendorSkuCreate.json" } }, @@ -411,15 +411,15 @@ "description": "The name of the vendor." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of vendor sku resources.", + "description": "Request is successful. The operation returns a list of vendor sku resources.", "schema": { "$ref": "#/definitions/VendorSkuListResult" } @@ -427,204 +427,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Lists all the vendor skus of vendor resource": { - "$ref": "./examples/VendorSkuListAll.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/virtualNetworkFunctions/{serviceKey}": { - "get": { - "tags": [ - "VendorVirtualNetworkFunctions" - ], - "operationId": "VendorVirtualNetworkFunctions_Get", - "description": "Gets information about the specified virtual network function.", - "parameters": [ - { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "The azure region where the virtual network function sub resource was created by customer." - }, - { - "name": "vendorName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the vendor." - }, - { - "name": "serviceKey", - "in": "path", - "required": true, - "type": "string", - "description": "The unique GUID for the virtual network function." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns the resulting vendor virtual network function sub resource.", - "schema": { - "$ref": "#/definitions/VendorVirtualNetworkFunction" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Get vendor virtual network function sub resource by service key of virtual network function.": { - "$ref": "./examples/VendorVnfGet.json" - } - } - }, - "put": { - "tags": [ - "VendorVirtualNetworkFunctions" - ], - "operationId": "VendorVirtualNetworkFunctions_CreateOrUpdate", - "description": "Create or update a virtual network function.", - "parameters": [ - { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "The azure region where the virtual network function resource was created by customer." - }, - { - "name": "vendorName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the vendor." - }, - { - "name": "serviceKey", - "in": "path", - "required": true, - "type": "string", - "description": "The unique GUID for the virtual network function." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VendorVirtualNetworkFunction" - }, - "description": "Parameters supplied to the update vendor virtual network function." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Create or update is successful. The operation returns the resulting vendor virtual network function sub resource.", - "schema": { - "$ref": "#/definitions/VendorVirtualNetworkFunction" - } - }, - "201": { - "description": "Created. The operation returns the resulting vendor virtual network function sub resource.", - "schema": { - "$ref": "#/definitions/VendorVirtualNetworkFunction" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Update vendor virtual network function sub resource": { - "$ref": "./examples/VendorVnfCreate.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/virtualNetworkFunctions": { - "get": { - "tags": [ - "VendorVirtualNetworkFunctions" - ], - "operationId": "VendorVirtualNetworkFunctions_List", - "description": "List all the vendor virtual network function sub resources in an azure region. Filter by skuType, skuName, vendorProvisioningState", - "parameters": [ - { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "The azure region where the virtual network function resource was created by customer." - }, - { - "name": "vendorName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the vendor." - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "The filter to apply on the operation. The properties you can use for eq (equals) are: skuType, skuName and vendorProvisioningState." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns the resulting hybrid network vendor virtual network function sub resource.", - "schema": { - "$ref": "#/definitions/VendorVirtualNetworkFunctionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get all vnf of Vendor resource": { - "$ref": "./examples/VendorVnfList.json" + "List all the vendor skus of vendor resource": { + "$ref": "./examples/VendorSkuListByVendor.json" } }, "x-ms-pageable": { @@ -638,7 +447,7 @@ "VendorSkuPreview" ], "operationId": "VendorSkuPreview_List", - "description": "Gets preview information of a vendor sku", + "description": "Lists all the preview information of a vendor sku.", "parameters": [ { "name": "vendorName", @@ -655,15 +464,15 @@ "description": "The name of the sku." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns the preview information of the vendor sku sub resource.", + "description": "Request is successful. The operation returns the preview information of the vendor sku sub resource.", "schema": { "$ref": "#/definitions/PreviewSubscriptionsList" } @@ -671,13 +480,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get all preview subscriptions of vendor sku sub resource": { - "$ref": "./examples/GetVendorSkuPreviews.json" + "List all preview subscriptions of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewListBySku.json" } }, "x-ms-pageable": { @@ -691,7 +500,7 @@ "VendorSkuPreview" ], "operationId": "VendorSkuPreview_CreateOrUpdate", - "description": "Creates or updates preview information of a vendor sku", + "description": "Creates or updates preview information of a vendor sku.", "parameters": [ { "name": "vendorName", @@ -712,7 +521,7 @@ "in": "path", "required": true, "type": "string", - "description": "Preview subscription id." + "description": "Preview subscription ID." }, { "name": "parameters", @@ -721,24 +530,24 @@ "schema": { "$ref": "#/definitions/PreviewSubscription" }, - "description": "Parameters supplied to the update vendor virtual network function." + "description": "Parameters supplied to the create or update vendor preview subscription operation." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { - "description": "Request accepted. The operation is updating or creating the preview information of the vendor sku sub resource.", + "description": "Request is accepted. The operation is updating or creating the preview information of the vendor sku sub resource.", "schema": { "$ref": "#/definitions/PreviewSubscription" } }, "200": { - "description": "Request successful. The operation updated the preview information of the vendor sku sub resource.", + "description": "Request is successful. The operation updated the preview information of the vendor sku sub resource.", "schema": { "$ref": "#/definitions/PreviewSubscription" } @@ -746,7 +555,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -755,8 +564,8 @@ "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "Creates or updates preview subscription of vendor sku sub resource": { - "$ref": "./examples/CreateVendorSkuPreview.json" + "Create or update preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewCreate.json" } } }, @@ -765,7 +574,7 @@ "VendorSkuPreview" ], "operationId": "VendorSkuPreview_Get", - "description": "Gets preview information of a vendor sku", + "description": "Gets the preview information of a vendor sku.", "parameters": [ { "name": "vendorName", @@ -786,18 +595,18 @@ "in": "path", "required": true, "type": "string", - "description": "Preview subscription id." + "description": "Preview subscription ID." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation updated the preview information of the vendor sku sub resource.", + "description": "Request is successful. The operation updated the preview information of the vendor sku sub resource.", "schema": { "$ref": "#/definitions/PreviewSubscription" } @@ -805,13 +614,13 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Gets preview subscription of vendor sku sub resource": { - "$ref": "./examples/GetVendorSkuPreview.json" + "Get preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewGet.json" } } }, @@ -820,7 +629,7 @@ "VendorSkuPreview" ], "operationId": "VendorSkuPreview_Delete", - "description": "Deletes preview information of a vendor sku", + "description": "Deletes the preview information of a vendor sku.", "parameters": [ { "name": "vendorName", @@ -841,29 +650,29 @@ "in": "path", "required": true, "type": "string", - "description": "Preview subscription id." + "description": "Preview subscription ID." }, { - "$ref": "./common.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation deleted the vendor sku preview resource." + "description": "Request is successful. The operation deleted the vendor sku preview resource." }, "202": { "description": "Request is accepted. The operation is deleting the vendor sku preview resource." }, "204": { - "description": "Request successful. The vendor sku preview resource does not exist." + "description": "Request is successful. The vendor sku preview resource does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -872,8 +681,8 @@ "final-state-via": "location" }, "x-ms-examples": { - "Deletes preview subscription of vendor sku sub resource": { - "$ref": "./examples/DeleteVendorSkuPreview.json" + "Delete preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewDelete.json" } } } @@ -890,7 +699,7 @@ }, "allOf": [ { - "$ref": "./common.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "description": "Vendor resource." @@ -909,7 +718,7 @@ "$ref": "./common.json#/definitions/SubResource" }, "readOnly": true, - "description": "A list of ids of the vendor skus offered by the vendor." + "description": "A list of IDs of the vendor skus offered by the vendor." } } }, @@ -923,13 +732,13 @@ }, "allOf": [ { - "$ref": "./common.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "description": "Sku sub resource." }, "VendorSkuPropertiesFormat": { - "description": "Sku properties", + "description": "Sku properties", "properties": { "provisioningState": { "readOnly": true, @@ -938,11 +747,11 @@ }, "skuType": { "$ref": "./common.json#/definitions/SkuType", - "description": "Sku type." + "description": "The sku type." }, "deploymentMode": { "type": "string", - "description": "Sku deployment mode.", + "description": "The sku deployment mode.", "enum": [ "Unknown", "Azure", @@ -959,15 +768,15 @@ }, "managedApplicationParameters": { "$ref": "./common.json#/definitions/ManagedApplicationParameters", - "description": "The parameters for the managed application to be supplied by vendor." + "description": "The parameters for the managed application to be supplied by the vendor." }, "managedApplicationTemplate": { "type": "object", "description": "The template for the managed application deployment." }, - "virtualNetworkFunctionTemplate": { - "$ref": "#/definitions/VirtualNetworkFunctionTemplate", - "description": "The template definition of the virtual network function." + "networkFunctionTemplate": { + "$ref": "#/definitions/NetworkFunctionTemplate", + "description": "The template definition of the network function." } } }, @@ -1003,89 +812,26 @@ "description": "The URL to get the next set of results." } }, - "description": "Response for Vendors API service call." - }, - "VendorVirtualNetworkFunctionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VendorVirtualNetworkFunction" - }, - "description": "A list of vendor virtual network function." - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URL to get the next set of results." - } - }, "description": "Response for vendors API service call." }, - "VendorVirtualNetworkFunction": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VendorVirtualNetworkFunctionPropertiesFormat", - "description": "Virtual network function details." - } - }, - "allOf": [ - { - "$ref": "./common.json#/definitions/Resource" - } - ], - "description": "Vendor virtual network function sub resource." - }, - "VendorVirtualNetworkFunctionPropertiesFormat": { - "description": "Vendor virtual network function properties", + "NetworkFunctionTemplate": { "properties": { - "provisioningState": { - "readOnly": true, - "$ref": "./common.json#/definitions/ProvisioningState", - "description": "The provisioning state of the vendor virtual network function sub resource." - }, - "vendorProvisioningState": { - "$ref": "./common.json#/definitions/VendorProvisioningState", - "description": "Vendor controlled provisioning state of the vendor virtual network function." - }, - "skuName": { - "readOnly": true, - "type": "string", - "description": "Name of the sku" - }, - "skuType": { - "$ref": "./common.json#/definitions/SkuType", - "description": "Sku type.", - "readOnly": true - }, - "virtualNetworkFunctionVendorConfigurations": { + "networkFunctionRoleConfigurations": { "type": "array", "items": { - "$ref": "#/definitions/VirtualNetworkFunctionVendorConfiguration" + "$ref": "#/definitions/NetworkFunctionRoleConfiguration" }, - "description": "An array of virtual network function vendor configurations." - } - } - }, - "VirtualNetworkFunctionTemplate": { - "properties": { - "virutalNetworkFunctionRoleConfigurations": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkFunctionRoleConfiguration" - }, - "description": "An array of virtual network function role definitions." + "description": "An array of network function role definitions." } }, - "description": "The virtual network function template." + "description": "The network function template." }, - "VirtualNetworkFunctionRoleConfiguration": { - "description": "Virtual network function role configuration.", + "NetworkFunctionRoleConfiguration": { + "description": "Network function role configuration.", "properties": { "roleName": { "type": "string", - "description": "The name of the virtual network function role." + "description": "The name of the network function role." }, "roleType": { "type": "string", @@ -1095,7 +841,7 @@ "VirtualMachine" ], "x-ms-enum": { - "name": "VirtualNetworkFunctionRoleConfigurationType", + "name": "NetworkFunctionRoleConfigurationType", "modelAsString": true } }, @@ -1119,24 +865,30 @@ "Standard_DS5_v2", "Standard_DS11_v2", "Standard_DS12_v2", - "Standard_DS13_v2" + "Standard_DS13_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s" ], "x-ms-enum": { "name": "VirtualMachineSizeTypes", "modelAsString": true } }, - "imageReference": { - "description": "The definition of image reference.", - "$ref": "#/definitions/ImageReference" - }, "osProfile": { - "description": "Specifies the operating system settings for the role instance. This value can be updated during the deployment of virtual network function.", - "$ref": "#/definitions/OsProfile" + "description": "Specifies the operating system settings for the role instance. This value can be updated during the deployment of network function.", + "$ref": "./common.json#/definitions/OsProfile" }, "userDataTemplate": { "$ref": "./common.json#/definitions/UserDataTemplate", - "description": "The user data template for customers. This is json scheme template describing the format and data type of user data parameters." + "description": "The user data template for customers. This is a json schema template describing the format and data type of user data parameters." }, "userDataParameters": { "$ref": "./common.json#/definitions/UserDataParameters", @@ -1148,39 +900,63 @@ "$ref": "./common.json#/definitions/NetworkInterface" }, "description": "The network interface configurations." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "customProfile": { + "$ref": "#/definitions/CustomProfile", + "description": "Specifies the custom settings for the virtual machine." } } }, - "VirtualNetworkFunctionVendorConfiguration": { + "ImageReference": { "properties": { - "roleName": { + "publisher": { "type": "string", - "description": "The name of the virtual network function role." + "description": "The image publisher." }, - "customData": { + "offer": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

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

    This property cannot be updated after the VM is created.

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

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies the offer of the image used to create the virtual machine." }, - "osProfile": { - "description": "Specifies the operating system settings for the role instance.", - "$ref": "#/definitions/OsProfile" + "sku": { + "type": "string", + "description": "The image SKU." }, - "userDataParameters": { - "$ref": "./common.json#/definitions/UserDataParameters", - "readOnly": true, - "description": "The user parameters from the customer." + "version": { + "type": "string", + "description": "Specifies the version of the image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." }, - "networkInterfaces": { + "exactVersion": { + "type": "string", + "description": "Specifies in decimal numbers, the exact version of image used to create the virtual machine." + } + }, + "description": "The image reference properties." + }, + "StorageProfile": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "The image reference properties." + }, + "osDisk": { + "$ref": "#/definitions/OsDisk", + "description": "Specifies information about the operating system disk used by the virtual machine." + }, + "dataDisks": { "type": "array", "items": { - "$ref": "./common.json#/definitions/NetworkInterface" + "$ref": "#/definitions/DataDisk" }, - "description": "The network interface configurations." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine." } }, - "description": "Virtual network function vendor configuration." + "description": "Specifies the storage settings for the virtual machine disks." }, - "ImageReference": { + "OsDisk": { "properties": { "osType": { "type": "string", @@ -1195,51 +971,70 @@ "modelAsString": true } }, - "vhdName": { + "name": { "type": "string", "description": "The VHD name." }, - "vhdType": { + "vhd": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The virtual hard disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri." + } + }, + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "VirtualHardDisk": { + "properties": { + "uri": { "type": "string", - "description": "The VHD type.", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ], + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "DataDisk": { + "properties": { + "createOption": { + "type": "string", + "description": "Specifies how the virtual machine should be created.", "enum": [ "Unknown", - "VHD", - "VHDX" + "Empty" ], "x-ms-enum": { - "name": "VHDType", + "name": "DiskCreateOptionTypes", "modelAsString": true } }, - "sasUri": { + "name": { "type": "string", - "description": "The VHD SAS URI." + "description": "The name of data disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image." } }, - "description": "The image reference properties." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." }, - "OsProfile": { + "CustomProfile": { "properties": { - "adminUsername": { - "type": "string", - "description": "Specifies the name of the administrator account.

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

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

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

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

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

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

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

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

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

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

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

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

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)." - }, - "sshPublicKey": { + "metadataConfigurationPath": { "type": "string", - "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + "description": "Path for metadata configuration." } }, - "description": "Specifies the operating system settings for the role instance." + "description": "Specifies the custom settings for the virtual machine." }, "PreviewSubscription": { "x-ms-azure-resource": true, @@ -1248,22 +1043,22 @@ "name": { "type": "string", "readOnly": true, - "description": "Preview subscription id" + "description": "The preview subscription ID." }, "id": { "type": "string", "readOnly": true, - "description": "ARM id of the resource" + "description": "The ARM ID of the resource." }, "type": { "type": "string", "readOnly": true, - "description": "Type of the resource" + "description": "The type of the resource." } } }, "PreviewSubscriptionsList": { - "description": "List of customer subscriptions which can use a sku.", + "description": "A list of customer subscriptions which can use a sku.", "properties": { "value": { "type": "array", diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendorNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendorNetworkFunction.json new file mode 100644 index 000000000000..16ffd4f5a464 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendorNetworkFunction.json @@ -0,0 +1,708 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the vendor network function deployment in the Microsoft.HybridNetwork resource provider.", + "version": "2020-01-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.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}": { + "get": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_Get", + "description": "Gets information about the specified vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get vendor network function sub resource by service key of network function.": { + "$ref": "./examples/VendorNfGet.json" + } + } + }, + "put": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_CreateOrUpdate", + "description": "Creates or updates a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + }, + "description": "Parameters supplied to the create or update vendor network function operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Creation or update is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "201": { + "description": "Created. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update vendor network function sub resource": { + "$ref": "./examples/VendorNfCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/start": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Start", + "description": "Starts a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/stop": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Stop", + "description": "Powers off (stop) a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/restart": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Restart", + "description": "Restarts a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceRestart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}": { + "get": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Get", + "description": "Gets the information of role instance of vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$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/RoleInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the operational state of role instance of vendor network function": { + "$ref": "./examples/RoleInstanceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions": { + "get": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_List", + "description": "Lists all the vendor network function sub resources in an Azure region, filtered by skuType, skuName, vendorProvisioningState.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. The properties you can use for eq (equals) are: skuType, skuName and vendorProvisioningState." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all nfs of vendor resource": { + "$ref": "./examples/VendorNfListByVendor.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances": { + "get": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_List", + "description": "Lists the information of role instances of vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "$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/NetworkFunctionRoleInstanceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all role instances of vendor network function": { + "$ref": "./examples/RoleInstanceListByVendorNetworkFunction.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VendorNetworkFunctionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VendorNetworkFunction" + }, + "description": "A list of vendor network functions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for vendors API service call." + }, + "VendorNetworkFunction": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorNetworkFunctionPropertiesFormat", + "description": "Network function details." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Vendor network function sub resource." + }, + "VendorNetworkFunctionPropertiesFormat": { + "description": "Vendor network function properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor network function sub resource." + }, + "vendorProvisioningState": { + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "The vendor controlled provisioning state of the vendor network function." + }, + "skuName": { + "readOnly": true, + "type": "string", + "description": "The name of the sku." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type.", + "readOnly": true + }, + "networkFunctionVendorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendorConfiguration" + }, + "description": "An array of network function vendor configurations." + } + } + }, + "NetworkFunctionVendorConfiguration": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the vendor network function role." + }, + "osProfile": { + "description": "Specifies the operating system settings for the role instance.", + "$ref": "./common.json#/definitions/OsProfile" + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "readOnly": true, + "description": "The user parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configurations." + } + }, + "description": "Network function vendor configuration." + }, + "NetworkFunctionRoleInstanceListResult": { + "description": "List of role instances of vendor network function.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RoleInstance" + }, + "description": "A list of role instances." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "RoleInstance": { + "x-ms-azure-resource": true, + "properties": { + "name": { + "type": "string", + "description": "The role instance name." + }, + "id": { + "type": "string", + "description": "The ARM ID of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleInstanceProperties", + "description": "The role instance properties." + } + }, + "description": "The role instance sub resource." + }, + "RoleInstanceProperties": { + "properties": { + "operationalState": { + "type": "string", + "description": "The operational state of the role instance.", + "enum": [ + "Unknown", + "Stopped", + "Running", + "Stopping", + "Starting" + ], + "x-ms-enum": { + "name": "OperationalState", + "modelAsString": true + } + } + }, + "description": "The role instance properties of the network function." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json deleted file mode 100644 index 41d501d7b662..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json +++ /dev/null @@ -1,463 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HybridNetworkManagementClient", - "description": "The resources in this swagger specification will be used to manage the virtual network function deployment in a hybrid network resource provider.", - "version": "2020-01-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.HybridNetwork/virtualNetworkFunctions/{virtualNetworkFunctionName}": { - "delete": { - "tags": [ - "VirtualNetworkFunctions" - ], - "operationId": "VirtualNetworkFunctions_Delete", - "description": "Deletes the specified hybrid network virtual network function resource.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualNetworkFunctionName", - "description": "The name of the hybrid network virtual network function.", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation is completed successfully." - }, - "202": { - "description": "Accepted. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation." - }, - "204": { - "description": "Request successful. Resource with the specified name does not exist." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Delete hybrid network virtual network function resource": { - "$ref": "./examples/VirtualNetworkFunctionDelete.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - }, - "get": { - "tags": [ - "VirtualNetworkFunctions" - ], - "operationId": "VirtualNetworkFunctions_Get", - "description": "Gets information about the specified hybrid network virtual network function resource.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualNetworkFunctionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of hybrid network virtual network function resource." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Operation successful. The operation returns the resulting hybrid network virtual network function resource.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunction" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Get hybrid network virtual network function resource": { - "$ref": "./examples/VirtualNetworkFunctionGet.json" - } - } - }, - "put": { - "tags": [ - "VirtualNetworkFunctions" - ], - "operationId": "VirtualNetworkFunctions_CreateOrUpdate", - "description": "Creates or updates a hybrid network virtual network function resource.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualNetworkFunctionName", - "in": "path", - "required": true, - "type": "string", - "description": "Resource name for the hybrid network virtual network function resource." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualNetworkFunction" - }, - "description": "Parameters supplied in the body to create or update hybrid network virtual network function operation." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation is completed successfully.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunction" - } - }, - "201": { - "description": "Created or Updated. The header contains ‘Azure-AsyncOperation’ header pointing to an operation resource. The operation URI can be queried to find the current state of the operation.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunction" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Create hybrid network virtual network function resource": { - "$ref": "./examples/VirtualNetworkFunctionCreate.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } - }, - "patch": { - "tags": [ - "VirtualNetworkFunctions" - ], - "operationId": "VirtualNetworkFunctions_UpdateTags", - "description": "Updates the tags for hybrid network virtual network function resource.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "virtualNetworkFunctionName", - "in": "path", - "required": true, - "type": "string", - "description": "Resource name for the virtual network function resource." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./common.json#/definitions/TagsObject" - }, - "description": "Parameters supplied to update hybrid network virtual network function tags." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Update is completed successfully. The operation returns the resulting hybrid network virtual network function resource.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunction" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Update tags for hybrid network virtual network function resource": { - "$ref": "./examples/VirtualNetworkFunctionUpdateTags.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctions": { - "get": { - "description": "List all the hybrid network virtual network functions in a subscription.", - "operationId": "VirtualNetworkFunctions_ListBySubscription", - "parameters": [ - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of hybrid network virtual network function resources.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunctionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "tags": [ - "VirtualNetworkFunctions" - ], - "x-ms-examples": { - "List all hybrid network virtual network function resources in subscription.": { - "$ref": "./examples/VirtualNetworkFunctionListBySubscription.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/virtualNetworkFunctions": { - "get": { - "tags": [ - "VirtualNetworkFunctions" - ], - "operationId": "VirtualNetworkFunctions_ListByResourceGroup", - "description": "List all the hybrid network virtual network function resources in a resource group.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of hybrid network virtual network function resources.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunctionListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "List hybrid network virtual network function in resource group": { - "$ref": "./examples/VirtualNetworkFunctionListByResourceGroup.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "VirtualNetworkFunction": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VirtualNetworkFunctionPropertiesFormat", - "description": "Hybrid network virtual network function properties." - }, - "etag": { - "type": "string", - "description": "A unique read-only string that changes whenever the resource is updated." - } - }, - "allOf": [ - { - "$ref": "./common.json#/definitions/Resource" - } - ], - "description": "Hybrid network virtual network function resource response." - }, - "VirtualNetworkFunctionPropertiesFormat": { - "description": "Hybrid network virtual network function properties.", - "properties": { - "provisioningState": { - "readOnly": true, - "$ref": "./common.json#/definitions/ProvisioningState", - "description": "The provisioning state of the hybrid network virtual network function resource." - }, - "device": { - "$ref": "./common.json#/definitions/SubResource", - "description": "The reference to the hybrid network device." - }, - "skuName": { - "type": "string", - "description": "The sku name for the hybrid network virtual network function." - }, - "skuType": { - "readOnly": true, - "$ref": "./common.json#/definitions/SkuType", - "description": "The sku type for the hybrid network virtual network function." - }, - "vendorName": { - "type": "string", - "description": "The vendor name for the hybrid network virtual network function." - }, - "serviceKey": { - "type": "string", - "readOnly": true, - "description": "The service key for the virtual network function resource." - }, - "vendorProvisioningState": { - "readOnly": true, - "$ref": "./common.json#/definitions/VendorProvisioningState", - "description": "The vendor provisioning state for the virtual network function resource." - }, - "managedApplication": { - "readOnly": true, - "$ref": "./common.json#/definitions/SubResource", - "description": "The resource URI of the managed application." - }, - "managedApplicationParameters": { - "$ref": "./common.json#/definitions/ManagedApplicationParameters", - "description": "The parameters for the managed application." - }, - "virtualNetworkFunctionUserConfigurations": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkFunctionUserConfiguration" - }, - "description": "The virtual network function configurations from the user." - } - } - }, - "VirtualNetworkFunctionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkFunction" - }, - "description": "A list of hybrid network virtual network function resources in a subscription or resource group." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of results." - } - }, - "description": "Response for hybrid network virtual network function API service call." - }, - "VirtualNetworkFunctionUserConfiguration": { - "properties": { - "roleName": { - "type": "string", - "description": "The name of the virtual network function role." - }, - "userDataParameters": { - "$ref": "./common.json#/definitions/UserDataParameters", - "description": "The user data parameters from the customer." - }, - "networkInterfaces": { - "type": "array", - "items": { - "$ref": "./common.json#/definitions/NetworkInterface" - }, - "description": "The network interface configuration." - } - }, - "description": "The virtual network function user configuration." - } - } -} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json deleted file mode 100644 index 83e78c9b7b4c..000000000000 --- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "HybridNetworkManagementClient", - "description": "The resources in this swagger specification will be used to manage the virtual network function vendor in a hybrid network resource provider.", - "version": "2020-01-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.HybridNetwork/virtualNetworkFunctionVendors": { - "get": { - "tags": [ - "virtualNetworkFunctionVendors" - ], - "operationId": "virtualNetworkFunctionVendors_List", - "description": "List all the available vendor and sku information in hybrid network.", - "parameters": [ - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of hybrid network vendors with available sku information.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunctionVendorListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "List hybrid network vendors and skus.": { - "$ref": "./examples/VirtualNetworkFunctionVendorAndSkuList.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctionVendors/{vendorName}/vendorSkus": { - "get": { - "tags": [ - "virtualNetworkFunctionVendors" - ], - "operationId": "VirtualNetworkFunctionVendorSkus_ListByVendor", - "description": "List all virtual network function vendor sku details in a vendor", - "parameters": [ - { - "name": "vendorName", - "description": "The name of the hybrid network virtual network function vendor.", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns a list of virtual network function vendor skus", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunctionSkuListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "List hybrid network vendors and skus.": { - "$ref": "./examples/VirtualNetworkFunctionSkuList.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctionVendors/{vendorName}/vendorSkus/{vendorSkuName}": { - "get": { - "tags": [ - "virtualNetworkFunctionVendors" - ], - "operationId": "virtualNetworkFunctionVendorSkus_List", - "description": "Gets information about hybrid network virtual network function vendor sku details", - "parameters": [ - { - "name": "vendorName", - "description": "The name of the hybrid network virtual network function vendor.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "vendorSkuName", - "description": "The name of the hybrid network virtual network function sku.", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "./common.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./common.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Request successful. The operation returns the resulting hybrid network virtual network function vendor sku details.", - "schema": { - "$ref": "#/definitions/VirtualNetworkFunctionSkuDetails" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./common.json#/definitions/ErrorDetails" - } - } - }, - "x-ms-examples": { - "Get virtual network function sku details": { - "$ref": "./examples/VirtualNetworkFunctionGetSkuDetails.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "SkuOverview": { - "properties": { - "skuName": { - "type": "string", - "description": "The vendor sku name." - }, - "skuType": { - "$ref": "./common.json#/definitions/SkuType", - "description": "The vendor sku type." - } - }, - "description": "The virtual network function sku overview." - }, - "VirtualNetworkFunctionSkuDetails": { - "properties": { - "skuType": { - "$ref": "./common.json#/definitions/SkuType", - "description": "The virtual network function sku type." - }, - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkFunctionSkuRoleDetails" - }, - "description": "The virtual network function sku role details." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of results." - } - }, - "description": "The virtual network function sku details." - }, - "VendorDetails": { - "properties": { - "vendorName": { - "type": "string", - "description": "The virtual network function vendor name." - }, - "skuList": { - "type": "array", - "items": { - "$ref": "#/definitions/SkuOverview" - }, - "description": "The virtual network function sku list." - } - }, - "description": "The virtual network function vendor details." - }, - "VirtualNetworkFunctionVendor": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VendorDetails", - "description": "Vendors of the hybrid network service provider." - } - }, - "description": "The virtual network function vendor." - }, - "VirtualNetworkFunctionVendorListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkFunctionVendor" - }, - "description": "A list of available hybrid network virtual network function vendors and skus." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of results." - } - }, - "description": "The virtual network function vendor list result." - }, - "VirtualNetworkFunctionSkuRoleDetails": { - "properties": { - "roleName": { - "type": "string", - "description": "The name of the virtual network function role." - }, - "userDataTemplate": { - "$ref": "./common.json#/definitions/UserDataTemplate", - "description": "The user data template for customers." - }, - "userDataParameters": { - "$ref": "./common.json#/definitions/UserDataParameters", - "description": "The user parameters for customers." - }, - "networkInterfaces": { - "type": "array", - "items": { - "$ref": "./common.json#/definitions/NetworkInterface" - }, - "description": "The network interface configuration." - } - }, - "description": "The virtual network function user configuration." - }, - "VirtualNetworkFunctionSkuListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SkuOverview" - }, - "description": "The virtual network function vendor sku overview properties." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of results." - } - }, - "description": "A list of available hybrid network virtual network function skus." - } - } -} diff --git a/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md b/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a8d43d547bdb --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,30 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybridnetwork-2020-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybridnetwork-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridnetwork-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunction.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/operation.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunctionVendor.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/vendorNetworkFunction.json + +``` diff --git a/specification/hybridnetwork/resource-manager/readme.go.md b/specification/hybridnetwork/resource-manager/readme.go.md index 31aa99b2c827..5485073c0531 100644 --- a/specification/hybridnetwork/resource-manager/readme.go.md +++ b/specification/hybridnetwork/resource-manager/readme.go.md @@ -22,5 +22,5 @@ Please also specify `--go-sdks-folder=`. + +### Tag: schema-virtualmachineimages-2020-02-14 and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2020-02-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2019-02-01-preview/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json + +``` diff --git a/specification/imagebuilder/resource-manager/readme.md b/specification/imagebuilder/resource-manager/readme.md index 9d1af6e035c1..1f98ca32f769 100644 --- a/specification/imagebuilder/resource-manager/readme.md +++ b/specification/imagebuilder/resource-manager/readme.md @@ -82,6 +82,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js imagebuilder/resource-manager ``` ## Python @@ -165,29 +168,7 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.VirtualMachineImages/stable/2020-02-14/imagebuilder.json - - $(this-folder)/Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json - - $(this-folder)/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json - - $(this-folder)/Microsoft.VirtualMachineImages/preview/2019-02-01-preview/imagebuilder.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/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetAttestedData.json new file mode 100644 index 000000000000..43b01f911cff --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetAttestedData.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "nonce": "abcde12345", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "encoding": "pkcs7", + "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityInfo.json new file mode 100644 index 000000000000..38e36e9316f8 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityInfo.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "tenantId": "abd8daee-d393-4239-9377-883adda3d40f" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityToken.json new file mode 100644 index 000000000000..7b673d8d3492 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetIdentityToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "Metadata": "true", + "resource": "https://vault.azure.net" + }, + "responses": { + "200": { + "body": { + "access_token": "dummytoken", + "client_id": "be5947ed-3560-4afe-9504-59967a63f810", + "expires_in": "3599", + "expires_on": "1541705014", + "ext_expires_in": "262800", + "not_before": "1508961830", + "resource": "https://va" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetInstanceMetadata.json new file mode 100644 index 000000000000..e0353464269c --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/examples/GetInstanceMetadata.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "compute": { + "azEnvironment": "AZUREPUBLICCLOUD", + "isHostCompatibilityLayerVm": "true", + "location": "westus", + "name": "examplevmname", + "offer": "Windows", + "osType": "linux", + "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a", + "plan": { + "name": "planName", + "product": "planProduct", + "publisher": "planPublisher" + }, + "platformFaultDomain": "36", + "platformUpdateDomain": "42", + "provider": "Microsoft.Compute", + "publicKeys": [ + { + "keyData": "ssh-rsa 0", + "path": "/home/user/.ssh/authorized_keys0" + }, + { + "keyData": "ssh-rsa 1", + "path": "/home/user/.ssh/authorized_keys1" + } + ], + "publisher": "RDFE-Test-Microsoft-Windows-Server-Group", + "resourceGroupName": "macikgo-test-may-23", + "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname", + "securityProfile": { + "secureBootEnabled": "true", + "virtualTpmEnabled": "false" + }, + "sku": "Windows-Server-2012-R2-Datacenter", + "storageProfile": { + "dataDisks": [ + { + "caching": "None", + "createOption": "Empty", + "diskSizeGB": "1024", + "image": { + "uri": "" + }, + "lun": "0", + "managedDisk": { + "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname", + "storageAccountType": "Standard_LRS" + }, + "name": "exampledatadiskname", + "vhd": { + "uri": "" + }, + "writeAcceleratorEnabled": "false" + } + ], + "imageReference": { + "id": "", + "offer": "UbuntuServer", + "publisher": "Canonical", + "sku": "16.04.0-LTS", + "version": "latest" + }, + "osDisk": { + "caching": "ReadWrite", + "createOption": "FromImage", + "diskSizeGB": "30", + "diffDiskSettings": { + "option": "Local" + }, + "encryptionSettings": { + "enabled": "false" + }, + "image": { + "uri": "" + }, + "managedDisk": { + "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname", + "storageAccountType": "Standard_LRS" + }, + "name": "exampleosdiskname", + "osType": "Linux", + "vhd": { + "uri": "" + }, + "writeAcceleratorEnabled": "false" + } + }, + "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d", + "tags": "baz:bash;foo:bar", + "tagsList": [ + { + "name": "baz", + "value": "bash" + }, + { + "name": "foo", + "value": "bar" + } + ], + "version": "15.05.22", + "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6", + "vmScaleSetName": "crpteste9vflji9", + "vmSize": "Standard_A3", + "zone": "" + } + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json new file mode 100644 index 000000000000..3559c66fe3e7 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json @@ -0,0 +1,883 @@ +{ + "swagger": "2.0", + "info": { + "title": "InstanceMetadataClient", + "description": "The Azure Instance Metadata Client", + "version": "2020-06-01" + }, + "host": "169.254.169.254", + "basePath": "/metadata", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "basic_auth": { + "type": "basic", + "description": "A Basic authentication flow" + } + }, + "paths": { + "/instance": { + "get": { + "operationId": "Instances_GetMetadata", + "description": "Get Instance Metadata for the Virtual Machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MetadataParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Instance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Instance Metadata for the VM": { + "$ref": "./examples/GetInstanceMetadata.json" + } + } + } + }, + "/attested/document": { + "get": { + "operationId": "Attested_GetDocument", + "description": "Get Attested Data for the Virtual Machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "nonce", + "in": "query", + "required": false, + "type": "string", + "description": "This is a string of up to 32 random alphanumeric characters." + }, + { + "$ref": "#/parameters/MetadataParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AttestedData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Attested Data for the VM": { + "$ref": "./examples/GetAttestedData.json" + } + } + } + }, + "/identity/oauth2/token": { + "get": { + "tags": [ + "Get token" + ], + "description": "Get a Token from Azure AD", + "operationId": "Identity_GetToken", + "produces": [ + "application/json" + ], + "security": [ + {}, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "name": "resource", + "in": "query", + "type": "string", + "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.", + "required": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "client_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.", + "required": false + }, + { + "name": "object_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.", + "required": false + }, + { + "name": "msi_res_id", + "in": "query", + "type": "string", + "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.", + "required": false + }, + { + "name": "authority", + "in": "query", + "type": "string", + "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.", + "required": false + }, + { + "name": "bypass_cache", + "in": "query", + "type": "string", + "enum": [ + "true" + ], + "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.", + "required": false, + "x-ms-enum": { + "name": "BypassCache", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityTokenResponse" + } + }, + "default": { + "headers": { + "Www-Authenticate": { + "type": "string", + "description": "This is the response header containing a challenge for the Basic scheme with a realm value" + } + }, + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Token for the VM": { + "$ref": "./examples/GetIdentityToken.json" + } + } + } + }, + "/identity/info": { + "get": { + "tags": [ + "Get metadata information" + ], + "description": "Get information about AAD Metadata", + "operationId": "Identity_GetInfo", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityInfoResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Info for the VM": { + "$ref": "./examples/GetIdentityInfo.json" + } + } + } + } + }, + "definitions": { + "Compute": { + "type": "object", + "properties": { + "azEnvironment": { + "type": "string", + "description": "This is the name of the environment in which the VM is running." + }, + "isHostCompatibilityLayerVm": { + "type": "string", + "description": "Identifies if the VM runs on the Host Compatibility Layer." + }, + "location": { + "type": "string", + "description": "This is the Azure Region in which the VM is running." + }, + "name": { + "type": "string", + "description": "This is the name of the VM." + }, + "offer": { + "type": "string", + "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery." + }, + "osType": { + "type": "string", + "description": "This value indicates the type of OS the VM is running, either Linux or Windows." + }, + "placementGroupId": { + "type": "string", + "description": "This is the placement group of your Virtual Machine Scale Set." + }, + "plan": { + "type": "object", + "description": "This contains the data about the plan.", + "$ref": "#/definitions/PlanProperties" + }, + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicKeysProperties" + }, + "description": "This is information about the SSH certificate" + }, + "platformFaultDomain": { + "type": "string", + "description": "This is the fault domain in which the VM." + }, + "platformUpdateDomain": { + "type": "string", + "description": "This is the update domain in which the VM." + }, + "provider": { + "type": "string", + "description": "This is the provider of the VM." + }, + "publisher": { + "type": "string", + "description": "This is the publisher of the VM image." + }, + "resourceGroupName": { + "type": "string", + "description": "This is the resource group for the VM." + }, + "resourceId": { + "type": "string", + "description": "This is the fully qualified ID for the VM." + }, + "securityProfile": { + "description": "This contains the data about the security profile associated with the VM.", + "$ref": "#/definitions/SecurityProfile" + }, + "sku": { + "type": "string", + "description": "This is the specific SKU for the VM image." + }, + "storageProfile": { + "type": "object", + "description": "This contains the data about the storage disks associated with the VM.", + "$ref": "#/definitions/StorageProfile" + }, + "subscriptionId": { + "type": "string", + "description": "This is the Azure subscription for the VM." + }, + "tags": { + "type": "string", + "description": "This is the list of tags for your VM." + }, + "tagsList": { + "type": "array", + "items": { + "$ref": "#/definitions/TagsProperties" + }, + "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing." + }, + "version": { + "type": "string", + "description": "This is the version of the VM image." + }, + "vmId": { + "type": "string", + "description": "This is the unique identifier for the VM." + }, + "vmScaleSetName": { + "type": "string", + "description": "This is the resource name of the VMSS." + }, + "vmSize": { + "type": "string", + "description": "This is the size of the VM." + }, + "zone": { + "type": "string", + "description": "This is the availability zone of the VM." + } + }, + "description": "Compute Metadata" + }, + "Network": { + "type": "object", + "properties": { + "interface": { + "type": "array", + "description": "This contains data about the network interface.", + "items": { + "type": "object", + "$ref": "#/definitions/NetworkInterface" + } + } + }, + "description": "Network Metadata" + }, + "NetworkInterface": { + "type": "object", + "description": "This contains data about the network interface.", + "properties": { + "ipv4": { + "type": "object", + "description": "This contains the IPv4 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv4 properties.", + "$ref": "#/definitions/Ipv4Properties" + } + }, + "subnet": { + "type": "array", + "description": "This is the subnet", + "items": { + "type": "object", + "description": "This contains the subnet properties.", + "$ref": "#/definitions/SubnetProperties" + } + } + } + }, + "ipv6": { + "type": "object", + "description": "This contains the IPv6 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv6 properties.", + "$ref": "#/definitions/Ipv6Properties" + } + } + } + }, + "macAddress": { + "type": "string", + "description": "This is the MAC address of the interface." + } + } + }, + "PlanProperties": { + "type": "object", + "description": "This contains the data about the plan.", + "properties": { + "name": { + "type": "string", + "description": "This is the Plan ID." + }, + "publisher": { + "type": "string", + "description": "This is the publisher ID." + }, + "product": { + "type": "string", + "description": "This is the product of the image from the Marketplace." + } + } + }, + "PublicKeysProperties": { + "type": "object", + "description": "This contains the data about the public key.", + "properties": { + "path": { + "type": "string", + "description": "This specifies the full path on the VM where the SSH public key is stored." + }, + "keyData": { + "type": "string", + "description": "This is the SSH public key certificate used to authenticate with the VM." + } + } + }, + "TagsProperties": { + "type": "object", + "description": "This contains the properties of the tags in a tagsList.", + "properties": { + "name": { + "type": "string", + "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format." + }, + "value": { + "type": "string", + "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format." + } + } + }, + "Ipv4Properties": { + "type": "object", + "description": "This contains the IPv4 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IP address assigned to the interface." + }, + "publicIpAddress": { + "type": "string", + "description": "This is the public IP address assigned to the interface." + } + } + }, + "Ipv6Properties": { + "type": "object", + "description": "This contains the IPv6 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IPv6 address assigned to the interface." + } + } + }, + "SubnetProperties": { + "type": "object", + "description": "This contains the properties of the subnet.", + "properties": { + "address": { + "type": "string", + "description": "This is the address range of the subnet." + }, + "prefix": { + "type": "string", + "description": "This is the prefix of the subnet." + } + } + }, + "SecurityProfile": { + "type": "object", + "description": "This contains the data about the security profile associated with the VM.", + "properties": { + "secureBootEnabled": { + "type": "string", + "description": "Identifies if UEFI secure boot is enabled on the VM" + }, + "virtualTpmEnabled": { + "type": "string", + "description": "Identifies if the virtual Trusted Platform Module (TPM) is enabled on the VM" + } + } + }, + "StorageProfile": { + "type": "object", + "description": "This contains the data about the storage disks associated with the VM.", + "properties": { + "imageReference": { + "type": "object", + "$ref": "#/definitions/ImageReference", + "description": "Image information" + }, + "osDisk": { + "type": "object", + "$ref": "#/definitions/OsDisk", + "description": "OS disk information" + }, + "dataDisks": { + "type": "array", + "description": "Data disk information", + "items": { + "type": "object", + "description": "This contains information about the data disk.", + "$ref": "#/definitions/DataDisk" + } + } + } + }, + "ImageReference": { + "type": "object", + "description": "This contains information about the OS image.", + "properties": { + "id": { + "type": "string", + "description": "This is the resource ID." + }, + "offer": { + "type": "string", + "description": "This is the offer of the platform or marketplace image." + }, + "publisher": { + "type": "string", + "description": "This is the image publisher." + }, + "sku": { + "type": "string", + "description": "This is the image SKU." + }, + "version": { + "type": "string", + "description": "This is the version of the platform or marketplace image." + } + } + }, + "OsDisk": { + "type": "object", + "description": "This contains information about the OS disk used by the VM.", + "properties": { + "caching": { + "type": "string", + "description": "This is the caching requirements." + }, + "createOption": { + "type": "string", + "description": "This is information about how the VM was created." + }, + "diffDiskSettings": { + "type": "object", + "description": "This is the ephemeral disk settings.", + "$ref": "#/definitions/DiffDiskSettings" + }, + "diskSizeGB": { + "type": "string", + "description": "This is the size of the disk in GB." + }, + "encryptionSettings": { + "type": "object", + "description": "This is the encryption settings for the disk.", + "$ref": "#/definitions/EncryptionSettings" + }, + "image": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "$ref": "#/definitions/DiskImage" + }, + "managedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "$ref": "#/definitions/ManagedDisk" + }, + "name": { + "type": "string", + "description": "This is the disk name." + }, + "osType": { + "type": "string", + "description": "This is the type of OS included in the disk." + }, + "vhd": { + "type": "object", + "description": "This is the virtual hard disk.", + "$ref": "#/definitions/VirtualHardDisk" + }, + "writeAcceleratorEnabled": { + "type": "string", + "description": "This specifies whether or not writeAccelerator is enabled on the disk." + } + } + }, + "DataDisk": { + "type": "object", + "description": "This contains information about the data disk.", + "properties": { + "caching": { + "type": "string", + "description": "This is the caching requirements." + }, + "createOption": { + "type": "string", + "description": "This is information about how the VM was created." + }, + "diskSizeGB": { + "type": "string", + "description": "This is the size of the disk in GB." + }, + "image": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "$ref": "#/definitions/DiskImage" + }, + "lun": { + "type": "string", + "description": "This is the logical unit number of the disk." + }, + "managedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "$ref": "#/definitions/ManagedDisk" + }, + "name": { + "type": "string", + "description": "This is the disk name." + }, + "vhd": { + "type": "object", + "description": "This is the virtual hard disk.", + "$ref": "#/definitions/VirtualHardDisk" + }, + "writeAcceleratorEnabled": { + "type": "string", + "description": "This specifies whether or not writeAccelerator is enabled on the disk." + } + } + }, + "EncryptionSettings": { + "type": "object", + "description": "This is the encryption settings for the disk.", + "properties": { + "enabled": { + "type": "string", + "description": "This specifies whether or not disk encryption is enabled on the VM." + } + } + }, + "DiffDiskSettings": { + "type": "object", + "description": "This is the ephemeral disk settings.", + "properties": { + "option": { + "type": "string", + "description": "This specifies the ephemeral disk settings." + } + } + }, + "DiskImage": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "properties": { + "uri": { + "type": "string", + "description": "This is the uri of the virtual hard disk." + } + } + }, + "ManagedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "properties": { + "id": { + "type": "string", + "description": "This is the resource ID." + }, + "storageAccountType": { + "type": "string", + "description": "This is the storage account type for the managed disk." + } + } + }, + "VirtualHardDisk": { + "type": "object", + "description": "This is the virtual hard disk.", + "properties": { + "uri": { + "type": "string", + "description": "This is the uri of the virtual hard disk." + } + } + }, + "ApplicationResponse": { + "type": "string", + "description": "This is a binary string containing the application." + }, + "Instance": { + "type": "object", + "description": "This is the response from the Instance_GetMetadata operation.", + "properties": { + "compute": { + "$ref": "#/definitions/Compute", + "description": "Compute Metadata" + }, + "network": { + "$ref": "#/definitions/Network", + "description": "Network Metadata" + } + } + }, + "AttestedData": { + "type": "object", + "description": "This is the response from the Attested_GetDocument operation.", + "properties": { + "signature": { + "type": "string", + "description": "This is the encoded string containing the VM ID, SKU, plan information, public key, timestamp, and nonce value." + }, + "encoding": { + "type": "string", + "description": "This is the encoding scheme of the signature." + } + } + }, + "ErrorResponse": { + "description": "This is the response from an operation in the case an error occurs.", + "type": "object", + "properties": { + "error": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "IdentityErrorResponse": { + "type": "object", + "description": "This is the response from an Identity operation in the case an error occurs.", + "properties": { + "error": { + "type": "string", + "description": "Error code", + "enum": [ + "invalid_request", + "unauthorized_client", + "access_denied", + "unsupported_response_type", + "invalid_scope", + "server_error", + "service_unavailable", + "bad_request", + "forbidden", + "not_found", + "method_not_allowed", + "too_many_requests" + ], + "x-ms-enum": { + "name": "Error", + "modelAsString": true + } + }, + "error_description": { + "type": "string", + "description": "Error message indicating why the operation failed." + } + } + }, + "IdentityTokenResponse": { + "type": "object", + "description": "This is the response from the Identity_GetToken operation.", + "properties": { + "access_token": { + "type": "string", + "description": "This is the requested access token. The app can use this token to authenticate to the sink resource." + }, + "expires_in": { + "type": "string", + "description": "This is how long the access token is valid (in seconds)." + }, + "expires_on": { + "type": "string", + "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens." + }, + "ext_expires_in": { + "type": "string", + "description": "This indicates the extended lifetime of the token (in seconds)." + }, + "not_before": { + "type": "string", + "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time." + }, + "resource": { + "type": "string", + "description": "This is the app ID URI of the sink resource." + }, + "token_type": { + "type": "string", + "description": "This indicates the token type value." + }, + "client_id": { + "type": "string", + "description": "This is the client_id specified in the request, if any." + }, + "object_id": { + "type": "string", + "description": "This is the object_id specified in the request, if any." + }, + "msi_res_id": { + "type": "string", + "description": "This is the msi_res_id specified in the request, if any." + } + } + }, + "IdentityInfoResponse": { + "type": "object", + "description": "This is the response from the Identity_GetInfo operation.", + "properties": { + "tenantId": { + "type": "string", + "description": "This is the AAD tenantId of the identity of the system assigned managed identity." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "type": "string", + "enum": [ + "2018-10-01" + ], + "description": "This is the API version to use.", + "required": true, + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + } + }, + "MetadataParameter": { + "name": "Metadata", + "in": "header", + "type": "string", + "enum": [ + "true" + ], + "description": "This must be set to 'true'.", + "required": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/imds/data-plane/readme.md b/specification/imds/data-plane/readme.md index 8202bc8b0956..50d959f25654 100644 --- a/specification/imds/data-plane/readme.md +++ b/specification/imds/data-plane/readme.md @@ -106,6 +106,14 @@ These settings apply only when `--tag=package-2019-11-01` is specified on the co input-file: - Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json ``` +### Tag: package-2020-06-01 + +These settings apply only when `--tag=package-2020-06-01` is specified on the command line. + +```yaml $(tag) == 'package-2020-06-01' +input-file: +- Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json +``` ## Suppression ``` yaml @@ -259,6 +267,22 @@ input-file: - $.definitions.IdentityTokenResponse.properties.object_id - $.definitions.IdentityTokenResponse.properties.msi_res_id - $.definitions.IdentityErrorResponse.properties.error_description + + - suppress: DefinitionsPropertiesNamesCamelCase + reason: The following properties follow the Oath2 spec, which does not use camelCase. + from: Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json + where: + - $.definitions.IdentityTokenResponse.properties.access_token + - $.definitions.IdentityTokenResponse.properties.expires_in + - $.definitions.IdentityTokenResponse.properties.expires_on + - $.definitions.IdentityTokenResponse.properties.ext_expires_in + - $.definitions.IdentityTokenResponse.properties.not_before + - $.definitions.IdentityTokenResponse.properties.resource + - $.definitions.IdentityTokenResponse.properties.token_type + - $.definitions.IdentityTokenResponse.properties.client_id + - $.definitions.IdentityTokenResponse.properties.object_id + - $.definitions.IdentityTokenResponse.properties.msi_res_id + - $.definitions.IdentityErrorResponse.properties.error_description ``` --- diff --git a/specification/intune/resource-manager/readme.azureresourceschema.md b/specification/intune/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..85e92609e955 --- /dev/null +++ b/specification/intune/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-intune-2015-01-14-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-intune-2015-01-14-preview and azureresourceschema + +``` yaml $(tag) == 'schema-intune-2015-01-14-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Intune/preview/2015-01-14-preview/intune.json + +``` diff --git a/specification/intune/resource-manager/readme.md b/specification/intune/resource-manager/readme.md index c15b27b1cb39..5c25fc391ffc 100644 --- a/specification/intune/resource-manager/readme.md +++ b/specification/intune/resource-manager/readme.md @@ -51,6 +51,17 @@ 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-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js intune/resource-manager +``` ## C# These settings apply only when `--csharp` is specified on the command line. @@ -79,28 +90,7 @@ payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-intune ``` -## 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.Intune/preview/2015-01-14-preview/intune.json - - $(this-folder)/Microsoft.Intune/preview/2015-01-14-privatepreview/intune.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/iotcentral/resource-manager/readme.azureresourceschema.md b/specification/iotcentral/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3db7de0ae97a --- /dev/null +++ b/specification/iotcentral/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-iotcentral-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-iotcentral-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-iotcentral-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json + +``` diff --git a/specification/iotcentral/resource-manager/readme.md b/specification/iotcentral/resource-manager/readme.md index 0e236fbb0bbc..7870e12dbded 100644 --- a/specification/iotcentral/resource-manager/readme.md +++ b/specification/iotcentral/resource-manager/readme.md @@ -62,6 +62,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_central'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iotcentral/resource-manager ``` ## C# @@ -131,28 +134,7 @@ regenerate-manager: true 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.IoTCentral/stable/2018-09-01/iotcentral.json - - $(this-folder)/Microsoft.IoTCentral/preview/2017-07-01-privatepreview/iotcentral.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json index c0f82e849b8e..eafa77369c6f 100644 --- a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json @@ -2376,6 +2376,10 @@ "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, @@ -4149,6 +4153,33 @@ } } } + }, + "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." + } + } } }, "parameters": { diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..38ed67f15fe6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json new file mode 100644 index 000000000000..4e50438eb60e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..0f3880d49dbd --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..f7a99bc73484 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json new file mode 100644 index 000000000000..981193129a63 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..587c6d5912cb --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createOrUpdate.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "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" + }, + "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": [], + "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" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "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": [], + "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" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..f5d1bb14db46 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_delete.json new file mode 100644 index 000000000000..75dca824ab79 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_delete.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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": [], + "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 + } + } + }, + "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": [], + "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/2020-08-01/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..5433c162b85b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..0f482f86522a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..aa439d238045 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..ccd4a3866903 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-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": "##############################", + "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/2020-08-01/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_get.json new file mode 100644 index 000000000000..88777e621eeb --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_get.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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": [], + "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 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..b4714ea5da31 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-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", + "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/2020-08-01/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..51370b4ee7c8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getjob.json new file mode 100644 index 000000000000..c36cbdcff46a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getkey.json new file mode 100644 index 000000000000..30fd8e1f4601 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..7ca147a39339 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..f2a95e6350bf --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getskus.json new file mode 100644 index 000000000000..3773790f909f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_importdevices.json new file mode 100644 index 000000000000..11ea4a0db031 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..72173cc6f9d1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbyrg.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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": [], + "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 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..fca5c74a1951 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2020-08-01", + "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": [], + "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 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..43f0be9cf9d9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-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", + "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/2020-08-01/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..47e0daf8fe4e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listjobs.json new file mode 100644 index 000000000000..e8b6d3464ff2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listkeys.json new file mode 100644 index 000000000000..ccbb3f9f7a08 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=", + "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=", + "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=", + "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=", + "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..269b382a722b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..8f64796d12ec --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_operations.json new file mode 100644 index 000000000000..db24030bfc88 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2020-08-01" + }, + "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/2020-08-01/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_patch.json new file mode 100644 index 000000000000..cfb7448b13ef --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_patch.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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": [], + "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 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..92d6d8c274c4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..cde665e3139f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/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/2020-08-01/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..88aba4217c40 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..8879057f8636 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "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/2020-08-01/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..900a463d5c99 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-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/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/2020-08-01/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_usages.json new file mode 100644 index 000000000000..f767c7e6aba5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "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/2020-08-01/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/iothub.json new file mode 100644 index 000000000000..1a69c060f0f6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/iothub.json @@ -0,0 +1,4212 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01", + "title": "iotHubClient", + "description": "Use this API to manage the IoT hubs in your Azure subscription.", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + } + } + }, + "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", + "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 + }, + "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" + } + }, + "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" + } + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The hub state.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "The name of the host.", + "type": "string", + "readOnly": true + }, + "eventHubEndpoints": { + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + } + }, + "routing": { + "$ref": "#/definitions/RoutingProperties" + }, + "storageEndpoints": { + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + } + }, + "messagingEndpoints": { + "description": "The messaging endpoint properties for the file upload notification queue.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + } + }, + "enableFileUploadNotifications": { + "description": "If True, file upload notifications are enabled.", + "type": "boolean" + }, + "cloudToDevice": { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + "comments": { + "description": "IoT hub comments.", + "type": "string" + }, + "features": { + "description": "The capabilities and features enabled for the IoT hub.", + "enum": [ + "None", + "DeviceManagement" + ], + "type": "string", + "x-ms-enum": { + "name": "Capabilities", + "modelAsString": true + } + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + } + } + }, + "IotHubSkuInfo": { + "description": "Information about the SKU of the IoT hub.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU.", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubSku", + "modelAsString": true + } + }, + "tier": { + "description": "The billing tier for the IoT hub.", + "enum": [ + "Free", + "Standard", + "Basic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubSkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int64", + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EventHubProperties": { + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "type": "object", + "properties": { + "retentionTimeInDays": { + "format": "int64", + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", + "type": "integer" + }, + "partitionCount": { + "format": "int32", + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", + "type": "integer" + }, + "partitionIds": { + "description": "The partition ids in the Event Hub-compatible endpoint.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "description": "The Event Hub-compatible name.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The Event Hub-compatible endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "StorageEndpointProperties": { + "description": "The properties of the Azure Storage endpoint for file upload.", + "type": "object", + "properties": { + "sasTtlAsIso8601": { + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", + "type": "string", + "format": "duration" + }, + "connectionString": { + "description": "The connection string for the Azure Storage account to which files are uploaded.", + "type": "string" + }, + "containerName": { + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "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" + ] + }, + "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.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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 + } + }, + "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 + } + }, + "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 + } + }, + "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 + } + }, + "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" + ], + "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" + } + }, + "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" + } + } + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + } + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "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" + ], + "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 + } + }, + "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 + } + }, + "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 + } + } + } + } + }, + "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.azureresourceschema.md b/specification/iothub/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..384ec99b61f0 --- /dev/null +++ b/specification/iothub/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,192 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devices-2020-08-01 + - tag: schema-devices-2020-07-10-preview + - tag: schema-devices-2020-06-15 + - tag: schema-devices-2020-04-01 + - tag: schema-devices-2020-03-01 + - tag: schema-devices-2019-11-04 + - tag: schema-devices-2019-07-01-preview + - tag: schema-devices-2019-03-22-preview + - tag: schema-devices-2019-03-22 + - tag: schema-devices-2018-12-01-preview + - tag: schema-devices-2018-04-01 + - tag: schema-devices-2018-01-22 + - tag: schema-devices-2017-07-01 + - tag: schema-devices-2017-01-19 + - tag: schema-devices-2016-02-03 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devices-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-08-01/iothub.json + +``` + +### Tag: schema-devices-2020-07-10-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-07-10-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2020-07-10-preview/iothub.json + +``` + +### Tag: schema-devices-2020-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-06-15/iothub.json + +``` + +### Tag: schema-devices-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-04-01/iothub.json + +``` + +### Tag: schema-devices-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-03-01/iothub.json + +``` + +### Tag: schema-devices-2019-11-04 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-11-04' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2019-11-04/iothub.json + +``` + +### Tag: schema-devices-2019-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2019-07-01-preview/iothub.json + +``` + +### Tag: schema-devices-2019-03-22-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-03-22-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2019-03-22-preview/iothub.json + +``` + +### Tag: schema-devices-2019-03-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-03-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2019-03-22/iothub.json + +``` + +### Tag: schema-devices-2018-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2018-12-01-preview/iothub.json + +``` + +### Tag: schema-devices-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-04-01/iothub.json + +``` + +### Tag: schema-devices-2018-01-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-01-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-01-22/iothub.json + +``` + +### Tag: schema-devices-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-07-01/iothub.json + +``` + +### Tag: schema-devices-2017-01-19 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-01-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-01-19/iothub.json + +``` + +### Tag: schema-devices-2016-02-03 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2016-02-03' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2016-02-03/iothub.json + +``` diff --git a/specification/iothub/resource-manager/readme.csharp.md b/specification/iothub/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..3e562829e89e --- /dev/null +++ b/specification/iothub/resource-manager/readme.csharp.md @@ -0,0 +1,35 @@ +# C# Compute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for IotHub. + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +## Common C# settings + +## 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: 2 + clear-output-folder: true +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).IotHub +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/IotHub/Management.IotHub/Generated + +batch: + - tag: profile-hybrid-2020-09-01 +``` \ No newline at end of file diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md index 8dab6b89d6b3..1784c2380cf2 100644 --- a/specification/iothub/resource-manager/readme.md +++ b/specification/iothub/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the IotHub API. ``` yaml openapi-type: arm -tag: package-preview-2020-07 +tag: package-2020-08 ``` +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. + +```yaml $(tag) == 'package-2020-08' +input-file: + - Microsoft.Devices/stable/2020-08-01/iothub.json +``` ### Tag: package-preview-2020-07 These settings apply only when `--tag=package-preview-2020-07` is specified on the command line. -```yaml $(tag) == 'package-preview-2020-07' +``` yaml $(tag) == 'package-preview-2020-07' input-file: - Microsoft.Devices/preview/2020-07-10-preview/iothub.json ``` + ### Tag: package-2020-06 These settings apply only when `--tag=package-2020-06` is specified on the command line. @@ -155,6 +164,15 @@ input-file: - Microsoft.Devices/stable/2016-02-03/iothub.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: +- Microsoft.Devices/preview/2019-07-01-preview/iothub.json +``` + --- # Code Generation @@ -177,6 +195,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_hub'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iothub/resource-manager ``` ## C# @@ -201,37 +222,7 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.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! +## AzureResourceSchema -``` 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.Devices/stable/2020-04-01/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2020-03-01/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2019-11-04/iothub.json - - $(this-folder)/Microsoft.Devices/preview/2019-07-01-preview/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2019-03-22/iothub.json - - $(this-folder)/Microsoft.Devices/preview/2019-03-22-preview/iothub.json - - $(this-folder)/Microsoft.Devices/preview/2018-12-01-preview/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2018-04-01/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2018-01-22/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2017-07-01/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2017-01-19/iothub.json - - $(this-folder)/Microsoft.Devices/stable/2016-02-03/iothub.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/iotspaces/resource-manager/readme.azureresourceschema.md b/specification/iotspaces/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..280d1ea3abba --- /dev/null +++ b/specification/iotspaces/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-iotspaces-2017-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-iotspaces-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-iotspaces-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.IoTSpaces/preview/2017-10-01-preview/iotspaces.json + +``` diff --git a/specification/iotspaces/resource-manager/readme.md b/specification/iotspaces/resource-manager/readme.md index ffd5f3dc4dfe..49a0a68b3682 100644 --- a/specification/iotspaces/resource-manager/readme.md +++ b/specification/iotspaces/resource-manager/readme.md @@ -73,6 +73,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iotspaces/resource-manager ``` ## CSharp Settings @@ -94,27 +97,7 @@ csharp: See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.IoTSpaces/preview/2017-10-01-preview/iotspaces.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json index bcfd1860d89c..b7b9e122df92 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json @@ -337,7 +337,8 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the restore operation" + "description": "The end time of the restore operation", + "x-nullable": true } }, "description": "Selective Key Restore operation" @@ -380,7 +381,8 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the backup operation in UTC" + "description": "The end time of the backup operation in UTC", + "x-nullable": true }, "jobId": { "type": "string", @@ -419,7 +421,8 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the restore operation" + "description": "The end time of the restore operation", + "x-nullable": true } }, "description": "Restore operation" diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json index 6b913677029b..9e1f28b3430e 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json @@ -67,7 +67,8 @@ "$ref": "#/definitions/Error" } }, - "description": "The key vault server error." + "description": "The key vault server error.", + "x-nullable": true } } } diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json index 8cb42488f38b..33e83bcdc8ac 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json @@ -29,24 +29,8 @@ "key_hsm": "CxX3qVTt22ZvjwdS-fmMSsLpaQQ8IcfGAC2TYWo3FXIPnOrSmZWdWN3gLMNSLUtUOhXqwXCe6jOxH2jMr6suO4Q0mfrKurAB-IC5gbDZGGD9XksrAkyYS-0p4p4I4Q4QxEOCtCKYPYWWu91dg5xg5aYjVRyR5G3C6O0haotp1FL1FiOB1PVcW9HchDIdHMFCszsb33pbvDuYvJXPPqdSIGIT8P8ExVG9_RwYTZl2Kj3MTSbe9zjOEEW-EnA6Phr0EFO0h94dWK0Y2tPhyzGYOSBScJCWIdwD9lT1aaHNFE0rSLJ9wv0qGezR10nD7V7ALZiEscsrAcwrWTtmmCJMAIJpGf0u9rN1_JQiXuO4Q9Cf4b73nSP1kIIAPkZ3r6Fqmrm8F7NeKis" }, "release_policy": { - "anyOf": [ - { - "allOf": [ - { - "claim": "sgx-mrsigner", - "condition": "equals", - "value": "86788fe40448f2a12e20bf8d5e7a1c3139bc5fdc1432b370c1da3489ab649a85" - }, - { - "claim": "is-debuggable", - "condition": "equals", - "value": "false" - } - ], - "authority": "http://localhost:8023/" - } - ], - "version": "0.2" + "contentType": "application/json; charset=utf-8; version=1.0", + "data": "eyJhbnlPZiI6W3siYWxsT2YiOlt7ImNsYWltIjoic2d4LW1yc2lnbmVyIiwiY29uZGl0aW9uIjoiZXF1YWxzIiwidmFsdWUiOiI4Njc4OGZlNDA0NDhmMmExMmUyMGJmOGQ1ZTdhMWMzMTM5YmM1ZmRjMTQzMmIzNzBjMWRhMzQ4OWFiNjQ5YTg1In0seyJjbGFpbSI6ImlzLWRlYnVnZ2FibGUiLCJjb25kaXRpb24iOiJlcXVhbHMiLCJ2YWx1ZSI6ImZhbHNlIn1dLCJhdXRob3JpdHkiOiJodHRwOi8vbG9jYWxob3N0OjgwMjMvIn1dfQ" } } } diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json index 1c733f9c7967..ddcabd6f7668 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json @@ -1,7 +1,7 @@ { "parameters": { "vaultBaseUrl": "https://myvault.vault.azure.net/", - "Certificates": { + "CertificateInfoObject": { "certificates": [ { "value": { @@ -60,14 +60,48 @@ "e": "AQAB" } } - ] + ], + "required": 2 }, "api-version": "7.2-preview" }, "responses": { "200": { "body": { - "value": "{\"EncData\":{\"data\":[{\"compact_jwe\":\"ey$Jhb%232GciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwia2lkIjoiZW5jbGF2ZS$J9..5eVwZFlsZQeYXQ11HPC_JJg.4d32grvkQBMxyGmncd82VHOggiFbtuaKX2wXvjU-vKukMAtS7oLl9QsSZZJ5s94xAz7Atye93e6gA_2tbHW0QEzLOXiuV-vZ342zP46dxV56bEEjENIOgzBWAfxUkuUdnYE2UDahGSJSbhNxo8URa44CaSAX682q_otmwqh0jgxk5ZcbHRdwpbSFZnfQ6SgHBqrvQUUpKlWJMJQNuWeEjmWaPkCOUnwkJ1ZLOnVj1AB8rlfj0qnEtBotc4V5066vztRDaTLEOV99lp08WRcRPAY2QVBSfhZdzslQ2baRukk6WOTI5KxIl0cf7o0db_zgoT6vluewXgzTSe6NTcrparwVJ-r6kxw12gkYJtrr3ytvOT_lgip5-7H3PLAgDDRDjHd_PEdNyPqsg56QjtVXBUwutQrfh46s_ATm0dFrhAF6Icf9H2rLDGCiFmKUn-CrtM3vErNzu9BMC8ekuSOe0t0XTnsKOjdiabE95MoRIqQYWQGfi02Rp2XO_lSEUnQJTNomd1IATKPiqqktE5YUu0OzDrVCdSGBGg5IDedmGSp0QIf8m7kSc8xYUsU1PTdJoSzgiOAue0ur_P1i2xr_BSSI6I4BJekw9e58qqBbWN-kc3swgLddsCfXqyW9RnNBvjQmnwdffv1O_4zF0wGVnohs6PYu-9RqIzLxgfHvnlBQbsauWlqpNfw5h_JpnoKW287vPc2iXRONHlGdd-4Mp3323JFbISM6NgGg8y6nUAdKASjyXuqR7bTnr3pNTpjF4523buuzKG3Q4nzr-jnWGPIpxeyBV6unEK0Aw3-QQpY7CG_s3-76P484gJm4vPum03I_V3tmnNt}]}}" + "data": { + "EncData": { + "data": [ + { + "compact_jwe": "", + "tag": "hsm_backup" + }, + { + "compact_jwe": "", + "tag": "base_enclave_backup" + }, + { + "compact_jwe": "", + "tag": "partition_enclave_backup" + } + ], + "kdf": "sp108_kdf" + }, + "SharedKeys": { + "key_algorithm": "shamir_share", + "required": 2, + "enc_shares": [ + { + "enc_key": "compact JWE wrapped share1", + "x5t_256": "bWFuZ2VkaHNtDQo" + }, + { + "enc_key": "compact JWE wrapped share2", + "x5t_256": "bWFuZ2VkaHNta2V5dmF1bHQNCg" + } + ] + }, + "version": 2 + } } } } diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json index 9c9edb0d91fa..17ba565151ca 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json @@ -6,6 +6,7 @@ "responses": { "200": { "body": { + "key_format": "jwk", "transfer_key": { "kid": "https://myvault.vault.azure.net/transfer_key", "kty": "RSA", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json index e59cc01e4939..5e7318a81035 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json @@ -2,7 +2,29 @@ "parameters": { "vaultBaseUrl": "https://myvault.vault.azure.net/", "security_domain": { - "value": "" + "value": { + "EncData": { + "data": [ + { + "compact_jwe": "", + "tag": "hsm_backup" + }, + { + "compact_jwe": "", + "tag": "base_enclave_backup" + }, + { + "compact_jwe": "", + "tag": "partition_enclave_backup" + } + ], + "kdf": "sp108_kdf" + }, + "WrappedKey": { + "enc_key": "eyJhbGciOiJ", + "x5t_256": "h8ObF2NU85MhzEEE2JrSSGcF7aK2CiNrffef1r8mY" + } + } }, "api-version": "7.2-preview" }, diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json index ad468d0f250f..2d19a1aa5d13 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json @@ -1033,83 +1033,6 @@ } }, "definitions": { - "KeyReleaseCondition": { - "properties": { - "claim": { - "x-ms-client-name": "claimType", - "type": "string", - "minLength": 1, - "description": "claim type name" - }, - "condition": { - "x-ms-client-name": "claimCondition", - "type": "string", - "minLength": 1, - "description": "condition to test", - "enum": [ - "equals" - ], - "x-ms-enum": { - "name": "KeyReleaseConditionCondition", - "modelAsString": true, - "values": [ - { - "value": "equals", - "description": "equals comparison." - } - ] - } - }, - "value": { - "type": "string" - } - } - }, - "KeyReleaseAuthority": { - "properties": { - "authority": { - "x-ms-client-name": "authorityURL", - "type": "string", - "minLength": 1, - "description": "Base URL of the attestation service." - }, - "allOf": { - "type": "array", - "items": { - "$ref": "#/definitions/KeyReleaseCondition", - "description": "The set of claim conditions that must be met." - } - } - } - }, - "KeyReleasePolicy": { - "properties": { - "version": { - "description": "key release policy version", - "type": "string", - "enum": [ - "0.2" - ], - "x-ms-enum": { - "name": "KeyReleasePolicyVersion", - "modelAsString": true, - "values": [ - { - "value": "0.2", - "description": "Schema version 0.2" - } - ] - } - }, - "anyOf": { - "type": "array", - "items": { - "$ref": "#/definitions/KeyReleaseAuthority", - "description": "Authorities." - } - } - } - }, "JsonWebKey": { "properties": { "kid": { @@ -1387,6 +1310,20 @@ }, "description": "The key item containing key metadata." }, + "KeyReleasePolicy": { + "properties": { + "contentType": { + "description": "Content type and version of key release policy", + "type": "string", + "default": "application/json; charset=utf-8; version=1.0" + }, + "data": { + "description": "Blob encoding the policy rules under which the key can be exported.", + "type": "string", + "format": "base64url" + } + } + }, "DeletedKeyBundle": { "allOf": [ { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json index 6f2bb9644780..6ff6f9e7856e 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json @@ -37,12 +37,12 @@ "parameters": [ { "in": "body", - "name": "Certificates", + "name": "CertificateInfoObject", "required": true, "schema": { - "$ref": "#/definitions/CertificateSet" + "$ref": "#/definitions/CertificateInfoObject" }, - "description": "Security domain download operation requires customer to provide three certificates containing public key in JWK format." + "description": "Security domain download operation requires customer to provide N certificates (minimum 3 and maximum 10) containing public key in JWK format." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -50,7 +50,7 @@ ], "responses": { "200": { - "description": "Security domain download response", + "description": "This is the specification of the security domain as downloaded from the new pool", "schema": { "$ref": "#/definitions/SecurityDomainObject" } @@ -120,7 +120,7 @@ "description": "security domain", "required": true, "schema": { - "$ref": "#/definitions/SecurityDomainObject" + "$ref": "#/definitions/SecurityDomainUploadObject" } } ], @@ -185,7 +185,7 @@ } }, "definitions": { - "CertificateSet": { + "CertificateInfoObject": { "properties": { "certificates": { "type": "array", @@ -193,9 +193,16 @@ "$ref": "#/definitions/SecurityDomainCertificateItem" }, "minItems": 3, - "maxItems": 3, + "maxItems": 10, "uniqueItems": true, - "description": "Three certificates needed from customer" + "description": "Certificates needed from customer" + }, + "required": { + "description": "Customer to specify the number of certificates (minimum 2 and maximum 10) to restore security domain", + "type": "integer", + "default": 2, + "minimum": 2, + "maximum": 10 } }, "required": [ @@ -215,8 +222,14 @@ }, "TransferKey": { "properties": { + "key_format": { + "type": "string", + "default": "jwk", + "description": "Specifies the format of the transfer key" + }, "transfer_key": { - "$ref": "#/definitions/SecurityDomainJsonWebKey" + "$ref": "#/definitions/SecurityDomainJsonWebKey", + "description": "Specifies the transfer key in JWK format" } }, "required": [ @@ -225,10 +238,113 @@ }, "SecurityDomainObject": { "properties": { - "value": { - "type": "string" + "data": { + "type": "object", + "properties": { + "EncData": { + "$ref": "#/definitions/EncDataSet", + "description": "Array of encrypted data set" + }, + "SharedKeys": { + "properties": { + "key_algorithm": { + "type": "string", + "default": "shamir_share", + "description": "The Algorithm used for shared keys" + }, + "required": { + "type": "integer", + "minimum": 2, + "maximum": 10, + "description": "The number of keys (minimum 2 and maximum 10) required for security domain. " + }, + "enc_shares": { + "type": "array", + "items": { + "$ref": "#/definitions/Key", + "minItems": 3, + "maxItems": 10 + }, + "uniqueItems": true, + "description": "Compact JWE wrapped shares array" + } + }, + "required": [ + "key_algorithm", + "required", + "enc_shares" + ], + "description": "Array of shared keys" + }, + "version": { + "type": "integer" + } + }, + "required": [ + "EncData", + "SharedKeys", + "version" + ] } - } + }, + "description": "Security domain", + "required": [ + "data" + ] + }, + "EncDataSet": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/EncDataSetItem", + "minItems": 2 + }, + "description": "Array of encrypted security domain", + "uniqueItems": true + }, + "kdf": { + "type": "string", + "default": "sp108_kdf", + "description": "The key derivation function used" + } + }, + "required": [ + "data", + "kdf" + ] + }, + "EncDataSetItem": { + "properties": { + "compact_jwe": { + "type": "string", + "description": "Encrypted data" + }, + "tag": { + "type": "string", + "description": "hsm backup tag" + } + }, + "required": [ + "compact_jwe", + "tag" + ] + }, + "Key": { + "properties": { + "enc_key": { + "type": "string", + "description": "Compact JWE wrapped share" + }, + "x5t_256": { + "type": "string", + "description": "SHA 256 hash of certificate" + } + }, + "required": [ + "enc_key", + "x5t_256" + ] }, "SecurityDomainOperationStatus": { "properties": { @@ -258,15 +374,7 @@ }, "kty": { "type": "string", - "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For security domain this value must be RSA", - "enum": [ - "RSA", - "RSA-HSM" - ], - "x-ms-enum": { - "name": "JsonWebKeyType", - "modelAsString": true - } + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For security domain this value must be RSA" }, "key_ops": { "type": "array", @@ -310,12 +418,51 @@ "required": [ "kty", "key_ops", + "alg", "kid", "x5c", "x5t#S256", "n", "e" ] + }, + "SecurityDomainUploadObject": { + "properties": { + "value": { + "type": "object", + "properties": { + "EncData": { + "$ref": "#/definitions/EncDataSet", + "description": "Array of encrypted data set" + }, + "WrappedKey": { + "properties": { + "enc_key": { + "type": "string", + "description": "Encryption key used to encrypt the EncData" + }, + "x5t_256": { + "type": "string", + "description": "Thumbprint used to determine which certificate was used to encrypt the enc_key field" + } + }, + "required": [ + "enc_key", + "x5t_256" + ], + "description": "Key object containing the encryption key used to encrypt EncData object" + } + }, + "required": [ + "EncData", + "WrappedKey" + ] + } + }, + "description": "Security domain object uploaded to a new pool", + "required": [ + "value" + ] } }, "parameters": { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json index e7394ee8cb47..489c6be6402f 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json @@ -3754,7 +3754,7 @@ }, { "value": "oct", - "description": "Octet sequence (used to represent symmetric keys)" + "description": "Not supported in this version. Octet sequence (used to represent symmetric keys)" } ] } @@ -5236,7 +5236,7 @@ "value": { "x-ms-client-name": "base64EncodedCertificate", "type": "string", - "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." + "description": "A PEM file or a base64-encoded PFX file. PEM files need to contain the private key." }, "pwd": { "x-ms-client-name": "password", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json index 6760c1d5970b..b2df715edcae 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json @@ -1842,7 +1842,7 @@ "value": { "x-ms-client-name": "base64EncodedCertificate", "type": "string", - "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." + "description": "A PEM file or a base64-encoded PFX file. PEM files need to contain the private key." }, "pwd": { "x-ms-client-name": "password", diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json index 6d4a85db9488..f0a3aa63cc26 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json @@ -1013,7 +1013,7 @@ }, { "value": "oct", - "description": "Octet sequence (used to represent symmetric keys)" + "description": "Not supported in this version. Octet sequence (used to represent symmetric keys)" } ] } diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json index a6b3ce99de60..bbc96838e049 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json @@ -469,7 +469,7 @@ ], "responses": { "200": { - "description": "A Secret bundle of the original secret and its attributes.", + "description": "A Secret id and its attributes only.", "schema": { "$ref": "#/definitions/SecretBundle" } diff --git a/specification/keyvault/data-plane/readme.go.md b/specification/keyvault/data-plane/readme.go.md index 4da1caa5e2cb..051165621376 100644 --- a/specification/keyvault/data-plane/readme.go.md +++ b/specification/keyvault/data-plane/readme.go.md @@ -35,7 +35,7 @@ These settings apply only when `--tag=package-7.1 --go` is specified on the comm Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-7.1' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/v7.1/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/v7.1/$(namespace) ``` ### Tag: package-7.0 and go diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json new file mode 100644 index 000000000000..16c3ad45709d --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true + }, + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": null, + "provisioningState": "Provisioning", + "statusMessage": "Allocating hardware" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Delete.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Delete.json new file mode 100644 index 000000000000..a8cca6244440 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json new file mode 100644 index 000000000000..9dd9972f3fac --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json new file mode 100644 index 000000000000..7a3fe9cb1ee9 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + }, + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm2.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2", + "name": "hsm2", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs?api-version=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json new file mode 100644 index 000000000000..63ae1da82161 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + }, + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm2.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2", + "name": "hsm2", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/managedHSMs?api-version=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json new file mode 100644 index 000000000000..ebedabe4e003 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + }, + "202": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Updating", + "statusMessage": "ManagedHsm is updating." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/checkVaultNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/checkVaultNameAvailability.json new file mode 100644 index 000000000000..6d3bb051dd0f --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/checkVaultNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "vaultName": { + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createSecret.json new file mode 100644 index 000000000000..0ed281968ba0 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createSecret.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "value": "secret-value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514938738, + "updated": 1514938738 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514938738, + "updated": 1514938738 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json new file mode 100644 index 000000000000..bfcef174e0e1 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "location": "westus", + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json new file mode 100644 index 000000000000..15e15f63d586 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "location": "westus", + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91/32" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91/32" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deletePrivateEndpointConnection.json new file mode 100644 index 000000000000..2e927897cf70 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deletePrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2018-02-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Disconnected" + } + } + }, + "202": { + "headers": { + "Retry-After": "60", + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec?operationid=25334578" + } + }, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deleteVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deleteVault.json new file mode 100644 index 000000000000..ca3613bc6326 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deleteVault.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json new file mode 100644 index 000000000000..04f83b94645a --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/deletedVaults", + "properties": { + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "location": "westus", + "tags": {}, + "deletionDate": "2017-01-01T00:00:59Z", + "scheduledPurgeDate": "2017-04-01T00:00:59Z" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json new file mode 100644 index 000000000000..2fb84a554652 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2018-02-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getSecret.json new file mode 100644 index 000000000000..28e50e6568f8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getSecret.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940950, + "updated": 1514940950 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/77445834f7de41bab81d0723bf996860" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json new file mode 100644 index 000000000000..9ad3bc5a4220 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json new file mode 100644 index 000000000000..61cf7abfa431 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault", + "name": "vault-agile-drawer-6404", + "type": "Microsoft.KeyVault/deletedVaults", + "properties": { + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "location": "westus", + "tags": {}, + "deletionDate": "2017-01-01T00:00:59Z", + "scheduledPurgeDate": "2017-04-01T00:00:59Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedVaults?api-version=2020-04-01-preview&%24skiptoken=HY3RaoMwAEX%2fRcbeYhJrnRXKYNWOuqpME0sfNcYui0Yxade19N8ne7hcDlzOvVuKX81eKKmt4G4dooLQwgqsL2NGHUDYV6o68Z4rY1e388RtNvRQn2vNJjEaMSgNvcbneMUcsKg8BFwft8DndQ0w9hu2QOiFLRs4TsNFNHzSMBFsGvTQGvuD%2f5bVuTOw4R03vPkH%2fVqNAlzm5SxfOwh7ACOA8POTlvPjILlaU1ke8jImOc23JCppQVfZnna0DXc4ISc3vSVuRo5zJE6%2bj25C3vwk2v2kEV2mMn7PyOc1DbtNGkonnzuLym1G400uI5QRZj0efw%3d%3d" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json new file mode 100644 index 000000000000..4b2ccaa8fe0b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KeyVault/vaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "View Key Vault", + "description": "View the properties of a key vault" + } + }, + { + "name": "Microsoft.KeyVault/vaults/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Update Key Vault", + "description": "Create a new key vault or update the properties of an existing key vault" + } + }, + { + "name": "Microsoft.KeyVault/vaults/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Delete Key Vault", + "description": "Delete a key vault" + } + }, + { + "name": "Microsoft.KeyVault/vaults/deploy/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Use Vault for Azure Deployments", + "description": "Enables access to secrets in a key vault when deploying Azure resources" + } + }, + { + "name": "Microsoft.KeyVault/vaults/secrets/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Secret", + "operation": "View Secret Properties", + "description": "View the properties of a secret, but not its value" + } + }, + { + "name": "Microsoft.KeyVault/vaults/secrets/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Secret", + "operation": "Update Secret", + "description": "Create a new secret or update the value of an existing secret" + } + }, + { + "name": "Microsoft.KeyVault/vaults/accessPolicies/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Access Policy", + "operation": "Update Access Policy", + "description": "Update an existing access policy by merging or replacing, or add a new access policy to a vault." + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Log Definition", + "operation": "Read log definition", + "description": "Gets the available logs for a key vault" + }, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "AuditEvent", + "displayName": "Audit Logs", + "blobDuration": "PT1H" + } + ] + } + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Diagnostic Settings", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Diagnostic Settings", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.KeyVault/register/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Register Subscription", + "description": "Registers a subscription" + } + }, + { + "name": "Microsoft.KeyVault/unregister/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Unregister Subscription", + "description": "Unregisters a subscription" + } + }, + { + "name": "Microsoft.KeyVault/operations/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Operations", + "operation": "Available Key Vault Operations", + "description": "Lists operations available on Microsoft.KeyVault resource provider" + } + }, + { + "name": "Microsoft.KeyVault/checkNameAvailability/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that a key vault name is valid and is not in use" + } + }, + { + "name": "Microsoft.KeyVault/deletedVaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "View Soft Deleted Vaults", + "description": "View the properties of soft deleted key vaults" + } + }, + { + "name": "Microsoft.KeyVault/locations/deletedVaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "View Soft Deleted Key Vault", + "description": "View the properties of a soft deleted key vault" + } + }, + { + "name": "Microsoft.KeyVault/locations/deletedVaults/purge/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "Purge Soft Deleted Key Vault", + "description": "Purge a soft deleted key vault" + } + }, + { + "name": "Microsoft.KeyVault/locations/operationResults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Long Run Operation Result", + "operation": "Check Operation Result", + "description": "Check the result of a long run operation" + } + }, + { + "name": "Microsoft.KeyVault/hsmPools/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "View HSM pool", + "description": "View the properties of an HSM pool" + } + }, + { + "name": "Microsoft.KeyVault/hsmPools/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Create or Update HSM pool", + "description": "Create a new HSM pool of update the properties of an existing HSM pool" + } + }, + { + "name": "Microsoft.KeyVault/hsmPools/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Delete HSM pool", + "description": "Delete an HSM pool" + } + }, + { + "name": "Microsoft.KeyVault/hsmPools/joinVault/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Join KeyVault to HSM pool", + "description": "Join a key vault to an HSM pool" + } + }, + { + "name": "Microsoft.KeyVault/managedHSMs/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "View Managed HSM", + "description": "View the properties of a Managed HSM" + } + }, + { + "name": "Microsoft.KeyVault/managedHSMs/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "Create or Update Managed HSM", + "description": "Create a new Managed HSM of update the properties of an existing Managed HSM" + } + }, + { + "name": "Microsoft.KeyVault/managedHSMs/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "Delete Managed HSM", + "description": "Delete a Managed HSM" + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Metric Definition", + "operation": "Read metric definition", + "description": "Gets the available metrics for a key vault" + }, + "properties": { + "serviceSpecification": {} + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Location", + "operation": "Modify Network ACLs containing the deleted Vitual Network or Subnet ", + "description": "Notifies Microsoft.KeyVault that a virtual network or subnet is being deleted" + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listPrivateLinkResources.json new file mode 100644 index 000000000000..f76786fad20e --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "api-version": "2018-02-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateLinkResources/vault", + "name": "vault", + "type": "Microsoft.KeyVault/vaults/privateLinkResources", + "properties": { + "groupId": "vault", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.vaultcore.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listSecrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listSecrets.json new file mode 100644 index 000000000000..a16811133673 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listSecrets.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514941476, + "updated": 1514941476 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/40af42fbc10047f8a756a73211492f56" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name2", + "name": "secret-name2", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514941476, + "updated": 1514941476 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name2", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name2/cd7264a6f56c44d1b594423c80609aae" + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVault.json new file mode 100644 index 000000000000..3397baaa9f83 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVault.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "$filter": "resourceType eq 'Microsoft.KeyVault/vaults'", + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2015-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {} + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?%24filter=resourceType+eq+%27Microsoft.KeyVault%2fvaults%27&%24top=4&api-version=2015-11-01&%24skiptoken=eyJuZXh0UGFydGl0aW9uS2V5IjoiMSE4IVEwTTJNVGMtIiwibmV4dFJvd0tleSI6IjEhMTMyIU5rUTRSVEU1UXpJelFUWXdORGd4UmpoRlFrSXhNVGhFUXpNd01EZEROVVJmVkVkT1RDMU5TVU5TVDFOUFJsUTZNa1ZMUlZsV1FWVk1WRG95UmxaQlZVeFVVeTFUVTFKSExVcEpUVG95UkZSRlUxUTZNa1JXUVZWTVZDMVhSVk5VVlZNLSJ9" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json new file mode 100644 index 000000000000..2c8180503662 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "premium" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "enableSoftDelete": true, + "vaultUri": "https://sample-vault.vault.azure.net/" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults?api-version=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json new file mode 100644 index 000000000000..b0d0dd555f98 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "premium" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "enableSoftDelete": true, + "vaultUri": "https://sample-vault.vault.azure.net/" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?api-version=22020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json new file mode 100644 index 000000000000..2b48cf219ca8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "202": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json new file mode 100644 index 000000000000..2e37409c6098 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2018-02-14", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this.", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateAccessPoliciesAdd.json new file mode 100644 index 000000000000..fb43acb94d79 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateAccessPoliciesAdd.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "operationKind": "add", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/", + "type": "Microsoft.KeyVault/vaults/accessPolicies", + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/", + "type": "Microsoft.KeyVault/vaults/accessPolicies", + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateSecret.json new file mode 100644 index 000000000000..5e5f395f305b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateSecret.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "value": "secret-value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940684, + "updated": 1514940698 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940684, + "updated": 1514940698 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json new file mode 100644 index 000000000000..b179dc327999 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json @@ -0,0 +1,218 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json new file mode 100644 index 000000000000..1f3e463ea937 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json @@ -0,0 +1,1835 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": { + "put": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Create or update a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the server belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultCreateOrUpdateParameters" + }, + "description": "Parameters to create or update the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "200": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Vault" + } + } + }, + "x-ms-examples": { + "Create a new vault or update an existing vault": { + "$ref": "./examples/createVault.json" + }, + "Create or update a vault with network acls": { + "$ref": "./examples/createVaultWithNetworkAcls.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Update", + "description": "Update a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the server belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultPatchParameters" + }, + "description": "Parameters to patch the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "200": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + } + }, + "x-ms-examples": { + "Update an existing vault": { + "$ref": "./examples/updateVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Delete", + "description": "Deletes the specified Azure key vault.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault to delete" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK Response." + }, + "204": { + "description": "No Content." + } + }, + "x-ms-examples": { + "Delete a vault": { + "$ref": "./examples/deleteVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Get", + "description": "Gets the specified Azure key vault.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved vault", + "schema": { + "$ref": "#/definitions/Vault" + } + } + }, + "x-ms-examples": { + "Retrieve a vault": { + "$ref": "./examples/getVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": { + "put": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_UpdateAccessPolicy", + "description": "Update access policies in a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "operationKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ], + "x-ms-enum": { + "name": "AccessPolicyUpdateKind", + "modelAsString": false + }, + "description": "Name of the operation" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + }, + "description": "Access policy to merge into the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + }, + "200": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + } + }, + "x-ms-examples": { + "Add an access policy, or update an access policy with new permissions": { + "$ref": "./examples/updateAccessPoliciesAdd.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListByResourceGroup", + "description": "The List operation gets information about the vaults associated with the subscription and within the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the specified resource group.", + "schema": { + "$ref": "#/definitions/VaultListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified resource group": { + "$ref": "./examples/listVaultByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListBySubscription", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the specified subscription.", + "schema": { + "$ref": "#/definitions/VaultListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVaultBySubscription.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListDeleted", + "description": "Gets information about the deleted vaults in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about all deleted key vaults in a subscription.", + "schema": { + "$ref": "#/definitions/DeletedVaultListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deleted vaults in the specified subscription": { + "$ref": "./examples/listDeletedVaults.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_GetDeleted", + "description": "Gets the deleted Azure key vault.", + "parameters": [ + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the deleted vault.", + "schema": { + "$ref": "#/definitions/DeletedVault" + } + } + }, + "x-ms-examples": { + "Retrieve a deleted vault": { + "$ref": "./examples/getDeletedVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": { + "post": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_PurgeDeleted", + "x-ms-long-running-operation": true, + "description": "Permanently deletes the specified vault. aka Purges the deleted Azure key vault.", + "parameters": [ + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the soft-deleted vault." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the soft-deleted vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The vault is purged." + }, + "202": { + "description": "Vault is being purged." + } + }, + "x-ms-examples": { + "Purge a deleted vault": { + "$ref": "./examples/purgeDeletedVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resources": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_List", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "resourceType eq 'Microsoft.KeyVault/vaults'" + ], + "description": "The filter to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2015-11-01" + ], + "description": "Azure Resource Manager Api Version." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the subscription.", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVault.json" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": { + "post": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_CheckNameAvailability", + "description": "Checks that the vault name is valid and is not already in use.", + "parameters": [ + { + "name": "vaultName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultCheckNameAvailabilityParameters" + }, + "description": "The name of the vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the vault name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + }, + "x-ms-examples": { + "Validate a vault name": { + "$ref": "./examples/checkVaultNameAvailability.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultGetPrivateEndpointConnection": { + "$ref": "./examples/getPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Private endpoint connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Updates the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultPutPrivateEndpointConnection": { + "$ref": "./examples/putPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The intended state of private endpoint connection." + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The state of private endpoint connection was updated successfully.", + "headers": { + "Retry-After": { + "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultDeletePrivateEndpointConnection": { + "$ref": "./examples/deletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The private endpoint connection is being deleted.", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in the location header.", + "type": "integer" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByVault", + "description": "Gets the private link resources supported for the key vault.", + "x-ms-examples": { + "KeyVaultListPrivateLinkResources": { + "$ref": "./examples/listPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "description": "An error response from Key Vault resource provider", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from Key Vault resource provider", + "properties": { + "code": { + "type": "string", + "description": "Error code. This is a mnemonic that can be consumed programmatically." + }, + "message": { + "type": "string", + "description": "User friendly error message. The message is typically localized and may vary with service version." + } + }, + "x-ms-external": true + }, + "Sku": { + "properties": { + "family": { + "type": "string", + "description": "SKU family name", + "enum": [ + "A" + ], + "x-ms-enum": { + "name": "SkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.", + "enum": [ + "standard", + "premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "SKU details", + "required": [ + "name", + "family" + ] + }, + "AccessPolicyEntry": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "objectId": { + "type": "string", + "description": "The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies." + }, + "applicationId": { + "type": "string", + "format": "uuid", + "description": " Application ID of the client making request on behalf of a principal" + }, + "permissions": { + "$ref": "#/definitions/Permissions", + "description": "Permissions the identity has for keys, secrets and certificates." + } + }, + "description": "An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.", + "required": [ + "tenantId", + "objectId", + "permissions" + ] + }, + "Permissions": { + "properties": { + "keys": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "x-ms-enum": { + "name": "KeyPermissions", + "modelAsString": true + } + }, + "description": "Permissions to keys" + }, + "secrets": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "x-ms-enum": { + "name": "SecretPermissions", + "modelAsString": true + } + }, + "description": "Permissions to secrets" + }, + "certificates": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge", + "backup", + "restore" + ], + "x-ms-enum": { + "name": "CertificatePermissions", + "modelAsString": true + } + }, + "description": "Permissions to certificates" + }, + "storage": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "list", + "delete", + "set", + "update", + "regeneratekey", + "recover", + "purge", + "backup", + "restore", + "setsas", + "listsas", + "getsas", + "deletesas" + ], + "x-ms-enum": { + "name": "StoragePermissions", + "modelAsString": true + } + }, + "description": "Permissions to storage accounts" + } + }, + "description": "Permissions the identity has for keys, secrets, certificates and storage." + }, + "VaultProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU details" + }, + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required." + }, + "vaultUri": { + "type": "string", + "description": "The URI of the vault for performing operations on keys and secrets." + }, + "enabledForDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "type": "boolean", + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enableSoftDelete": { + "type": "boolean", + "default": true, + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "default": 90, + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "enableRbacAuthorization": { + "type": "boolean", + "default": false, + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC." + }, + "createMode": { + "type": "string", + "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false + } + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Rules governing the accessibility of the key vault from specific network locations." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionItem" + }, + "description": "List of private endpoint connections associated with the key vault." + } + }, + "required": [ + "tenantId", + "sku" + ], + "description": "Properties of the vault" + }, + "VaultPatchProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU details" + }, + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + }, + "enabledForDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "type": "boolean", + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enableSoftDelete": { + "type": "boolean", + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false." + }, + "enableRbacAuthorization": { + "type": "boolean", + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "createMode": { + "type": "string", + "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false + } + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility of the vault from specific network locations." + } + }, + "description": "Properties of the vault" + }, + "VaultAccessPolicyProperties": { + "properties": { + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + } + }, + "required": [ + "accessPolicies" + ], + "description": "Properties of the vault access policy" + }, + "DeletedVaultProperties": { + "properties": { + "vaultId": { + "readOnly": true, + "type": "string", + "description": "The resource id of the original vault." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the original vault." + }, + "deletionDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The deleted date." + }, + "scheduledPurgeDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The scheduled purged date." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags of the original vault." + } + }, + "description": "Properties of the deleted vault." + }, + "VaultCreateOrUpdateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The supported Azure location where the key vault should be created." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key vault." + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" + } + }, + "description": "Parameters for creating or updating a vault", + "required": [ + "location", + "properties" + ], + "x-ms-azure-resource": true + }, + "VaultPatchParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key vault. " + }, + "properties": { + "$ref": "#/definitions/VaultPatchProperties", + "description": "Properties of the vault" + } + }, + "description": "Parameters for creating or updating a vault", + "x-ms-azure-resource": true + }, + "VaultAccessPolicyParameters": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id of the access policy." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The resource type of the access policy." + }, + "properties": { + "$ref": "#/definitions/VaultAccessPolicyProperties", + "description": "Properties of the access policy" + } + }, + "description": "Parameters for updating the access policy in a vault", + "required": [ + "properties" + ], + "x-ms-azure-resource": true + }, + "Vault": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified identifier of the key vault resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the key vault resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type of the key vault resource." + }, + "location": { + "type": "string", + "description": "Azure location of the key vault resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the key vault resource." + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" + } + }, + "required": [ + "properties" + ], + "description": "Resource information with extended details.", + "x-ms-azure-resource": true + }, + "DeletedVault": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource ID for the deleted key vault." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the key vault." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type of the key vault." + }, + "properties": { + "$ref": "#/definitions/DeletedVaultProperties", + "description": "Properties of the vault" + } + }, + "description": "Deleted vault information with extended details." + }, + "VaultListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vault" + }, + "description": "The list of vaults." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of vaults." + } + }, + "description": "List of vaults" + }, + "DeletedVaultListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedVault" + }, + "description": "The list of deleted vaults." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of deleted vaults." + } + }, + "description": "List of vaults" + }, + "ResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Resource" + }, + "description": "The list of vault resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of vault resources." + } + }, + "description": "List of vault resources." + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified identifier of the key vault resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the key vault resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type of the key vault resource." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Azure location of the key vault resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the key vault resource." + } + }, + "description": "Key Vault resource", + "x-ms-azure-resource": true + }, + "VaultCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The vault name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.KeyVault/vaults" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the vault name." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "An error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.", + "enum": [ + "AzureServices", + "None" + ], + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "defaultAction": { + "type": "string", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a vault." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a vault from a specific ip address or ip range." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a vault from a specific virtual network." + }, + "PrivateEndpointConnectionItem": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Private endpoint connection properties." + } + }, + "description": "Private endpoint connection item." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Private endpoint connection resource.", + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Properties of the private endpoint object." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Approval state of the private link connection." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full identifier of the private endpoint resource." + } + }, + "description": "Private endpoint object properties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "actionRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "An object that represents the approval state of the private link connection." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "Group identifier of private link resource.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "Required member names of private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required DNS zone names of the the private link resource." + } + }, + "description": "Properties of a private link resource." + } + }, + "parameters": { + "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." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the resource group that contains the key vault.", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the key vault.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the key vault.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json new file mode 100644 index 000000000000..34462f6b4514 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json @@ -0,0 +1,622 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.", + "version": "2020-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.KeyVault/managedHSMs/{name}": { + "put": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Create or update a managed HSM Pool in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "Parameters to create or update the managed HSM Pool" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "200": { + "description": "Created or updated managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Create a new managed HSM Pool or update an existing managed HSM Pool": { + "$ref": "./examples/ManagedHsm_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Update", + "x-ms-long-running-operation": true, + "description": "Update a managed HSM Pool in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "Parameters to patch the managed HSM Pool" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "200": { + "description": "Patched managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Update an existing managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Update.json" + } + } + }, + "delete": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Delete", + "description": "Deletes the specified managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed HSM Pool to delete" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/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": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Delete a managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Get", + "description": "Gets the specified managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed HSM Pool." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Retrieve a managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_ListByResourceGroup", + "description": "The List operation gets information about the managed HSM Pools associated with the subscription and within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified resource group.", + "schema": { + "$ref": "#/definitions/ManagedHsmListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed HSM Pools in a resource group": { + "$ref": "./examples/ManagedHsm_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_ListBySubscription", + "description": "The List operation gets information about the managed HSM Pools associated with the subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified subscription.", + "schema": { + "$ref": "#/definitions/ManagedHsmListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "List managed HSM Pools in a subscription": { + "$ref": "./examples/ManagedHsm_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ManagedHsmSku": { + "properties": { + "family": { + "type": "string", + "description": "SKU Family of the managed HSM Pool", + "enum": [ + "B" + ], + "x-ms-enum": { + "name": "ManagedHsmSkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU of the managed HSM Pool", + "enum": [ + "Standard_B1", + "Custom_B32" + ], + "x-ms-enum": { + "name": "ManagedHsmSkuName", + "modelAsString": false + } + } + }, + "description": "SKU details", + "required": [ + "name", + "family" + ] + }, + "ManagedHsmProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool." + }, + "initialAdminObjectIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of initial administrators object ids for this managed hsm pool." + }, + "hsmUri": { + "type": "string", + "description": "The URI of the managed hsm pool for performing operations on keys." + }, + "enableSoftDelete": { + "type": "boolean", + "default": true, + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "default": 90, + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + }, + "createMode": { + "type": "string", + "description": "The create mode to indicate whether the resource is being created or is being recovered from a deleted resource.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false, + "values": [ + { + "value": "recover", + "description": "Recover the managed HSM pool from a soft-deleted resource." + }, + { + "value": "default", + "description": "Create a new managed HSM pool. This is the default option." + } + ] + } + }, + "statusMessage": { + "readOnly": true, + "type": "string", + "description": "Resource Status Message." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state.", + "enum": [ + "Succeeded", + "Provisioning", + "Failed", + "Updating", + "Deleting", + "Activated", + "SecurityDomainRestore", + "Restoring" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The managed HSM Pool has been full provisioned." + }, + { + "value": "Provisioning", + "description": "The managed HSM Pool is currently being provisioned." + }, + { + "value": "Failed", + "description": "Provisioning of the managed HSM Pool has failed." + }, + { + "value": "Updating", + "description": "The managed HSM Pool is currently being updated." + }, + { + "value": "Deleting", + "description": "The managed HSM Pool is currently being deleted." + }, + { + "value": "Activated", + "description": "The managed HSM pool is ready for normal use." + }, + { + "value": "SecurityDomainRestore", + "description": "The managed HSM pool is waiting for a security domain restore action." + }, + { + "value": "Restoring", + "description": "The managed HSM pool is being restored from full HSM backup." + } + ] + } + } + }, + "description": "Properties of the managed HSM Pool" + }, + "ManagedHsm": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagedHsmProperties", + "description": "Properties of the managed HSM" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedHsmResource" + } + ], + "description": "Resource information with extended details." + }, + "ManagedHsmResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The Azure Resource Manager resource ID for the managed HSM Pool." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the managed HSM Pool." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type of the managed HSM Pool." + }, + "location": { + "type": "string", + "description": "The supported Azure location where the managed HSM Pool should be created.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "sku": { + "$ref": "#/definitions/ManagedHsmSku", + "description": "SKU details" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Managed HSM resource", + "x-ms-azure-resource": true + }, + "ManagedHsmListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "The list of managed HSM Pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed HSM Pools." + } + }, + "description": "List of managed HSM Pools" + }, + "ManagedHsmError": { + "properties": { + "error": { + "readOnly": true, + "description": "The server error.", + "$ref": "#/definitions/Error" + } + }, + "description": "The error exception." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The error code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The error message." + }, + "innererror": { + "x-ms-client-name": "innerError", + "readOnly": true, + "description": "The inner error, contains a more specific error code.", + "$ref": "#/definitions/Error" + } + }, + "description": "The server error." + } + }, + "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." + }, + "ManagedHsmResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the resource group that contains the managed HSM pool.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json new file mode 100644 index 000000000000..f2e42a6d1f7b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.KeyVault/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Key Vault Rest API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists available Rest API operations.": { + "$ref": "./examples/listOperations.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of operations." + } + } + }, + "Operation": { + "description": "Key Vault 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 Key Vault.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include log specifications.", + "properties": { + "logSpecifications": { + "description": "Log specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Log specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of log specification." + }, + "displayName": { + "type": "string", + "description": "Display name of log specification." + }, + "blobDuration": { + "type": "string", + "description": "Blob duration of specification." + } + } + } + }, + "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." + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json new file mode 100644 index 000000000000..608fd5183158 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json @@ -0,0 +1,459 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}": { + "put": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_CreateOrUpdate", + "description": "Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "Name of the secret" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecretCreateOrUpdateParameters" + }, + "description": "Parameters to create or update the secret" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "200": { + "description": "Created or updated secret", + "schema": { + "$ref": "#/definitions/Secret" + } + } + }, + "x-ms-examples": { + "Create a secret": { + "$ref": "./examples/createSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_Update", + "description": "Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "Name of the secret" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecretPatchParameters" + }, + "description": "Parameters to patch the secret" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Patched secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "200": { + "description": "Patched secret", + "schema": { + "$ref": "#/definitions/Secret" + } + } + }, + "x-ms-examples": { + "Update a secret": { + "$ref": "./examples/updateSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_Get", + "description": "Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved secret", + "schema": { + "$ref": "#/definitions/Secret" + } + } + }, + "x-ms-examples": { + "Get a secret": { + "$ref": "./examples/getSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_List", + "description": "The List operation gets information about the secrets in a vault. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about secrets in the specified vault.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + } + }, + "x-ms-examples": { + "List secrets in the vault": { + "$ref": "./examples/listSecrets.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "Attributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the object is enabled." + }, + "nbf": { + "x-ms-client-name": "NotBefore", + "type": "integer", + "format": "unixtime", + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "unixtime", + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The object attributes managed by the KeyVault service." + }, + "SecretProperties": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The attributes of the secret." + }, + "secretUri": { + "type": "string", + "description": "The URI to retrieve the current version of the secret.", + "readOnly": true + }, + "secretUriWithVersion": { + "type": "string", + "description": "The URI to retrieve the specific version of the secret.", + "readOnly": true + } + }, + "description": "Properties of the secret" + }, + "SecretPatchProperties": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The attributes of the secret." + } + }, + "description": "Properties of the secret" + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "#/definitions/Attributes" + } + ], + "description": "The secret management attributes." + }, + "SecretCreateOrUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the secret. " + }, + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "Properties of the secret" + } + }, + "description": "Parameters for creating or updating a secret", + "required": [ + "properties" + ], + "x-ms-azure-resource": true + }, + "SecretPatchParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the secret. " + }, + "properties": { + "$ref": "#/definitions/SecretPatchProperties", + "description": "Properties of the secret" + } + }, + "description": "Parameters for patching a secret", + "x-ms-azure-resource": true + }, + "Secret": { + "properties": { + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "Properties of the secret" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./keyvault.json#/definitions/Resource" + } + ], + "description": "Resource information with extended details." + }, + "SecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + }, + "description": "The list of secrets." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of secrets." + } + }, + "description": "List of secrets" + } + }, + "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." + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json index a2fe7f795cae..415914cd9053 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json @@ -983,6 +983,7 @@ "items": { "type": "string", "enum": [ + "all", "encrypt", "decrypt", "wrapKey", @@ -1012,6 +1013,7 @@ "items": { "type": "string", "enum": [ + "all", "get", "list", "set", @@ -1033,6 +1035,7 @@ "items": { "type": "string", "enum": [ + "all", "get", "list", "delete", @@ -1062,6 +1065,7 @@ "items": { "type": "string", "enum": [ + "all", "get", "list", "delete", diff --git a/specification/keyvault/resource-manager/readme.azureresourceschema.md b/specification/keyvault/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c0807b7e70d0 --- /dev/null +++ b/specification/keyvault/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,91 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-keyvault-2020-04-01-preview + - tag: schema-keyvault-2019-09-01 + - tag: schema-keyvault-2018-02-14-preview + - tag: schema-keyvault-2018-02-14 + - tag: schema-keyvault-2016-10-01 + - tag: schema-keyvault-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-keyvault-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json + - Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json + - Microsoft.KeyVault/preview/2020-04-01-preview/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json + +``` + +### Tag: schema-keyvault-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2019-09-01/keyvault.json + - Microsoft.KeyVault/stable/2019-09-01/providers.json + +``` + +### Tag: schema-keyvault-2018-02-14-preview and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2018-02-14-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json + - Microsoft.KeyVault/preview/2018-02-14-preview/providers.json + +``` + +### Tag: schema-keyvault-2018-02-14 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2018-02-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2018-02-14/keyvault.json + - Microsoft.KeyVault/stable/2018-02-14/providers.json + +``` + +### Tag: schema-keyvault-2016-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2016-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2016-10-01/keyvault.json + - Microsoft.KeyVault/stable/2016-10-01/providers.json + +``` + +### Tag: schema-keyvault-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2015-06-01/keyvault.json + +``` diff --git a/specification/keyvault/resource-manager/readme.csharp.md b/specification/keyvault/resource-manager/readme.csharp.md index 2936d8d96bf4..72a9872559cc 100644 --- a/specification/keyvault/resource-manager/readme.csharp.md +++ b/specification/keyvault/resource-manager/readme.csharp.md @@ -64,4 +64,16 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/KeyVault/Management.KeyVa batch: - tag: profile-hybrid-2019-03-01 + ``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).KeyVault +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/KeyVault/Management.KeyVault/Generated + +batch: + - tag: profile-hybrid-2020-09-01 ``` \ No newline at end of file diff --git a/specification/keyvault/resource-manager/readme.go.md b/specification/keyvault/resource-manager/readme.go.md index 18186ff695aa..3bb372ff5eee 100644 --- a/specification/keyvault/resource-manager/readme.go.md +++ b/specification/keyvault/resource-manager/readme.go.md @@ -13,11 +13,20 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2020-04 - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 - tag: package-2015-06 ``` +### Tag: package-preview-2020-04 and go + +These settings apply only when `--tag=package-preview-2020-04 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2020-04' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-04-01-preview/$(namespace) +``` ### Tag: package-2019-09 and go diff --git a/specification/keyvault/resource-manager/readme.java.md b/specification/keyvault/resource-manager/readme.java.md index 161b5ee85134..cd19bdec7637 100644 --- a/specification/keyvault/resource-manager/readme.java.md +++ b/specification/keyvault/resource-manager/readme.java.md @@ -15,11 +15,29 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-keyvault ```yaml $(java) && $(multiapi) batch: + - tag: profile-hybrid-2020-09-01 - tag: package-2018-02-14-preview - tag: package-2016-10 - tag: package-2015-06 ``` +### 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) && $(multiapi) +java: + namespace: com.microsoft.azure.management.keyvault.v2019_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/keyvault/mgmt-v2019_09_01 +regenerate-manager: true +generate-interface: true +directive: + from: keyvault.json + where: $.paths["/subscriptions/{subscriptionId}/resources"].get + transform: $['operationId'] = 'Vaults_ListResource' +``` + ### Tag: package-2018-02-14-preview and java These settings apply only when `--tag=package-2018-02-14-preview --java` is specified on the command line. @@ -95,3 +113,15 @@ input-file: - Microsoft.KeyVault/stable/2016-10-01/keyvault.json - Microsoft.KeyVault/stable/2016-10-01/secrets.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.KeyVault/stable/2019-09-01/providers.json +- Microsoft.KeyVault/stable/2019-09-01/keyvault.json +- Microsoft.KeyVault/stable/2019-09-01/secrets.json +``` diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md index 72863b21ce95..0a132dd87387 100644 --- a/specification/keyvault/resource-manager/readme.md +++ b/specification/keyvault/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for KeyVault. - - --- + ## Getting Started + To build the SDK for KeyVault, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,13 +15,13 @@ To build the SDK for KeyVault, simply [Install AutoRest](https://aka.ms/autorest To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the KeyVault API. ``` yaml @@ -29,6 +29,29 @@ openapi-type: arm tag: package-2019-09 ``` +### Tag: package-preview-2020-04 + +These settings apply only when `--tag=package-preview-2020-04` is specified on the command line. +This tag is for the development of preview features related to managed HSM of Azure CLI and PowerShell. + +```yaml $(tag) == 'package-preview-2020-04' +input-file: + - Microsoft.KeyVault/stable/2019-09-01/keyvault.json + - Microsoft.KeyVault/stable/2019-09-01/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json +``` + +### Tag: package-preview-2020-04-full + +These settings apply only when `--tag=package-preview-2020-04-full` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-04-full' +input-file: + - Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json + - Microsoft.KeyVault/preview/2020-04-01-preview/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json +``` ### Tag: package-2019-09 @@ -60,8 +83,6 @@ input-file: - Microsoft.KeyVault/stable/2018-02-14/providers.json ``` - - ### Tag: package-2016-10 These settings apply only when `--tag=package-2016-10` is specified on the command line. @@ -81,6 +102,18 @@ input-file: - Microsoft.KeyVault/stable/2015-06-01/keyvault.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.KeyVault/stable/2019-09-01/keyvault.json +- Microsoft.KeyVault/stable/2019-09-01/providers.json +- Microsoft.KeyVault/stable/2019-09-01/secrets.json +``` + ### Supressions ``` yaml @@ -91,8 +124,8 @@ directive: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -113,6 +146,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_key_vault'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js keyvault/resource-manager ``` ## Go @@ -123,35 +159,7 @@ 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 +## AzureResourceSchema -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.KeyVault/stable/2019-09-01/keyvault.json - - $(this-folder)/Microsoft.KeyVault/stable/2019-09-01/providers.json - - $(this-folder)/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json - - $(this-folder)/Microsoft.KeyVault/preview/2018-02-14-preview/providers.json - - $(this-folder)/Microsoft.KeyVault/stable/2018-02-14/keyvault.json - - $(this-folder)/Microsoft.KeyVault/stable/2018-02-14/providers.json - - $(this-folder)/Microsoft.KeyVault/stable/2016-10-01/keyvault.json - - $(this-folder)/Microsoft.KeyVault/stable/2016-10-01/providers.json - - $(this-folder)/Microsoft.KeyVault/stable/2015-06-01/keyvault.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/keyvault/resource-manager/readme.python.md b/specification/keyvault/resource-manager/readme.python.md index 883a0a256ffa..b7f95e0c23ce 100644 --- a/specification/keyvault/resource-manager/readme.python.md +++ b/specification/keyvault/resource-manager/readme.python.md @@ -33,6 +33,7 @@ batch: - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 + - tag: package-preview-2020-04 ``` ```yaml $(multiapi) && $(track2) @@ -41,6 +42,7 @@ batch: - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 + - tag: package-preview-2020-04 - multiapiscript: true ``` @@ -50,6 +52,18 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-preview-2020-04 and python + +These settings apply only when `--tag=package-preview-2020-04 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-04' +namespace: azure.mgmt.keyvault.v2020_04_01_preview +output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2020_04_01_preview +python: + namespace: azure.mgmt.keyvault.v2020_04_01_preview + output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2020_04_01_preview +``` + ### Tag: package-2019-09 and python These settings apply only when `--tag=package-2019-09 --python` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/CreateSourceControlConfiguration.json new file mode 100644 index 000000000000..bdc5945d6b0f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/CreateSourceControlConfiguration.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2020-10-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/2020-10-01-preview/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/DeleteSourceControlConfiguration.json new file mode 100644 index 000000000000..043fe81333af --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/DeleteSourceControlConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2020-10-01-preview", + "clusterName": "clusterName1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/GetSourceControlConfiguration.json new file mode 100644 index 000000000000..a851f8189b88 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/GetSourceControlConfiguration.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2020-10-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/2020-10-01-preview/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/ListSourceControlConfiguration.json new file mode 100644 index 000000000000..c1c3b2bd8ae3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/ListSourceControlConfiguration.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2020-10-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/2020-10-01-preview/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..21e112527ba3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/examples/OperationsList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "sourceControlConfigurations", + "operation": "Get Source Control Configuration", + "description": "Get the specified Source Control Configuration." + } + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "sourceControlConfigurations", + "operation": "Create a Source Control Configuration", + "description": "Create the Source Control Configuration specified." + } + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "sourceControlConfigurations", + "operation": "Delete Source Control Configuration", + "description": "Delete the specified Source Control Configuration." + } + } + ] + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/kubernetesconfiguration.json new file mode 100644 index 000000000000..72727b92c460 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/kubernetesconfiguration.json @@ -0,0 +1,725 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "#/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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "#/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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterRpParameter" + }, + { + "$ref": "#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/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": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "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", + "type": "object", + "properties": { + "createdBy": { + "description": "A string identifier for the identity that created the resource", + "type": "string", + "readOnly": true + }, + "createdByType": { + "description": "The type of identity that created the resource: user, application, managedIdentity, key", + "type": "string", + "readOnly": true + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC)", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "A string identifier for the identity that last modified the resource", + "type": "string", + "readOnly": true + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource: user, application, managedIdentity, key", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)", + "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" + }, + "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": "#/definitions/SystemData" + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "Result": { + "description": "Sample result definition", + "properties": { + "sampleProperty": { + "type": "string", + "description": "Sample property of type string" + } + } + }, + "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" + } + } + }, + "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", + "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 + } + }, + "EnableHelmOperatorDefinition": { + "description": "Option to enable Helm Operator for this git configuration.", + "type": "boolean", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "EnableHelmOperatorType", + "modelAsString": true + } + }, + "SourceControlConfiguration": { + "description": "The SourceControl Configuration object returned in Get & Put response.", + "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.", + "$ref": "#/definitions/EnableHelmOperatorDefinition" + }, + "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" + } + } + } + }, + "allOf": [ + { + "$ref": "#/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.", + "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." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "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" + } + } + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "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" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + }, + "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/readme.azureresourceschema.md b/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4d961e78a7d3 --- /dev/null +++ b/specification/kubernetesconfiguration/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-kubernetesconfiguration-2019-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kubernetesconfiguration-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kubernetesconfiguration-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KubernetesConfiguration/preview/2019-11-01-preview/kubernetesconfiguration.json + +``` diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md index 67f97d8b6dcf..5115badb9a86 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.md @@ -24,16 +24,25 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the kubernetesconfiguration. -```yaml +``` yaml openapi-type: arm -tag: package-2019-11-01-preview +tag: package-preview-2020-10 ``` + +### Tag: package-preview-2020-10 + +These settings apply only when `--tag=package-preview-2020-10` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-10' +input-file: + - Microsoft.KubernetesConfiguration/preview/2020-10-01-preview/kubernetesconfiguration.json +``` ### Tag: package-2019-11-01-preview These settings apply only when `--tag=package-2019-11-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2019-11-01-preview' +``` yaml $(tag) == 'package-2019-11-01-preview' input-file: - Microsoft.KubernetesConfiguration/preview/2019-11-01-preview/kubernetesconfiguration.json ``` @@ -47,7 +56,7 @@ input-file: 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-java @@ -56,6 +65,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js kubernetesconfiguration/resource-manager ``` ## Go @@ -78,26 +90,6 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.KubernetesConfiguration/preview/2019-11-01-preview/kubernetesconfiguration.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` \ No newline at end of file +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/labservices/resource-manager/readme.azureresourceschema.md b/specification/labservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..50ff2afcfdf7 --- /dev/null +++ b/specification/labservices/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-labservices-2018-10-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-labservices-2018-10-15 and azureresourceschema + +``` yaml $(tag) == 'schema-labservices-2018-10-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.LabServices/stable/2018-10-15/ML.json + +``` diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index c0d8c1459ffc..5e3ead954e9b 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_labservices'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js labservices/resource-manager ``` @@ -144,27 +147,7 @@ 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.LabServices/stable/2018-10-15/ML.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/logic/resource-manager/readme.azureresourceschema.md b/specification/logic/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..409ee65ae052 --- /dev/null +++ b/specification/logic/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-logic-2019-05-01 + - tag: schema-logic-2018-07-01-preview + - tag: schema-logic-2016-06-01 + - tag: schema-logic-2015-08-01-preview + - tag: schema-logic-2015-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-logic-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/stable/2019-05-01/logic.json + +``` + +### Tag: schema-logic-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2018-07-01-preview/logic.json + +``` + +### Tag: schema-logic-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/stable/2016-06-01/logic.json + +``` + +### Tag: schema-logic-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2015-08-01-preview/logic.json + +``` + +### Tag: schema-logic-2015-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2015-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2015-02-01-preview/logic.json + +``` diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md index 8fc4874a384f..b6a7b4699e33 100644 --- a/specification/logic/resource-manager/readme.md +++ b/specification/logic/resource-manager/readme.md @@ -136,6 +136,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_logic'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js logic/resource-manager ``` ## C# @@ -245,33 +248,9 @@ regenerate-manager: true 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.Logic/stable/2019-05-01/logic.json - - $(this-folder)/Microsoft.Logic/preview/2018-07-01-preview/logic.json - - $(this-folder)/Microsoft.Logic/stable/2016-06-01/logic.json - - $(this-folder)/Microsoft.Logic/preview/2015-08-01-preview/logic.json - - $(this-folder)/Microsoft.Logic/preview/2015-02-01-preview/logic.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## trenton diff --git a/specification/machinelearning/resource-manager/readme.azureresourceschema.md b/specification/machinelearning/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6f38975b63c5 --- /dev/null +++ b/specification/machinelearning/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,61 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearning-2019-10-01 + - tag: schema-machinelearning-2017-01-01 + - tag: schema-machinelearning-2016-05-01-preview + - tag: schema-machinelearning-2016-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearning-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2019-10-01/workspaces.json + +``` + +### Tag: schema-machinelearning-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2017-01-01/webservices.json + +``` + +### Tag: schema-machinelearning-2016-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2016-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json + - Microsoft.MachineLearning/preview/2016-05-01-preview/webservices.json + +``` + +### Tag: schema-machinelearning-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2016-04-01/workspaces.json + +``` diff --git a/specification/machinelearning/resource-manager/readme.md b/specification/machinelearning/resource-manager/readme.md index c192d89dc257..bf21f829d033 100644 --- a/specification/machinelearning/resource-manager/readme.md +++ b/specification/machinelearning/resource-manager/readme.md @@ -118,6 +118,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_machine_learning'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearning/resource-manager ``` @@ -251,30 +254,7 @@ 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! +## AzureResourceSchema -``` 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.MachineLearning/stable/2017-01-01/webservices.json - - $(this-folder)/Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json - - $(this-folder)/Microsoft.MachineLearning/stable/2016-04-01/workspaces.json - - $(this-folder)/Microsoft.MachineLearning/stable/2019-10-01/workspaces.json - - $(this-folder)/Microsoft.MachineLearning/preview/2016-05-01-preview/webservices.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/machinelearningcompute/resource-manager/readme.azureresourceschema.md b/specification/machinelearningcompute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7e519071558f --- /dev/null +++ b/specification/machinelearningcompute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearningcompute-2017-08-01-preview + - tag: schema-machinelearningcompute-2017-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningcompute-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningcompute-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningCompute/preview/2017-08-01-preview/machineLearningCompute.json + +``` + +### Tag: schema-machinelearningcompute-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningcompute-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningCompute/preview/2017-06-01-preview/machineLearningCompute.json + +``` diff --git a/specification/machinelearningcompute/resource-manager/readme.md b/specification/machinelearningcompute/resource-manager/readme.md index be65538e35af..1a5e302eeb77 100644 --- a/specification/machinelearningcompute/resource-manager/readme.md +++ b/specification/machinelearningcompute/resource-manager/readme.md @@ -67,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningcompute/resource-manager ``` @@ -124,28 +127,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.MachineLearningCompute/preview/2017-08-01-preview/machineLearningCompute.json - - $(this-folder)/Microsoft.MachineLearningCompute/preview/2017-06-01-preview/machineLearningCompute.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/machinelearningexperimentation/resource-manager/readme.azureresourceschema.md b/specification/machinelearningexperimentation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7bed65196c80 --- /dev/null +++ b/specification/machinelearningexperimentation/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-machinelearningexperimentation-2017-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningexperimentation-2017-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningexperimentation-2017-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json + +``` diff --git a/specification/machinelearningexperimentation/resource-manager/readme.md b/specification/machinelearningexperimentation/resource-manager/readme.md index 67f9b55a17f2..49d88e3711b6 100644 --- a/specification/machinelearningexperimentation/resource-manager/readme.md +++ b/specification/machinelearningexperimentation/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningexperimentation/resource-manager ``` @@ -111,27 +114,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json index ff84d4308695..270cf1203436 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json @@ -15,6 +15,13 @@ "applicationSharingPolicy": "Personal", "sshSettings": { "sshPublicAccess": "Disabled" + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json index c368311a4b38..fb9af3d62efe 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json @@ -27,6 +27,13 @@ "adminUserName": "azureuser", "sshPort": 22 }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + }, "createdBy": { "userName": "foobar@microsoft.com", "userOrgId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json index a13a680b6c17..e14f9754f9bc 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json @@ -2532,6 +2532,24 @@ "description": "The current state of this ComputeInstance.", "$ref": "#/definitions/ComputeInstanceState", "readOnly": true + }, + "computeInstanceAuthorizationType": { + "type": "string", + "title": "Compute Instance Authorization type.", + "description": "The Compute Instance Authorization type. Available values are personal (default).", + "default": "personal", + "enum": [ + "personal" + ], + "x-ms-enum": { + "name": "ComputeInstanceAuthorizationType", + "modelAsString": true + } + }, + "personalComputeInstanceSettings": { + "title": "Personal Compute Instance settings.", + "description": "Settings for a personal compute instance.", + "$ref": "#/definitions/PersonalComputeInstanceSettings" } } } @@ -3602,6 +3620,35 @@ "description": "Uniquely identifies the user within his/her organization." } } + }, + "PersonalComputeInstanceSettings": { + "type": "object", + "properties": { + "assignedUser": { + "$ref": "#/definitions/AssignedUser", + "title": "Assigned User.", + "description": "A user explicitly assigned to a personal compute instance." + } + }, + "description": "Settings for a personal compute instance." + }, + "AssignedUser": { + "type": "object", + "description": "A user that can be assigned to a compute instance.", + "properties": { + "objectId": { + "type": "string", + "description": "User’s AAD Object Id." + }, + "tenantId": { + "type": "string", + "description": "User’s AAD Tenant Id." + } + }, + "required": [ + "objectId", + "tenantId" + ] } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsDatastore.json new file mode 100644 index 000000000000..132cb2d8be78 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsDatastore.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "adlsDatastore", + "properties": { + "dataStoreType": "adls", + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "clientSecret": "vdvgdvdvdv", + "storeName": "stanley", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/adlsDatastore", + "name": "adlsDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "adlsdatastore", + "dataStoreType": "AzureDataLake", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": { + "storeName": "stanley", + "credentialType": "ServicePrincipal", + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": "maM1h1A7xu/4TPiBR-ZBFmhiceqwRE_@", + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://datalake.azure.net/", + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:49:40.9221987Z", + "modifiedTime": "2020-09-08T05:49:41.5438281Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsGen2Datastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsGen2Datastore.json new file mode 100644 index 000000000000..d7721bab1184 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateAdlsGen2Datastore.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "adlsgen2Datastore", + "properties": { + "dataStoreType": "adls-gen2", + "fileSystem": "testfs1", + "accountName": "nicksadlsgen2storage", + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "clientSecret": "vdegbvedgeg", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/adlsgen2Datastore", + "name": "adlsgen2Datastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "adlsgen2datastore", + "dataStoreType": "AzureDataLakeGen2", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": { + "accountName": "nicksadlsgen2storage", + "containerName": "testfs1", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "ClientCredentials", + "credential": null, + "clientCredentials": { + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": "maM1h1A7xu/4TPiBR-ZBFmhiceqwRE_@", + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://storage.azure.com/", + "subscriptionId": null, + "resourceGroup": null, + "serviceDataAccessAuthIdentity": "None" + }, + "blobCacheTimeout": null, + "isSas": false, + "accountKey": null, + "sasToken": null, + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:57:31.7019233Z", + "modifiedTime": "2020-09-08T05:57:32.3251822Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateBlobDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateBlobDatastore.json new file mode 100644 index 000000000000..5773748f92ee --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateBlobDatastore.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "blobDatastore", + "properties": { + "dataStoreType": "blob", + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b7", + "accountKey": "wddrfewfewsgewgrrwegwreg" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/blobDatastore", + "name": "blobDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "blobDatastore", + "dataStoreType": "AzureBlob", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": { + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b7", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "AccountKey", + "credential": "wddrfewfewsgewgrrwegwreg", + "clientCredentials": null, + "blobCacheTimeout": null, + "isSas": false, + "accountKey": "wddrfewfewsgewgrrwegwreg", + "sasToken": null, + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:23:21.1954812Z", + "modifiedTime": "2020-09-08T05:24:00.5673353Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDataset.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDataset.json new file mode 100644 index 000000000000..6b9a44d64fd3 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDataset.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datasetName": "datasetName123", + "properties": { + "skipValidation": false, + "datasetType": "file", + "parameters": { + "path": { + "dataPath": { + "datastoreName": "testblobfromarm", + "relativePath": "UI/03-26-2020_083359_UTC/latin1encoding.csv" + } + } + }, + "registration": { + "description": "test description", + "name": "datasetName123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datasets/datasetName123", + "name": "datasetName123", + "type": "Microsoft.MachineLearningServices/workspaces/datasets", + "location": "eastus2", + "tags": null, + "properties": { + "datasetId": "db9c8fbe-a404-4019-9b9e-722a544f83ff", + "datasetState": { + "state": "active", + "deprecatedBy": null, + "etag": "\"6e121555-0000-0200-0000-5f4ea2230000\"" + }, + "latest": { + "datasetId": "db9c8fbe-a404-4019-9b9e-722a544f83ff", + "versionId": "1", + "datasetDefinitionState": { + "state": "active", + "deprecatedBy": null, + "etag": "\"6e121455-0000-0200-0000-5f4ea2230000\"" + }, + "dataflow": "{\n \"blocks\": [\n {\n \"id\": \"11c52b64-7e70-4dae-9091-c57372827491\",\n \"type\": \"Microsoft.DPrep.GetDatastoreFilesBlock\",\n \"arguments\": {\n \"datastores\": [\n {\n \"datastoreName\": \"testblobfromarm\",\n \"path\": \"UI/03-26-2020_083359_UTC/latin1encoding.csv\",\n \"resourceGroup\": \"acjain-mleastUS2\",\n \"subscription\": \"35f16a99-532a-4a47-9e93-00305f6c40f2\",\n \"workspaceName\": \"acjain-mleastUS2\"\n }\n ]\n },\n \"localData\": {},\n \"isEnabled\": true,\n \"name\": null,\n \"annotation\": null\n }\n ],\n \"inspectors\": [],\n \"meta\": {\n \"savedDatasetId\": \"47198920-b0d5-4274-85c0-fba9ec6662a6\",\n \"datasetType\": \"file\",\n \"subscriptionId\": \"35f16a99-532a-4a47-9e93-00305f6c40f2\",\n \"workspaceId\": \"5da947c5-53aa-41a5-bb2b-074074e73b76\",\n \"workspaceLocation\": \"eastus2\"\n }\n}", + "dataPath": { + "datastoreName": "testblobfromarm", + "relativePath": "UI/03-26-2020_083359_UTC/latin1encoding.csv", + "azureFilePath": "https://acjainmleastus9484093746.blob.core.windows.net/azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b76/UI/03-26-2020_083359_UTC/latin1encoding.csv", + "paths": null, + "sqlDataPath": null, + "httpUrl": null, + "additionalProperties": {}, + "partitionFormat": null, + "partitionFormatIgnoreError": false + }, + "partitionFormatInPath": null, + "notes": "Auto generated from UI/03-26-2020_083359_UTC/latin1encoding.csv.", + "etag": "\"6e121455-0000-0200-0000-5f4ea2230000\"", + "createdTime": "2020-09-01T19:33:55.014954Z", + "modifiedTime": "2020-09-01T19:33:55.014954Z", + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "fileType": "Unknown", + "properties": {}, + "savedDatasetId": "47198920-b0d5-4274-85c0-fba9ec6662a6", + "telemetryInfo": {}, + "useDescriptionTagsFromDefinition": true, + "description": "geggegegegeg", + "tags": {} + }, + "createdTime": "2020-09-01T19:33:55.0914964Z", + "modifiedTime": "2020-09-01T19:33:55.0914964Z", + "etag": "\"6e121555-0000-0200-0000-5f4ea2230000\"", + "name": "datasetNdddamdddeefe", + "description": "geggegegegeg", + "tags": {}, + "isVisible": true, + "defaultCompute": null, + "datasetType": "file" + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDbfsDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDbfsDatastore.json new file mode 100644 index 000000000000..02370d1f6cb6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateDbfsDatastore.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "blobDatastore", + "properties": { + "dataStoreType": "dbfs" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/dbfsDatastore", + "name": "dbfsDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "dbfsdatastore", + "dataStoreType": "DBFS", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T06:00:08.4621095Z", + "modifiedTime": "2020-09-08T06:00:08.4719758Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateFileDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateFileDatastore.json new file mode 100644 index 000000000000..b8b0857cd785 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateFileDatastore.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "fileDatastore", + "properties": { + "dataStoreType": "file", + "accountName": "acjainmleastus9484093746", + "shareName": "azureml-filestore-5da947c5-53aa-41a5-bb2b-074074e73b76", + "accountKey": "wddrfewfewsgewgrrwegwreg" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/fileDatastore", + "name": "fileDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "filedatastore", + "dataStoreType": "AzureFile", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": { + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-filestore-5da947c5-53aa-41a5-bb2b-074074e73b76", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "AccountKey", + "credential": "JCI+yadbNeeNRpBN2mMvDF56zyKINDqWTaYzsGPO/5F7wKtc65DGUya5q0sUfQyFXzwGES7eYNhQ9De79MGIAg==", + "clientCredentials": null, + "blobCacheTimeout": null, + "isSas": false, + "accountKey": "JCI+yadbNeeNRpBN2mMvDF56zyKINDqWTaYzsGPO/5F7wKtc65DGUya5q0sUfQyFXzwGES7eYNhQ9De79MGIAg==", + "sasToken": null, + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:30:45.929961Z", + "modifiedTime": "2020-09-08T05:30:47.2122056Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateMySqlDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateMySqlDatastore.json new file mode 100644 index 000000000000..05addd0307f4 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateMySqlDatastore.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "mySqlDatastore", + "properties": { + "dataStoreType": "mysqldb", + "databaseName": "dataset", + "serverName": "dataset-mysql-srv", + "userId": "demo_user@dataset-mysql-srv", + "password": "fefefefe#1234" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/mySqlDatastore", + "name": "mySqlDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "mysqldatastore", + "dataStoreType": "AzureMySql", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": { + "serverName": "dataset-mysql-srv", + "databaseName": "dataset", + "endpoint": "mysql.database.azure.com", + "userId": "demo_user@dataset-mysql-srv", + "userPassword": "dataset#1234", + "portNumber": "3306", + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": null, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:43:00.3090624Z", + "modifiedTime": "2020-09-08T05:43:02.2118144Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdatePostgreSqlDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdatePostgreSqlDatastore.json new file mode 100644 index 000000000000..d5db92d62e38 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdatePostgreSqlDatastore.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "postgreSqlDatastore", + "properties": { + "dataStoreType": "psqldb", + "databaseName": "dataset", + "serverName": "dataset-pgsql-srv", + "userId": "demo_user@dataset-pgsql-srv", + "password": "swfwwfwf#1234" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/postgreSqlDatastore", + "name": "postgreSqlDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "postgresqldatastore", + "dataStoreType": "AzurePostgreSql", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": { + "enableSsl": true, + "serverName": "dataset-pgsql-srv", + "databaseName": "dataset", + "endpoint": "postgres.database.azure.com", + "userId": "demo_user@dataset-pgsql-srv", + "userPassword": "dataset#1234", + "portNumber": "5432", + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": null, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:45:46.8987749Z", + "modifiedTime": "2020-09-08T05:45:49.6476211Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateSqlDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateSqlDatastore.json new file mode 100644 index 000000000000..d63b9e62d7e9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateSqlDatastore.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "sqlDatastore", + "properties": { + "dataStoreType": "sqldb", + "databaseName": "dataset", + "serverName": "dataset-azsql-srv", + "userName": "demo_user", + "password": "fwesfwfwf" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/sqlDatastore", + "name": "sqlDatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "sqldatastore", + "dataStoreType": "AzureSqlDatabase", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": { + "serverName": "dataset-azsql-srv", + "databaseName": "dataset", + "endpoint": "database.windows.net", + "userId": "demo_user", + "userPassword": "dataset#1234", + "portNumber": null, + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://database.windows.net/", + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-09-08T05:35:54.770302Z", + "modifiedTime": "2020-09-08T05:35:55.7948043Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDataset.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDataset.json new file mode 100644 index 000000000000..2422b90bf58b --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDataset.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datasetName": "filedatasetfromURL" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDatastore.json new file mode 100644 index 000000000000..35cece01460a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteDatastore.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "testdagrtgtoresddddd" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDataset.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDataset.json new file mode 100644 index 000000000000..dde44e3cfe6d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDataset.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datasetName": "filedatasetfromURL" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datasets/filedatasetfromURL", + "name": "filedatasetfromURL", + "type": "Microsoft.MachineLearningServices/workspaces/datasets", + "location": "eastus2", + "tags": null, + "properties": { + "datasetId": "3ebe138f-0933-4718-9178-f05a733d1bb3", + "datasetState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "latest": { + "datasetId": "3ebe138f-0933-4718-9178-f05a733d1bb3", + "versionId": "1", + "datasetDefinitionState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "dataflow": null, + "dataPath": { + "datastoreName": null, + "relativePath": "", + "azureFilePath": null, + "paths": null, + "sqlDataPath": null, + "httpUrl": "https://gist.githubusercontent.com/achalachal2003/da4886b7aec40bdd11a7613d664857c0/raw/7ca4ee355b5ee772a1fa73d5125d9cf018d868b9/banktest.csv", + "additionalProperties": {}, + "partitionFormat": null, + "partitionFormatIgnoreError": false + }, + "partitionFormatInPath": null, + "notes": "Auto generated from https://gist.githubusercontent.com/achalachal2003/da4886b7aec40bdd11a7613d664857c0/raw/7ca4ee355b5ee772a1fa73d5125d9cf018d868b9/banktest.csv", + "etag": "\"5c018cd9-0000-0200-0000-5f1630a40000\"", + "createdTime": "2020-07-21T00:02:44.9360911Z", + "modifiedTime": "2020-07-21T00:02:44.9360911Z", + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "fileType": "Unknown", + "properties": {}, + "savedDatasetId": "22fdf6fa-61a4-4f74-8ce2-57e6374998a6", + "telemetryInfo": {}, + "useDescriptionTagsFromDefinition": true, + "description": "", + "tags": {} + }, + "createdTime": "2020-07-21T00:02:44.9523499Z", + "modifiedTime": "2020-07-21T00:02:44.9523499Z", + "etag": "\"5c0198d9-0000-0200-0000-5f1630a40000\"", + "name": "filedatasetfromURL", + "description": "", + "tags": {}, + "isVisible": true, + "defaultCompute": null, + "datasetType": "file" + }, + "identity": null, + "sku": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatasets.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatasets.json new file mode 100644 index 000000000000..17631e8ed8d5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatasets.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datasets/filedatasetfromURL", + "name": "filedatasetfromURL", + "type": "Microsoft.MachineLearningServices/workspaces/datasets", + "location": "eastus2", + "tags": null, + "properties": { + "datasetId": "3ebe138f-0933-4718-9178-f05a733d1bb3", + "datasetState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "latest": { + "datasetId": "3ebe138f-0933-4718-9178-f05a733d1bb3", + "versionId": "1", + "datasetDefinitionState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "dataflow": null, + "dataPath": { + "datastoreName": null, + "relativePath": "", + "azureFilePath": null, + "paths": null, + "sqlDataPath": null, + "httpUrl": "https://gist.githubusercontent.com/achalachal2003/da4886b7aec40bdd11a7613d664857c0/raw/7ca4ee355b5ee772a1fa73d5125d9cf018d868b9/banktest.csv", + "additionalProperties": {}, + "partitionFormat": null, + "partitionFormatIgnoreError": false + }, + "partitionFormatInPath": null, + "notes": "Auto generated from https://gist.githubusercontent.com/achalachal2003/da4886b7aec40bdd11a7613d664857c0/raw/7ca4ee355b5ee772a1fa73d5125d9cf018d868b9/banktest.csv", + "etag": "\"5c018cd9-0000-0200-0000-5f1630a40000\"", + "createdTime": "2020-07-21T00:02:44.9360911Z", + "modifiedTime": "2020-07-21T00:02:44.9360911Z", + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "fileType": "Unknown", + "properties": {}, + "savedDatasetId": "22fdf6fa-61a4-4f74-8ce2-57e6374998a6", + "telemetryInfo": {}, + "useDescriptionTagsFromDefinition": true, + "description": "", + "tags": {} + }, + "createdTime": "2020-07-21T00:02:44.9523499Z", + "modifiedTime": "2020-07-21T00:02:44.9523499Z", + "etag": "\"5c0198d9-0000-0200-0000-5f1630a40000\"", + "name": "filedatasetfromURL", + "description": "", + "tags": {}, + "isVisible": true, + "defaultCompute": null, + "datasetType": "file" + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datasets/TABUALRFROMRELETIVEPATH", + "name": "TABUALRFROMRELETIVEPATH", + "type": "Microsoft.MachineLearningServices/workspaces/datasets", + "location": "eastus2", + "tags": null, + "properties": { + "datasetId": "2b241d0b-2a57-4cbb-8961-6f6b413c4029", + "datasetState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "latest": { + "datasetId": "2b241d0b-2a57-4cbb-8961-6f6b413c4029", + "versionId": "1", + "datasetDefinitionState": { + "state": "active", + "deprecatedBy": null, + "etag": null + }, + "dataflow": null, + "dataPath": { + "datastoreName": "testblobfromarm", + "relativePath": "UI/03-26-2020_083359_UTC/latin1encoding.csv", + "azureFilePath": "https://acjainmleastus9484093746.blob.core.windows.net/azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b76/UI/03-26-2020_083359_UTC/latin1encoding.csv", + "paths": null, + "sqlDataPath": null, + "httpUrl": null, + "additionalProperties": {}, + "partitionFormat": "", + "partitionFormatIgnoreError": false + }, + "partitionFormatInPath": null, + "notes": "Auto generated from UI/03-26-2020_083359_UTC/latin1encoding.csv.", + "etag": "\"5c01c275-0000-0200-0000-5f162fab0000\"", + "createdTime": "2020-07-20T23:58:35.221224Z", + "modifiedTime": "2020-07-20T23:58:35.221224Z", + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "fileType": "GenericCSVNoHeader", + "properties": { + "_TimeSeries_Column:CoarseGrainTimestamp_": "stabbr", + "_TimeSeries_Column:FineGrainTimestamp_": "city" + }, + "savedDatasetId": "d2845be6-786e-4419-b049-5887a2ef4ed8", + "telemetryInfo": {}, + "useDescriptionTagsFromDefinition": true, + "description": "", + "tags": {} + }, + "createdTime": "2020-07-20T23:58:35.2303194Z", + "modifiedTime": "2020-07-20T23:58:35.2303194Z", + "etag": "\"5c01c475-0000-0200-0000-5f162fab0000\"", + "name": "TABUALRFROMRELETIVEPATH", + "description": "", + "tags": {}, + "isVisible": true, + "defaultCompute": null, + "datasetType": "tabular" + }, + "identity": null, + "sku": null + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastore.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastore.json new file mode 100644 index 000000000000..42168acb8b3d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastore.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview", + "datastoreName": "testdatastore" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/testdatastore", + "name": "testdatastore", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "testdatastore", + "dataStoreType": "AzureBlob", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": { + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b76", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "AccountKey", + "credential": "", + "clientCredentials": null, + "blobCacheTimeout": null, + "isSas": true, + "accountKey": null, + "sasToken": "", + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-08-29T01:50:59.2350285Z", + "modifiedTime": "2020-09-01T19:21:58.4173051Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastores.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastores.json new file mode 100644 index 000000000000..5f3e3106c048 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getDatastores.json @@ -0,0 +1,485 @@ +{ + "parameters": { + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroupName": "acjain-mleastUS2", + "workspaceName": "acjain-mleastUS2", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/testdagrtgtoresddddd", + "name": "testdagrtgtoresddddd", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "testdagrtgtoresddddd", + "dataStoreType": "AzureBlob", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": { + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-blobstore-5da947c5-53aa-41a5-bb2b-074074e73b76", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "AccountKey", + "credential": "", + "clientCredentials": null, + "blobCacheTimeout": null, + "isSas": true, + "accountKey": null, + "sasToken": "", + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "Achal Jain" + }, + "createdTime": "2020-08-29T01:50:59.2350285Z", + "modifiedTime": "2020-09-01T19:21:58.4173051Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/adlsgen111", + "name": "adlsgen111", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "adlsgen111", + "dataStoreType": "AzureDataLake", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": { + "storeName": "stanley", + "credentialType": "ServicePrincipal", + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": "", + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://datalake.azure.net/", + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-21T00:06:39.2747836Z", + "modifiedTime": "2020-07-21T00:06:39.2747836Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/swlfromarmdd", + "name": "swlfromarmdd", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "swlfromarmdd", + "dataStoreType": "AzureSqlDatabase", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": { + "serverName": "dataset-azsql-srv", + "databaseName": "dataset", + "endpoint": "database.windows.net", + "userId": "demo_user", + "userPassword": "", + "portNumber": null, + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://database.windows.net/", + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-21T00:04:54.1317421Z", + "modifiedTime": "2020-07-21T00:04:54.1317421Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/fileshareds", + "name": "fileshareds", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "fileshareds", + "dataStoreType": "AzureFile", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": { + "accountName": "acjainmleastus9484093746", + "containerName": "azureml-filestore-5da947c5-53aa-41a5-bb2b-074074e73b76", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "AccountKey", + "credential": "", + "clientCredentials": null, + "blobCacheTimeout": null, + "isSas": false, + "accountKey": "", + "sasToken": null, + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-21T00:01:42.4401133Z", + "modifiedTime": "2020-07-21T00:01:42.4401133Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/dbfssssss", + "name": "dbfssssss", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "dbfssssss", + "dataStoreType": "DBFS", + "hasBeenValidated": false, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-20T23:51:06.8380341Z", + "modifiedTime": "2020-07-20T23:51:06.8380341Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/mysqldatastorearm", + "name": "mysqldatastorearm", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "mysqldatastorearm", + "dataStoreType": "AzureMySql", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": { + "serverName": "dataset-mysql-srv", + "databaseName": "dataset", + "endpoint": "mysql.database.azure.com", + "userId": "demo_user@dataset-mysql-srv", + "userPassword": "", + "portNumber": "3306", + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": null, + "resourceUri": null, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-20T23:47:30.8639577Z", + "modifiedTime": "2020-07-20T23:47:30.8639577Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/adlsgen2datastorearm", + "name": "adlsgen2datastorearm", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "adlsgen2datastorearm", + "dataStoreType": "AzureDataLakeGen2", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": { + "accountName": "nicksadlsgen2storage", + "containerName": "https://nicksadlsgen2storage.blob.core.windows.net/testfs1", + "endpoint": "core.windows.net", + "protocol": "https", + "credentialType": "ClientCredentials", + "credential": null, + "clientCredentials": { + "clientId": "233d7008-b157-4354-88d1-ba191f06a900", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": "", + "authorityUrl": "https://login.microsoftonline.com", + "resourceUri": "https://storage.azure.com/", + "subscriptionId": null, + "resourceGroup": null, + "serviceDataAccessAuthIdentity": "None" + }, + "blobCacheTimeout": null, + "isSas": false, + "accountKey": null, + "sasToken": null, + "areWorkspaceManagedIdentitiesAllowed": false, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": null, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-20T23:45:09.0121271Z", + "modifiedTime": "2020-07-20T23:45:09.0121271Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + }, + { + "id": "/subscriptions/35f16a99-532a-4a47-9e93-00305f6c40f2/resourceGroups/acjain-mleastUS2/providers/Microsoft.MachineLearningServices/workspaces/acjain-mleastUS2/datastores/postgrearm22", + "name": "postgrearm22", + "type": "Microsoft.MachineLearningServices/workspaces/datastores", + "location": "eastus2", + "tags": null, + "properties": { + "name": "postgrearm22", + "dataStoreType": "AzurePostgreSql", + "hasBeenValidated": true, + "tags": null, + "azureStorageSection": null, + "azureDataLakeSection": null, + "azureSqlDatabaseSection": null, + "azurePostgreSqlSection": { + "enableSsl": true, + "serverName": "dataset-pgsql-srv", + "databaseName": "dataset", + "endpoint": "postgres.database.azure.com", + "userId": "demo_user@dataset-pgsql-srv", + "userPassword": "", + "portNumber": "5432", + "credentialType": "SqlAuthentication", + "clientId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "isCertAuth": false, + "certificate": null, + "thumbprint": null, + "clientSecret": null, + "authorityUrl": null, + "resourceUri": null, + "subscriptionId": "35f16a99-532a-4a47-9e93-00305f6c40f2", + "resourceGroup": "acjain-mleastUS2", + "serviceDataAccessAuthIdentity": "None" + }, + "azureMySqlSection": null, + "glusterFsSection": null, + "createdBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "modifiedBy": { + "userObjectId": "fa3fb1ee-ab39-4c79-b5ea-9dcb0a0b1a5c", + "userPuId": "100320004068320D", + "userIdp": null, + "userAltSecId": null, + "userIss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/", + "userTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "userName": "c44b4083-3bb0-49c1-b47d-974e53cbdf3c" + }, + "createdTime": "2020-07-20T23:41:33.0368305Z", + "modifiedTime": "2020-07-20T23:41:33.0368305Z", + "linkedInfo": null + }, + "identity": null, + "sku": null + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json index 12dd8bd3a957..a6f3152dd155 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json @@ -1643,6 +1643,423 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datasets": { + "get": { + "tags": [ + "MachineLearningDatasets" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningDatasets_ListByWorkspace", + "description": "Gets datasets in specified workspace.", + "x-ms-examples": { + "Get Datasets": { + "$ref": "./examples/getDatasets.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning datasets and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedDatasetResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datasets/{datasetName}": { + "get": { + "tags": [ + "MachineLearningDatasets" + ], + "operationId": "MachineLearningDatasets_Get", + "description": "Get a Dataset by name.", + "x-ms-examples": { + "Get Dataset": { + "$ref": "./examples/getDataset.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/DatasetNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatasetResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningDatasets" + ], + "operationId": "MachineLearningDatasets_CreateOrUpdate", + "description": "Creates or updates dataset. This call will overwrite a dataset if it exists. This is a nonrecoverable operation. If your intent is to create a new dataset, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Dataset": { + "$ref": "./examples/createOrUpdateDataset.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DatasetNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Dataset.", + "required": true, + "schema": { + "$ref": "#/definitions/DatasetCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "Dataset creation or update initiated.", + "schema": { + "$ref": "#/definitions/DatasetResource" + } + }, + "201": { + "description": "Dataset creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningDatasets" + ], + "operationId": "MachineLearningDatasets_Delete", + "description": "Deletes specified Machine Learning Dataset.", + "x-ms-examples": { + "Delete Dataset": { + "$ref": "./examples/deleteDataset.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DatasetNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores": { + "get": { + "tags": [ + "MachineLearningDatastores" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningDatastores_ListByWorkspace", + "description": "Gets datastores in specified workspace.", + "x-ms-examples": { + "Get Datastores": { + "$ref": "./examples/getDatastores.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning datastores and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedDatastoreResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{datastoreName}": { + "get": { + "tags": [ + "MachineLearningDatastores" + ], + "operationId": "MachineLearningDatastores_Get", + "description": "Get a Datastore by name.", + "x-ms-examples": { + "Get Datastore": { + "$ref": "./examples/getDatastore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/DatastoreNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatastoreResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningDatastores" + ], + "operationId": "MachineLearningDatastores_CreateOrUpdate", + "description": "Creates or updates datastore. This call will overwrite a dataset if it exists. This is a nonrecoverable operation. If your intent is to create a new dataset, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Blob Datastore": { + "$ref": "./examples/createOrUpdateBlobDatastore.json" + }, + "Create File Datastore": { + "$ref": "./examples/createOrUpdateFileDatastore.json" + }, + "Create SQL Datastore": { + "$ref": "./examples/createOrUpdateSqlDatastore.json" + }, + "Create PostgreSQL Datastore": { + "$ref": "./examples/createOrUpdatePostgreSqlDatastore.json" + }, + "Create MySQL Datastore": { + "$ref": "./examples/createOrUpdateMySqlDatastore.json" + }, + "Create ADLS Datastore": { + "$ref": "./examples/createOrUpdateAdlsDatastore.json" + }, + "Create ADLS Gen2 Datastore": { + "$ref": "./examples/createOrUpdateAdlsGen2Datastore.json" + }, + "Create Databricks File System Datastore": { + "$ref": "./examples/createOrUpdateDbfsDatastore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DatastoreNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Datastore.", + "required": true, + "schema": { + "$ref": "#/definitions/DatastoreCreateRequest" + } + } + ], + "responses": { + "200": { + "description": "Datastore creation or update initiated.", + "schema": { + "$ref": "#/definitions/DatastoreResource" + } + }, + "201": { + "description": "Datastore creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningDatastores" + ], + "operationId": "MachineLearningDatastores_Delete", + "description": "Deletes specified Machine Learning Datastore.", + "x-ms-examples": { + "Delete Datastore": { + "$ref": "./examples/deleteDatastore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DatastoreNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } } }, "parameters": { @@ -1849,6 +2266,22 @@ "modelAsString": true }, "x-ms-parameter-location": "method" + }, + "DatasetNameParameter": { + "in": "path", + "name": "datasetName", + "type": "string", + "description": "The Dataset name.", + "required": true, + "x-ms-parameter-location": "method" + }, + "DatastoreNameParameter": { + "in": "path", + "name": "datastoreName", + "type": "string", + "description": "The Datastore name.", + "required": true, + "x-ms-parameter-location": "method" } }, "definitions": { @@ -1986,627 +2419,1417 @@ "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", "readOnly": true }, - "privateLinkCount": { + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { "type": "integer", "format": "int32", - "description": "Count of private connections in the workspace", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", "readOnly": true }, - "imageBuildCompute": { - "description": "The compute name for image build", - "type": "string" + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true }, - "allowPublicAccessWhenBehindVnet": { + "lowPriorityCapable": { "type": "boolean", - "description": "The flag to indicate whether to allow public access when behind VNet.", - "default": false + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true }, - "privateEndpointConnections": { - "readOnly": true, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + } + }, + "description": "Describes the properties of a VM size." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { "type": "array", "items": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/VirtualMachineSize" }, - "description": "The list of private endpoint connections in the workspace." - }, - "sharedPrivateLinkResources": { + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", "type": "array", "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources in this workspace." + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" } } }, - "WorkspaceUpdateParameters": { - "description": "The parameters for updating a machine learning workspace.", + "QuotaBaseProperties": { "properties": { - "tags": { - "description": "The resource tags for the machine learning workspace.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "id": { + "type": "string", + "description": "Specifies the resource ID." }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku of the workspace." + "type": { + "type": "string", + "description": "Specifies the resource type." }, - "properties": { - "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", - "description": "The properties that the machine learning workspace will be updated with.", - "x-ms-client-flatten": true + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } } - } + }, + "description": "The properties for Quota update or retrieval." }, - "WorkspacePropertiesUpdateParameters": { - "description": "The parameters for updating the properties of a machine learning workspace.", + "QuotaUpdateParameters": { "properties": { - "description": { - "description": "The description of this workspace.", - "type": "string" + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" }, - "friendlyName": { - "description": "The friendly name for this workspace.", + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, "type": "string" } - } + }, + "description": "The result of update workspace quota." }, - "AmlUserFeature": { - "description": "Features enabled for a workspace", - "type": "object", + "UpdateWorkspaceQuotas": { "properties": { "id": { - "description": "Specifies the feature ID", - "type": "string" + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." }, - "displayName": { - "description": "Specifies the feature name ", - "type": "string" + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." }, - "description": { - "description": "Describes the feature for user experience", - "type": "string" + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } } - } + }, + "description": "The properties for update Quota response." }, - "ListAmlUserFeatureResult": { + "ResourceName": { "properties": { "value": { "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/AmlUserFeature" - }, - "description": "The list of AML user facing features." + "type": "string", + "description": "The name of the resource." }, - "nextLink": { + "localizedValue": { "readOnly": true, "type": "string", - "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + "description": "The localized name of the resource." } }, - "description": "The List Aml user feature operation response." + "description": "The Resource Name." }, - "UsageName": { + "ResourceQuota": { "properties": { - "value": { + "id": { "readOnly": true, "type": "string", - "description": "The name of the resource." + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" }, - "localizedValue": { + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", "readOnly": true, - "type": "string", - "description": "The localized name of the resource." + "type": "string" } }, - "description": "The Usage Names." + "description": "The List WorkspaceQuotasByVMFamily operation response." }, - "Usage": { - "type": "object", + "Identity": { "properties": { - "id": { + "principalId": { "readOnly": true, "type": "string", - "description": "Specifies the resource ID." + "description": "The principal ID of resource identity." }, - "type": { + "tenantId": { "readOnly": true, "type": "string", - "description": "Specifies the resource type." + "description": "The tenant ID of resource." }, - "unit": { - "readOnly": true, + "type": { "type": "string", - "description": "An enum describing the unit of usage measurement.", + "description": "The identity type.", "enum": [ - "Count" + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned", + "None" ], "x-ms-enum": { - "name": "UsageUnit", - "modelAsString": true + "name": "ResourceIdentityType", + "modelAsString": false } }, - "currentValue": { - "readOnly": true, - "type": "integer", - "format": "int64", - "description": "The current usage of the resource." - }, - "limit": { - "readOnly": true, - "type": "integer", - "format": "int64", - "description": "The maximum permitted usage of the resource." - }, - "name": { - "readOnly": true, - "$ref": "#/definitions/UsageName", - "description": "The name of the type of usage." + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities", + "description": "The user assigned identities associated with the resource." } }, - "description": "Describes AML Resource Usage." + "description": "Identity for the resource." }, - "ListUsagesResult": { + "UserAssignedIdentities": { + "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "description": "User Assigned Identity", "properties": { - "value": { + "principalId": { "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/Usage" - }, - "description": "The list of AML resource usages." + "type": "string", + "description": "The principal ID of the user assigned identity." }, - "nextLink": { + "tenantId": { "readOnly": true, "type": "string", - "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + "description": "The tenant ID of the user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The clientId(aka appId) of the user assigned identity." } - }, - "description": "The List Usages operation response." + } }, - "VirtualMachineSize": { + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, "properties": { - "name": { + "id": { + "description": "Specifies the resource ID.", "type": "string", - "title": "Virtual Machine size name", - "description": "The name of the virtual machine size.", "readOnly": true }, - "family": { + "name": { + "description": "Specifies the name of the resource.", "type": "string", - "title": "Virtual Machine family name", - "description": "The family name of the virtual machine size.", - "readOnly": true - }, - "vCPUs": { - "type": "integer", - "format": "int32", - "title": "Number of vPUs", - "description": "The number of vCPUs supported by the virtual machine size.", - "readOnly": true - }, - "gpus": { - "type": "integer", - "format": "int32", - "title": "Number of gPUs", - "description": "The number of gPUs supported by the virtual machine size.", "readOnly": true }, - "osVhdSizeMB": { - "type": "integer", - "format": "int32", - "title": "OS VHD Disk size", - "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", - "readOnly": true + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." }, - "maxResourceVolumeMB": { - "type": "integer", - "format": "int32", - "title": "Resource volume size", - "description": "The resource volume size, in MB, allowed by the virtual machine size.", - "readOnly": true + "location": { + "description": "Specifies the location of the resource.", + "type": "string" }, - "memoryGB": { - "type": "number", - "format": "double", - "title": "Memory size", - "description": "The amount of memory, in GB, supported by the virtual machine size.", + "type": { + "description": "Specifies the type of the resource.", + "type": "string", "readOnly": true }, - "lowPriorityCapable": { - "type": "boolean", - "title": "Low priority capable", - "description": "Specifies if the virtual machine size supports low priority VMs.", - "readOnly": true + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "premiumIO": { - "type": "boolean", - "title": "Premium IO supported", - "description": "Specifies if the virtual machine size supports premium IO.", - "readOnly": true + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." } - }, - "description": "Describes the properties of a VM size." + } }, - "VirtualMachineSizeListResult": { + "ResourceId": { "properties": { - "amlCompute": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineSize" - }, - "description": "The list of virtual machine sizes supported by AmlCompute." + "id": { + "type": "string", + "description": "The ID of the resource" } }, - "description": "The List Virtual Machine size operation response." + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true }, - "WorkspaceListResult": { - "description": "The result of a request to list machine learning workspaces.", + "ListWorkspaceKeysResult": { + "type": "object", "properties": { - "value": { - "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", - "type": "array", - "items": { - "$ref": "#/definitions/Workspace" - } + "userStorageKey": { + "readOnly": true, + "type": "string" }, - "nextLink": { - "description": "The URI that can be used to request the next list of machine learning workspaces.", + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" } } }, - "QuotaBaseProperties": { + "RegistryListCredentialsResult": { + "type": "object", "properties": { - "id": { - "type": "string", - "description": "Specifies the resource ID." - }, - "type": { - "type": "string", - "description": "Specifies the resource type." + "location": { + "readOnly": true, + "type": "string" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "Limit.", - "description": "The maximum permitted quota of the resource." + "username": { + "readOnly": true, + "type": "string" }, - "unit": { - "type": "string", - "description": "An enum describing the unit of quota measurement.", - "enum": [ - "Count" - ], - "x-ms-enum": { - "name": "QuotaUnit", - "modelAsString": true + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" } } - }, - "description": "The properties for Quota update or retrieval." + } }, - "QuotaUpdateParameters": { + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedDatasetResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning dataset objects wrapped in ARM resource envelope.", "properties": { "value": { - "description": "The list for update quota.", "type": "array", + "description": "An array of Machine Learning dataset objects wrapped in ARM resource envelope.", "items": { - "$ref": "#/definitions/QuotaBaseProperties" + "$ref": "#/definitions/DatasetResource" } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." } - }, - "description": "Quota update parameters." + } }, - "UpdateWorkspaceQuotasResult": { - "properties": { - "value": { - "description": "The list of workspace quota update result.", - "items": { - "$ref": "#/definitions/UpdateWorkspaceQuotas" - }, - "readOnly": true, - "type": "array" + "DatasetResource": { + "type": "object", + "description": "Machine Learning dataset object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" }, - "nextLink": { - "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", - "readOnly": true, - "type": "string" + { + "type": "object", + "properties": { + "properties": { + "description": "Dataset properties", + "$ref": "#/definitions/Dataset" + } + } } - }, - "description": "The result of update workspace quota." + ] }, - "UpdateWorkspaceQuotas": { + "Dataset": { + "type": "object", + "description": "Machine Learning dataset object.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Specifies the resource ID." - }, - "type": { + "datasetId": { "readOnly": true, "type": "string", - "description": "Specifies the resource type." + "description": "Unique Dataset identifier." }, - "limit": { - "type": "integer", - "format": "int64", - "title": "Limit.", - "description": "The maximum permitted quota of the resource." + "datasetState": { + "type": "object", + "$ref": "#/definitions/DatasetState" }, - "unit": { - "readOnly": true, - "type": "string", - "description": "An enum describing the unit of quota measurement.", - "enum": [ - "Count" - ], - "x-ms-enum": { - "name": "QuotaUnit", - "modelAsString": true + "latest": { + "type": "object", + "description": "Last created Dataset definition.", + "properties": { + "datasetId": { + "readOnly": true, + "type": "string", + "description": "Unique Dataset identifier." + }, + "versionId": { + "readOnly": true, + "type": "string", + "description": "An identifier uniquely identifies a definition change." + }, + "datasetDefinitionState": { + "type": "object", + "$ref": "#/definitions/DatasetState" + }, + "dataflow": { + "readOnly": true, + "type": "string", + "description": "Dataflow Json" + }, + "dataPath": { + "type": "object", + "description": " Datastore and reference to location of data such as relativePath, Sql Query and etc.", + "properties": { + "datastoreName": { + "readOnly": true, + "type": "string", + "description": "Data store Name" + }, + "relativePath": { + "readOnly": true, + "type": "string", + "description": "Relative path in the data store" + }, + "azureFilePath": { + "readOnly": true, + "type": "string", + "description": "Azure path for Azure Blob or File" + }, + "paths": { + "type": "array", + "description": "List of files expanded from a file GLOB specified", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sqlDataPath": { + "type": "object", + "description": "Sql Query/Table/Stored Procedure details.", + "properties": { + "sqlTableName": { + "readOnly": true, + "type": "string", + "description": "SQL table name" + }, + "sqlQuery": { + "readOnly": true, + "type": "string", + "description": "SQL query" + }, + "sqlStoredProcedureName": { + "readOnly": true, + "type": "string", + "description": "SQL storedProcedure name" + }, + "queryTimeout": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "SQL query timeout. Unit in seconds." + } + } + }, + "httpUrl": { + "readOnly": true, + "type": "string", + "description": "HTTP URL." + }, + "additionalProperties": { + "description": "Additional Properties.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "partitionFormat": { + "readOnly": true, + "type": "string", + "description": "Specify the partition format of path. Defaults to None." + }, + "partitionFormatIgnoreError": { + "type": "boolean", + "description": "Whether or not to ignore unmatched path.", + "readOnly": true + } + } + }, + "partitionFormatInPath": { + "type": "boolean", + "description": "Indicates how the source data is partitioned. This is defined to filter on a range of partitioned data before performing actions or materialization.", + "readOnly": true + }, + "notes": { + "type": "string", + "description": "Summary of Definition changes.", + "readOnly": true + }, + "etag": { + "type": "string", + "description": "eTag description", + "readOnly": true + }, + "createdTime": { + "format": "date-time", + "description": "The dataset creation time (UTC).", + "type": "string", + "readOnly": true + }, + "modifiedTime": { + "format": "date-time", + "description": "The dataset last modified time (UTC).", + "type": "string", + "readOnly": true + }, + "createdBy": { + "type": "object", + "$ref": "#/definitions/UserInfo" + }, + "fileType": { + "readOnly": true, + "type": "string", + "description": "Dataset FileType, specified by user." + }, + "properties": { + "description": "Properties stores information like name of time series column for time series dataset.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "savedDatasetId": { + "readOnly": true, + "type": "string", + "description": "Indicates the saved dataset this definition is mapping to, populated on Get." + }, + "telemetryInfo": { + "description": " Telemetry information about the dataset including information like which service the dataset was created from.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "useDescriptionTagsFromDefinition": { + "type": "boolean", + "description": " Whether to use description and tags from the definition level as opposed to dataset level (old behavior).", + "readOnly": true + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description about the dataset." + }, + "tags": { + "description": "Tags associated with the dataset.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } } }, - "status": { + "createdTime": { + "format": "date-time", + "description": "The dataset creation time (UTC).", "type": "string", - "readOnly": false, - "title": "Update Workspace Quota Status.", - "description": "Status of update workspace quota.", - "enum": [ - "Undefined", - "Success", - "Failure", - "InvalidQuotaBelowClusterMinimum", - "InvalidQuotaExceedsSubscriptionLimit", - "InvalidVMFamilyName", - "OperationNotSupportedForSku", - "OperationNotEnabledForRegion" - ], - "x-ms-enum": { - "name": "status", - "modelAsString": true - } - } - }, - "description": "The properties for update Quota response." - }, - "ResourceName": { - "properties": { - "value": { - "readOnly": true, + "readOnly": true + }, + "modifiedTime": { + "format": "date-time", + "description": "The dataset last modified time (UTC).", "type": "string", - "description": "The name of the resource." + "readOnly": true }, - "localizedValue": { - "readOnly": true, + "etag": { "type": "string", - "description": "The localized name of the resource." - } - }, - "description": "The Resource Name." - }, - "ResourceQuota": { - "properties": { - "id": { - "readOnly": true, + "description": "eTag description", + "readOnly": true + }, + "name": { "type": "string", - "description": "Specifies the resource ID." + "description": "Unique dataset name", + "readOnly": true }, - "type": { - "readOnly": true, + "description": { "type": "string", - "description": "Specifies the resource type." + "description": "Description about this dataset version.", + "readOnly": true }, - "name": { - "$ref": "#/definitions/ResourceName", - "description": "Name of the resource.", + "tags": { + "description": "Tags for this dataset version.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "readOnly": true }, - "limit": { - "readOnly": true, - "type": "integer", - "format": "int64", - "title": "Limit.", - "description": "The maximum permitted quota of the resource." + "isVisible": { + "type": "boolean", + "description": "Flag to hide Dataset in UI", + "readOnly": true }, - "unit": { - "readOnly": true, + "defaultCompute": { "type": "string", - "description": "An enum describing the unit of quota measurement.", - "enum": [ - "Count" - ], - "x-ms-enum": { - "name": "QuotaUnit", - "modelAsString": true - } + "description": "Name of the default compute to be used for any Dataset actions (such as Profile, Write).", + "readOnly": true + }, + "datasetType": { + "type": "string", + "description": "Dataset Type.", + "readOnly": true } - }, - "description": "The quota assigned to a resource." + } }, - "ListWorkspaceQuotas": { + "DatasetState": { + "type": "object", + "description": "Dataset state", "properties": { - "value": { - "description": "The list of Workspace Quotas by VM Family", - "items": { - "$ref": "#/definitions/ResourceQuota" - }, - "readOnly": true, - "type": "array" + "state": { + "description": "Dataset state", + "type": "string" + }, + "deprecatedBy": { + "description": "Reference to better Dataset or a Definition", + "type": "object", + "properties": { + "datasetId": { + "readOnly": true, + "type": "string", + "description": "Unique Dataset identifier." + }, + "definitionVersion": { + "description": "Definition Version", + "type": "string" + } + } }, - "nextLink": { - "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", - "readOnly": true, - "type": "string" + "etag": { + "type": "string", + "description": "eTag description", + "readOnly": true } - }, - "description": "The List WorkspaceQuotasByVMFamily operation response." + } }, - "Identity": { + "LinkedInfo": { + "type": "object", + "description": "Info about origin if it is linked.", "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal ID of resource identity." - }, - "tenantId": { - "readOnly": true, + "linkedId": { "type": "string", - "description": "The tenant ID of resource." + "description": "LinkedId id." }, - "type": { + "linkedResourceName": { "type": "string", - "description": "The identity type.", - "enum": [ - "SystemAssigned", - "SystemAssigned,UserAssigned", - "UserAssigned", - "None" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - } + "description": "Linked resource name." }, - "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedIdentities", - "description": "The user assigned identities associated with the resource." + "origin": { + "$ref": "#/definitions/Origin" } - }, - "description": "Identity for the resource." + } }, - "UserAssignedIdentities": { - "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" + "Origin": { + "description": "Datastore origin", + "enum": [ + "Synapse" + ], + "type": "string", + "x-ms-enum": { + "name": "Origin", + "modelAsString": true } }, - "UserAssignedIdentity": { - "description": "User Assigned Identity", + "UserInfo": { + "type": "object", + "description": "User who created.", "properties": { - "principalId": { - "readOnly": true, + "userObjectId": { "type": "string", - "description": "The principal ID of the user assigned identity." + "description": "A user or service principal's object ID.." }, - "tenantId": { - "readOnly": true, + "userPuId": { "type": "string", - "description": "The tenant ID of the user assigned identity." + "description": "A user or service principal's PuID." }, - "clientId": { - "readOnly": true, + "userIdp": { "type": "string", - "description": "The clientId(aka appId) of the user assigned identity." + "description": "A user identity provider. Eg live.com" + }, + "userAltSecId": { + "type": "string", + "description": "A user alternate sec id. This represents the user in a different identity provider system Eg.1:live.com:puid" + }, + "userIss": { + "type": "string", + "description": "The issuer which issued the token for this user." + }, + "userTenantId": { + "type": "string", + "description": "A user or service principal's tenant ID." + }, + "userName": { + "type": "string", + "description": " A user's full name or a service principal's app ID." } } }, - "Resource": { - "description": "Azure Resource Manager resource envelope.", - "x-ms-azure-resource": true, + "PaginatedDatastoreResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning datastore objects wrapped in ARM resource envelope.", "properties": { - "id": { - "description": "Specifies the resource ID.", + "value": { + "type": "array", + "description": "An array of Machine Learning datastore objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/DatastoreResource" + } + }, + "nextLink": { "type": "string", - "readOnly": true + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "DatastoreResource": { + "type": "object", + "description": "Machine Learning datastore object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" }, + { + "type": "object", + "properties": { + "properties": { + "description": "Datastore properties", + "$ref": "#/definitions/Datastore" + } + } + } + ] + }, + "Datastore": { + "type": "object", + "description": "Machine Learning datastore object.", + "properties": { "name": { - "description": "Specifies the name of the resource.", "type": "string", - "readOnly": true - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." + "description": "Name of the datastore." }, - "location": { - "description": "Specifies the location of the resource.", - "type": "string" + "description": { + "type": "string", + "description": "Description of the datastore." }, - "type": { - "description": "Specifies the type of the resource.", + "dataStoreType": { + "description": "The datastore type.", + "enum": [ + "AzureBlob", + "AzureFile", + "AzureDataLake", + "AzureSqlDatabase", + "AzurePostgreSql", + "DBFS", + "AzureDataLakeGen2", + "AzureMySql" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "DataStoreType", + "modelAsString": true + } + }, + "hasBeenValidated": { + "type": "boolean", + "default": false, + "description": "A read only property that denotes whether the service datastore has been validated with credentials." }, "tags": { - "description": "Contains resource tags defined as key/value pairs.", + "description": "Tags for this datastore.", "type": "object", "additionalProperties": { "type": "string" - } + }, + "readOnly": true }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku of the workspace." + "azureStorageSection": { + "type": "object", + "$ref": "#/definitions/AzureStorageSection" + }, + "azureDataLakeSection": { + "type": "object", + "$ref": "#/definitions/AzureDataLakeSection" + }, + "azureSqlDatabaseSection": { + "type": "object", + "$ref": "#/definitions/AzureSqlDatabaseSection" + }, + "azurePostgreSqlSection": { + "type": "object", + "$ref": "#/definitions/AzurePostgreSqlSection" + }, + "azureMySqlSection": { + "type": "object", + "$ref": "#/definitions/AzureMySqlSection" + }, + "glusterFsSection": { + "type": "object", + "$ref": "#/definitions/GlusterFsSection" + }, + "createdBy": { + "type": "object", + "description": "The User who created the datastore.", + "$ref": "#/definitions/UserInfo", + "readOnly": true + }, + "modifiedBy": { + "type": "object", + "description": "The User who modified the datastore.", + "$ref": "#/definitions/UserInfo", + "readOnly": true + }, + "createdTime": { + "type": "string", + "description": "The date and time when the datastore was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedTime": { + "type": "string", + "description": "The date and time when the datastore was last modified.", + "format": "date-time", + "readOnly": true + }, + "linkedInfo": { + "type": "object", + "$ref": "#/definitions/LinkedInfo" } } }, - "ResourceId": { + "AzureResourceDatastore": { + "type": "object", + "description": "Azure resource for datastore.", "properties": { - "id": { + "subscriptionId": { "type": "string", - "description": "The ID of the resource" + "description": "Subscription ID." + }, + "resourceGroup": { + "type": "string", + "description": "Resource Group." + }, + "serviceDataAccessAuthIdentity": { + "description": "Indicates which identity to use to authenticate service data access to customer's storage.", + "enum": [ + "None", + "WorkspaceSystemAssignedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceDataAccessAuthIdentity", + "modelAsString": true + } } - }, - "required": [ - "id" - ], - "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", - "x-ms-azure-resource": true + } }, - "ListWorkspaceKeysResult": { - "type": "object", - "properties": { - "userStorageKey": { - "readOnly": true, - "type": "string" + "AzureStorageSection": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceDatastore" }, - "userStorageResourceId": { - "readOnly": true, - "type": "string" + { + "type": "object", + "description": "Data specific to azure storage.", + "properties": { + "accountName": { + "type": "string", + "description": "Storage Account Name." + }, + "containerName": { + "type": "string", + "description": "The storage container name." + }, + "endpoint": { + "type": "string", + "description": "The host of the container." + }, + "protocol": { + "type": "string", + "description": "The protocol to use. Defaults to https." + }, + "credentialType": { + "type": "object", + "$ref": "#/definitions/AzureStorageCredentialTypes" + }, + "credential": { + "type": "string", + "description": "The credential." + }, + "clientCredentials": { + "type": "object", + "$ref": "#/definitions/ClientCredentials" + }, + "blobCacheTimeout": { + "format": "int32", + "description": " If this is an \"DataStoreType.AzureBlob\", the length of time (in seconds) to cache files locally after they are accessed (downloaded).", + "type": "integer" + }, + "isSas": { + "description": "Indicate if we are using SAS token or Account Key (Deprecated).", + "type": "boolean" + }, + "accountKey": { + "type": "string", + "description": " Storage Account Key (Deprecated)." + }, + "sasToken": { + "type": "string", + "description": " SAS Token for the container (Deprecated)." + }, + "areWorkspaceManagedIdentitiesAllowed": { + "description": "Indicate if we are using Workspace ManagedIdentities/MSI token (Deprecated).", + "type": "boolean" + } + } + } + ] + }, + "AzureDataLakeSection": { + "allOf": [ + { + "$ref": "#/definitions/ClientCredentials" }, - "appInsightsInstrumentationKey": { - "readOnly": true, - "type": "string" + { + "type": "object", + "description": "Data Specific to azure data lake.", + "properties": { + "storeName": { + "type": "string", + "description": "The Azure Data Lake store name." + }, + "credentialType": { + "type": "object", + "$ref": "#/definitions/AzureDataLakeCredentialTypes" + } + } + } + ] + }, + "AzureSqlDatabaseSection": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlSection" + }, + { + "type": "object", + "description": "Data specific to azure SQL database." + } + ] + }, + "AzurePostgreSqlSection": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlSection" + }, + { + "type": "object", + "description": " Data specific to azure PostgreSQL.", + "properties": { + "enableSsl": { + "type": "boolean", + "description": "Indicates SSL requirement of Azure Postgresql server." + } + } + } + ] + }, + "AzureMySqlSection": { + "allOf": [ + { + "$ref": "#/definitions/AzureSqlSection" }, - "containerRegistryCredentials": { - "readOnly": true, - "$ref": "#/definitions/RegistryListCredentialsResult" + { + "type": "object", + "description": "Data specific to azure MySQL." } - } + ] }, - "RegistryListCredentialsResult": { + "GlusterFsSection": { "type": "object", + "description": "Data specific to GlusterFS.", "properties": { - "location": { - "readOnly": true, - "type": "string" + "serverAddress": { + "type": "string", + "description": "The server address of one of the servers that hosts the GlusterFS. Can be either the IP address or server name.", + "readOnly": true }, - "username": { - "readOnly": true, - "type": "string" + "volumeName": { + "type": "string", + "description": "The name of the created GlusterFS volume.", + "readOnly": true + } + } + }, + "AzureSqlSection": { + "allOf": [ + { + "$ref": "#/definitions/ClientCredentials" }, - "passwords": { - "type": "array", - "items": { - "$ref": "#/definitions/Password" + { + "type": "object", + "description": "Data specific to Azure SQL.", + "properties": { + "serverName": { + "type": "string", + "description": "The Azure SQL server name." + }, + "databaseName": { + "type": "string", + "description": "The Azure SQL database name." + }, + "endpoint": { + "type": "string", + "description": "The server host endpoint." + }, + "userId": { + "type": "string", + "description": "The Azure SQL user id." + }, + "userPassword": { + "type": "string", + "description": "The Azure SQL user password." + }, + "portNumber": { + "type": "string", + "description": "/ The Azure SQL port number." + }, + "credentialType": { + "type": "object", + "$ref": "#/definitions/SqlCredentialTypes" + } } } - } + ] }, - "Password": { - "type": "object", - "properties": { - "name": { - "readOnly": true, - "type": "string" + "ClientCredentials": { + "allOf": [ + { + "$ref": "#/definitions/AzureResourceDatastore" }, - "value": { - "readOnly": true, - "type": "string" + { + "type": "object", + "description": "Service principal credential when credential type is \"AzureStorageCredentialTypes.ClientCredentials\".", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID/Application ID" + }, + "tenantId": { + "type": "string", + "description": "The ID of the tenant the service principal/app belongs to." + }, + "isCertAuth": { + "description": " Is it using certificate to authenticate. If false then use client secret.", + "type": "boolean" + }, + "certificate": { + "type": "string", + "description": "The content of the certificate used for authentication." + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the certificate above." + }, + "clientSecret": { + "type": "string", + "description": "The client secret." + }, + "authorityUrl": { + "type": "string", + "description": "The authority URL used for authentication." + }, + "resourceUri": { + "type": "string", + "description": "The resource the service principal/app has access to." + } + } } + ] + }, + "AzureStorageCredentialTypes": { + "description": " The credential type.", + "enum": [ + "None", + "Sas", + "AccountKey", + "ClientCredentials" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureStorageCredentialTypes", + "modelAsString": true + } + }, + "AzureDataLakeCredentialTypes": { + "description": "The Azure Data Lake credential type.", + "enum": [ + "None", + "ServicePrincipal" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureDataLakeCredentialTypes", + "modelAsString": true + } + }, + "SqlCredentialTypes": { + "description": "Sql Authentication type.", + "enum": [ + "SqlAuthentication", + "ServicePrincipal", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlCredentialTypes", + "modelAsString": true } }, "PaginatedComputeResourcesList": { @@ -5398,6 +6621,296 @@ } ], "x-ms-discriminator-value": "Custom" + }, + "DatasetCreateRequest": { + "description": "The request for creating dataset.", + "type": "object", + "properties": { + "skipValidation": { + "description": "Skip validation that ensures data can be loaded from the dataset before registration.", + "default": false, + "type": "boolean" + }, + "datasetType": { + "description": "Specifies dataset type.", + "type": "string", + "enum": [ + "tabular", + "file" + ], + "x-ms-enum": { + "name": "DatasetType", + "modelAsString": true + } + }, + "parameters": { + "type": "object", + "properties": { + "header": { + "description": "Header type.", + "type": "string", + "enum": [ + "all_files_have_same_headers", + "only_first_file_has_headers", + "no_headers", + "combine_all_files_headers" + ], + "x-ms-enum": { + "name": "Header", + "modelAsString": true + } + }, + "includePath": { + "description": "Boolean to keep path information as column in the dataset. Defaults to False. This is useful when reading multiple files, and want to know which file a particular record originated from, or to keep useful information in file path.", + "default": false, + "type": "boolean" + }, + "partitionFormat": { + "description": "The partition information of each path will be extracted into columns based on the specified format. Format part '{column_name}' creates string column, and '{column_name:yyyy/MM/dd/HH/mm/ss}' creates datetime column, where 'yyyy', 'MM', 'dd', 'HH', 'mm' and 'ss' are used to extract year, month, day, hour, minute and second for the datetime type. The format should start from the position of first partition key until the end of file path. For example, given the path '../USA/2019/01/01/data.parquet' where the partition is by country/region and time, partition_format='/{CountryOrRegion}/{PartitionDate:yyyy/MM/dd}/data.csv' creates a string column 'CountryOrRegion' with the value 'USA' and a datetime column 'PartitionDate' with the value '2019-01-01", + "type": "string" + }, + "path": { + "type": "object", + "properties": { + "httpUrl": { + "description": "The Http URL.", + "type": "string" + }, + "dataPath": { + "type": "object", + "properties": { + "datastoreName": { + "description": "The datastore name.", + "type": "string" + }, + "relativePath": { + "description": "Path within the datastore.", + "type": "string" + } + } + } + } + }, + "query": { + "type": "object", + "properties": { + "datastoreName": { + "description": "The SQL/PostgreSQL/MySQL datastore name.", + "type": "string" + }, + "query": { + "description": "SQL Quey.", + "type": "string" + } + } + }, + "sourceType": { + "description": "Data source type.", + "type": "string", + "enum": [ + "delimited_files", + "json_lines_files", + "parquet_files" + ], + "x-ms-enum": { + "name": "SourceType", + "modelAsString": true + } + }, + "separator": { + "description": "The separator used to split columns for 'delimited_files' sourceType.", + "type": "string" + } + } + }, + "registration": { + "type": "object", + "properties": { + "description": { + "description": "The description for the dataset.", + "type": "string" + }, + "name": { + "description": "The name of the dataset.", + "type": "string" + }, + "tags": { + "description": "Tags associated with the dataset.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "timeSeries": { + "type": "object", + "properties": { + "fineGrainTimestamp": { + "description": " Column name to be used as FineGrainTimestamp", + "type": "string" + }, + "coarseGrainTimestamp": { + "description": "Column name to be used as CoarseGrainTimestamp. Can only be used if 'fineGrainTimestamp' is specified and cannot be same as 'fineGrainTimestamp'.", + "type": "string" + } + } + } + }, + "required": [ + "datasetType", + "parameters", + "registration" + ] + }, + "DatastoreCreateRequest": { + "description": "The request for creating datastore.", + "type": "object", + "properties": { + "name": { + "description": "The name of the datastore.", + "type": "string" + }, + "description": { + "description": "The description of the datastore.", + "type": "string" + }, + "skipValidation": { + "description": "Skip validation that ensures data can be loaded from the dataset before registration.", + "type": "boolean" + }, + "includeSecret": { + "description": "Include datastore secret in response.", + "default": true, + "type": "boolean" + }, + "dataStoreType": { + "description": "Specifies datastore type.", + "type": "string", + "enum": [ + "blob", + "adls", + "adls-gen2", + "dbfs", + "file", + "mysqldb", + "sqldb", + "psqldb" + ], + "x-ms-enum": { + "name": "DatastoreTypeArm", + "modelAsString": true + } + }, + "accountName": { + "description": "The name of the storage account.", + "type": "string" + }, + "shareName": { + "description": "The name of the file share.", + "type": "string" + }, + "containerName": { + "description": "The name of the azure blob container.", + "type": "string" + }, + "accountKey": { + "description": "Account Key of storage account.", + "type": "string" + }, + "endpoint": { + "description": "The endpoint of the server.", + "type": "string" + }, + "protocol": { + "description": "The protocol to be used", + "type": "string" + }, + "sasToken": { + "description": "Sas Token of storage account.", + "type": "string" + }, + "clientId": { + "description": "The service principal's client/application ID.", + "type": "string" + }, + "clientSecret": { + "description": "The service principal's secret.", + "type": "string" + }, + "storeName": { + "description": "The ADLS store name.", + "type": "string" + }, + "tenantId": { + "description": "The service principal Tenant ID.", + "type": "string" + }, + "authorityUrl": { + "description": "Authority url used to authenticate the user.", + "type": "string" + }, + "resourceUrl": { + "description": "Determines what operations will be performed.", + "type": "string" + }, + "storageAccountSubscriptionId": { + "description": "The subscription ID of the storage account. Defaults to selected subscription", + "type": "string" + }, + "storageAccountResourceGroup": { + "description": "The resource group of the storage account. Defaults to selected resource group", + "type": "string" + }, + "adlsSubscriptionId": { + "description": "The ID of the subscription the ADLS store belongs to. Defaults to selected subscription.", + "type": "string" + }, + "adlsResourceGroup": { + "description": "The resource group the ADLS store belongs to. Defaults to selected resource group.", + "type": "string" + }, + "fileSystem": { + "description": "The file system name of the ADLS Gen2.", + "type": "string" + }, + "databaseName": { + "description": "The database name.", + "type": "string" + }, + "password": { + "description": "The password.", + "type": "string" + }, + "serverName": { + "description": "The SQL/MySQL/PostgreSQL server name", + "type": "string" + }, + "userId": { + "description": "The user ID.", + "type": "string" + }, + "port": { + "description": "The port number.", + "type": "string" + }, + "enforceSSL": { + "description": "This sets the ssl value of the server. Defaults to true if not set.", + "default": true, + "type": "boolean" + }, + "userName": { + "description": "The username of the database user.", + "type": "string" + }, + "workspaceSystemAssignedIdentity": { + "description": "If set to true, datastore support data access authenticated with Workspace MSI.", + "type": "boolean" + } + }, + "required": [ + "dataStoreType" + ] } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..0248a5f57df6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + }, + { + "resourceType": "workspaces", + "name": "Enterprise", + "tier": "Enterprise", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ01" + ], + "zoneDetails": [ + { + "name": [ + "westus-AZ01" + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ] + } + ] + } + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ], + "restrictions": [] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json new file mode 100644 index 000000000000..8531e09146e5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Clusters", + "value": "Clusters" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/dedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "Total Cluster Dedicated Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/lowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "Total Cluster LowPriority Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "Standard D Family Cluster LowPriority vCPUs", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "Standard DSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "Standard Dv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "Standard FSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "Standard NCv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "Standard NCv3 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "Standard ND Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "Standard NDv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "Standard NV Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..2ddc7f03fa3d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-05-15-preview", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.09, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + } + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.08, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.06, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.16, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_M32-8ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.43, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.9, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.08, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.28, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.51, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.22, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.09, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_ND6s", + "family": "standardNDSFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.36, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.87, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.49, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..411004c04e69 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..704c580db801 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quota", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..c292f4502ce9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..93764b087005 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..56ef4ab5977d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myImageGallery/images/myImageDefinition/versions/0.0.1" + }, + "isolatedNetwork": false, + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified", + "enableNodePublicIp": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..af899ccebdc5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json new file mode 100644 index 000000000000..5548500d58c7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Personal", + "sshSettings": { + "sshPublicAccess": "Disabled" + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json new file mode 100644 index 000000000000..472b0af583df --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json new file mode 100644 index 000000000000..930701d6f441 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview", + "parameters": { + "name": "link-1", + "location": "westus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/Syn-1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json new file mode 100644 index 000000000000..421f33aac3de --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service456", + "properties": { + "computeType": "ACI", + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://storage/azureml/score.py", + "unpack": false + } + ], + "models": [ + { + "name": "sklearn_regression_model.pkl", + "url": "aml://storage/azureml/sklearn_regression_model.pkl", + "mimeType": "application/x-python" + } + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null, + "username": null, + "password": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "containerResourceRequirements": { + "cpu": 1, + "memoryInGB": 1 + }, + "location": "eastus2", + "authEnabled": true, + "appInsightsEnabled": true + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Transitioning" + } + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json new file mode 100644 index 000000000000..1edd946727e7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "identity": { + "principalId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "type": "SystemAssigned" + }, + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspaceConnection.json new file mode 100644 index 000000000000..9b63af3c400e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspaceConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-09-01-preview", + "parameters": { + "name": "connection-1", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json new file mode 100644 index 000000000000..cad967267d66 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json new file mode 100644 index 000000000000..e6e30e2b4bdd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json new file mode 100644 index 000000000000..9bb65ac74a3c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "serviceName": "service123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json new file mode 100644 index 000000000000..3064541e0b2a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspaceConnection.json new file mode 100644 index 000000000000..f177b778ed4f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspaceConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json new file mode 100644 index 000000000000..e67680830235 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json new file mode 100644 index 000000000000..bcd93f48347a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": null, + "isolatedNetwork": null, + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + }, + "enableNodePublicIp": true + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json new file mode 100644 index 000000000000..567eac6173e2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "ComputeInstance", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Shared", + "sshSettings": { + "sshPublicAccess": "Enabled", + "adminUserName": "azureuser", + "sshPort": 22 + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + }, + "createdBy": { + "userName": "foobar@microsoft.com", + "userOrgId": "00000000-0000-0000-0000-000000000000", + "userId": "00000000-0000-0000-0000-000000000000" + }, + "connectivityEndpoints": { + "publicIpAddress": "10.0.0.1", + "privateIpAddress": "10.0.0.1" + }, + "applications": [ + { + "displayName": "Jupyter", + "endpointUri": "https://compute123.eastus2.azureml.net/jupyter" + } + ], + "errors": null, + "state": "Running" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json new file mode 100644 index 000000000000..7bddddd83ca7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json new file mode 100644 index 000000000000..d2a8c1d213ea --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json new file mode 100644 index 000000000000..f4cb175a4050 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service123" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json new file mode 100644 index 000000000000..0db921d12456 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + }, + { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json new file mode 100644 index 000000000000..6e7461be23ca --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspaceConnection.json new file mode 100644 index 000000000000..28aa3fd500ed --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspaceConnection.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..8b71299c739d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..3032881f12d2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..4d0543e95c68 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json new file mode 100644 index 000000000000..f231946917ce --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-2", + "name": "link-2", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "cccccccc-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-29T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-29T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-2/providers/Microsoft.Synapse/workspaces/Syn-2", + "linkType": "Synapse" + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listNotebookKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listNotebookKeys.json new file mode 100644 index 000000000000..34a43f4da5fd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listNotebookKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "primaryAccessKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "secondaryAccessKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceConnections.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceConnections.json new file mode 100644 index 000000000000..92996cd601b9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceConnections.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-09-01-preview", + "target": "www.facebook.com", + "category": "ACR" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-2", + "name": "connection-2", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..5aafd35b8f1f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json new file mode 100644 index 000000000000..9896152b5883 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..d292d6494e2e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json new file mode 100644 index 000000000000..4ede3a3d75f9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json new file mode 100644 index 000000000000..786175fe9a16 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "description": "some compute", + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json new file mode 100644 index 000000000000..418097cf9ebb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json new file mode 100644 index 000000000000..b2de5e85f874 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..177f06c4bf79 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..72d0177e2a48 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..2115b10da341 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePrepareNotebook.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePrepareNotebook.json new file mode 100644 index 000000000000..d2d493bcba67 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePrepareNotebook.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..d0189346cf31 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json new file mode 100644 index 000000000000..067f48ddf6c9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json @@ -0,0 +1,6461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-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": { + "/providers/Microsoft.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces 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" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + }, + "Get an ComputeInstance": { + "$ref": "./examples/getComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create an ComputeInstance Compute with minimal inputs": { + "$ref": "./examples/createComputeInstanceMinimal.json" + }, + "Create an ComputeInstance Compute": { + "$ref": "./examples/createComputeInstance.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Start", + "description": "Posts a start action to a compute instance", + "x-ms-examples": { + "Start ComputeInstance Compute": { + "$ref": "./examples/startComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Stop", + "description": "Posts a stop action to a compute instance", + "x-ms-examples": { + "Stop ComputeInstance Compute": { + "$ref": "./examples/stopComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Restart", + "description": "Posts a restart action to a compute instance", + "x-ms-examples": { + "Restart ComputeInstance Compute": { + "$ref": "./examples/restartComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "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/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "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": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedServices": { + "get": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "ListLinkedServices": { + "$ref": "./examples/listLinkedServices.json" + } + }, + "operationId": "LinkedServices_List", + "description": "List all linked services under an AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the linked services.", + "schema": { + "$ref": "#/definitions/LinkedServiceList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedServices/{linkName}": { + "put": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Create", + "description": "Add a new linked service.", + "x-ms-examples": { + "CreateLinkedService": { + "$ref": "./examples/createLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a linked service", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the linked service.", + "schema": { + "$ref": "#/definitions/LinkedServiceResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Get", + "description": "Get the detail of a linked service.", + "x-ms-examples": { + "GetLinkedService": { + "$ref": "./examples/getLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked service.", + "schema": { + "$ref": "#/definitions/LinkedServiceResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Delete", + "description": "Delete a linked service.", + "x-ms-examples": { + "DeleteLinkedService": { + "$ref": "./examples/deleteLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the linked service." + }, + "204": { + "description": "Specific linked service not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningService_ListByWorkspace", + "description": "Gets services in specified workspace.", + "x-ms-examples": { + "Get Services": { + "$ref": "./examples/getServices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + }, + { + "$ref": "#/parameters/ModelIdParameter" + }, + { + "$ref": "#/parameters/ModelNameParameter" + }, + { + "$ref": "#/parameters/WebServiceTagParameter" + }, + { + "$ref": "#/parameters/WebServiceTagsParameter" + }, + { + "$ref": "#/parameters/WebServicePropertiesParameter" + }, + { + "$ref": "#/parameters/WebServiceRunIdParameter" + }, + { + "$ref": "#/parameters/WebServiceExpandParameter" + }, + { + "$ref": "#/parameters/WebServiceOrderByParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning services and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedServiceList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services/{serviceName}": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Get", + "description": "Get a Service by name.", + "x-ms-examples": { + "Get Service": { + "$ref": "./examples/getService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Set to True to include Model details.", + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Delete", + "description": "Delete a specific Service..", + "x-ms-examples": { + "Delete Service": { + "$ref": "./examples/deleteService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The resource exists and was deleted successfully." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningServices" + ], + "description": "Creates or updates service. This call will update a service if it exists. This is a nonrecoverable operation. If your intent is to create a new service, do a GET first to verify that it does not exist yet.", + "operationId": "MachineLearningService_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Or Update service": { + "$ref": "./examples/createOrUpdateService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Service.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Service creation or update initiated.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "201": { + "description": "Service creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook": { + "post": { + "tags": [ + "ProxyOperations" + ], + "operationId": "Notebooks_Prepare", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Notebook": { + "$ref": "./examples/workspacePrepareNotebook.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookResourceInfo" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookKeys": { + "post": { + "tags": [ + "ProxyOperations" + ], + "operationId": "Notebooks_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listNotebookKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListNotebookKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections": { + "get": { + "tags": [ + "WorkspaceConnections" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListWorkspaceConnections": { + "$ref": "./examples/listWorkspaceConnections.json" + } + }, + "operationId": "WorkspaceConnections_List", + "description": "List all connections under a AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/TargetParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Workspace connections and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedWorkspaceConnectionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}": { + "put": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Create", + "description": "Add a new workspace connection.", + "x-ms-examples": { + "CreateWorkspaceConnection": { + "$ref": "./examples/createWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a new workspace connection", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceConnectionDto" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the workspace connection.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Get", + "description": "Get the detail of a workspace connection.", + "x-ms-examples": { + "GetWorkspaceConnection": { + "$ref": "./examples/getWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked workspace.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Delete", + "description": "Delete a workspace connection.", + "x-ms-examples": { + "DeleteWorkspaceConnection": { + "$ref": "./examples/deleteWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the workspace connection." + }, + "204": { + "description": "Specific workspace connection not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "LinkName": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the linked workspace", + "x-ms-parameter-location": "method" + }, + "ModelIdParameter": { + "in": "query", + "name": "modelId", + "type": "string", + "description": "The Model Id.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelNameParameter": { + "in": "query", + "name": "modelName", + "type": "string", + "description": "The Model name.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceNameParameter": { + "name": "serviceName", + "description": "Name of the Azure Machine Learning service.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WebServiceTagParameter": { + "in": "query", + "name": "tag", + "type": "string", + "description": "The object tag.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceCountParameter": { + "in": "query", + "name": "count", + "type": "integer", + "format": "int32", + "description": "The number of items to retrieve in a page.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceTagsParameter": { + "in": "query", + "name": "tags", + "type": "string", + "description": "A set of tags with which to filter the returned services. It is a comma separated string of tags key or tags key=value Example: tagKey1,tagKey2,tagKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServicePropertiesParameter": { + "in": "query", + "name": "properties", + "type": "string", + "description": "A set of properties with which to filter the returned services. It is a comma separated string of properties key and/or properties key=value Example: propKey1,propKey2,propKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceRunIdParameter": { + "in": "query", + "name": "runId", + "type": "string", + "description": "runId for model associated with service.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceExpandParameter": { + "in": "query", + "name": "expand", + "type": "boolean", + "description": "Set to True to include Model details.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceOrderByParameter": { + "in": "query", + "name": "orderby", + "type": "string", + "description": "The option to order the response.", + "required": false, + "default": "UpdatedAtDesc", + "enum": [ + "CreatedAtDesc", + "CreatedAtAsc", + "UpdatedAtDesc", + "UpdatedAtAsc" + ], + "x-ms-enum": { + "name": "OrderString", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "ConnectionName": { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the workspace connection", + "x-ms-parameter-location": "method" + }, + "TargetParameter": { + "in": "query", + "name": "target", + "type": "string", + "description": "Target of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + }, + "CategoryParameter": { + "in": "query", + "name": "category", + "type": "string", + "description": "Category of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "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" + } + } + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "amlWorkspaceLocation": { + "readOnly": true, + "type": "string", + "description": "Region of the AML workspace in the id." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + }, + "estimatedVMPrices": { + "title": "Estimated VM prices", + "description": "The estimated price information for using a VM.", + "$ref": "#/definitions/EstimatedVMPrices" + } + }, + "description": "Describes the properties of a VM size." + }, + "EstimatedVMPrices": { + "properties": { + "billingCurrency": { + "type": "string", + "title": "Billing currency", + "description": "Three lettered code specifying the currency of the VM price. Example: USD", + "enum": [ + "USD" + ], + "x-ms-enum": { + "name": "BillingCurrency", + "modelAsString": true + } + }, + "unitOfMeasure": { + "type": "string", + "title": "Unit of time measure", + "description": "The unit of time measurement for the specified VM price. Example: OneHour", + "enum": [ + "OneHour" + ], + "x-ms-enum": { + "name": "UnitOfMeasure", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/EstimatedVMPrice" + }, + "title": "List of estimated VM prices.", + "description": "The list of estimated prices for using a VM of a particular OS type, tier, etc." + } + }, + "required": [ + "billingCurrency", + "unitOfMeasure", + "values" + ], + "description": "The estimated price info for using a VM." + }, + "EstimatedVMPrice": { + "properties": { + "retailPrice": { + "type": "number", + "format": "double", + "title": "Retail price", + "description": "The price charged for using the VM." + }, + "osType": { + "type": "string", + "title": "OS type", + "description": "Operating system type used by the VM.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "VMPriceOSType", + "modelAsString": true + } + }, + "vmTier": { + "type": "string", + "title": "VM tier", + "description": "The type of the VM.", + "enum": [ + "Standard", + "LowPriority", + "Spot" + ], + "x-ms-enum": { + "name": "VMTier", + "modelAsString": true + } + } + }, + "required": [ + "retailPrice", + "osType", + "vmTier" + ], + "description": "The estimated price info for using a VM of a particular OS type, tier, etc." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + }, + "location": { + "description": "Region of workspace quota to be updated.", + "type": "string" + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "amlWorkspaceLocation": { + "readOnly": true, + "type": "string", + "description": "Region of the AML workspace in the id." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities", + "description": "The user assigned identities associated with the resource." + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentities": { + "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "description": "User Assigned Identity", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The clientId(aka appId) of the user assigned identity." + } + } + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AML Compute properties", + "properties": { + "osType": { + "description": "Compute OS Type", + "type": "string", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OsType", + "modelAsString": true + } + }, + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "virtualMachineImage": { + "description": "Virtual Machine image for AML Compute - windows only", + "$ref": "#/definitions/VirtualMachineImage" + }, + "isolatedNetwork": { + "description": "Network is isolated or not", + "type": "boolean" + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + }, + "enableNodePublicIp": { + "type": "boolean", + "default": true, + "title": "Enable node public IP.", + "description": "Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs." + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "ComputeInstance": { + "description": "An Azure Machine Learning compute instance.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute Instance properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "applicationSharingPolicy": { + "type": "string", + "default": "Shared", + "title": "Sharing policy for applications on this compute instance", + "description": "Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.", + "enum": [ + "Personal", + "Shared" + ], + "x-ms-enum": { + "name": "applicationSharingPolicy", + "modelAsString": true + } + }, + "sshSettings": { + "description": "Specifies policy and settings for SSH access.", + "$ref": "#/definitions/ComputeInstanceSshSettings" + }, + "connectivityEndpoints": { + "readOnly": true, + "description": "Describes all connectivity endpoints available for this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceConnectivityEndpoints" + }, + "applications": { + "type": "array", + "readOnly": true, + "description": "Describes available applications and their endpoints on this ComputeInstance.", + "items": { + "$ref": "#/definitions/ComputeInstanceApplication" + } + }, + "createdBy": { + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceCreatedBy" + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered on this ComputeInstance.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "state": { + "description": "The current state of this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceState", + "readOnly": true + }, + "computeInstanceAuthorizationType": { + "type": "string", + "title": "Compute Instance Authorization type.", + "description": "The Compute Instance Authorization type. Available values are personal (default).", + "default": "personal", + "enum": [ + "personal" + ], + "x-ms-enum": { + "name": "ComputeInstanceAuthorizationType", + "modelAsString": true + } + }, + "personalComputeInstanceSettings": { + "title": "Personal Compute Instance settings.", + "description": "Settings for a personal compute instance.", + "$ref": "#/definitions/PersonalComputeInstanceSettings" + }, + "lastOperation": { + "description": "The last operation on ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceLastOperation", + "readOnly": true + } + } + } + } + } + ], + "x-ms-discriminator-value": "ComputeInstance" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "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]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "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.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer", + "format": "int32" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "format": "int32", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format." + } + }, + "required": [ + "maxNodeCount" + ] + }, + "VirtualMachineImage": { + "type": "object", + "description": "Virtual Machine image for Windows AML Compute", + "properties": { + "id": { + "description": "Virtual Machine image path", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "ComputeInstance", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "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/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "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/SKUCapability" + }, + "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." + }, + "WorkspaceSku": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/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": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "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", + "Disconnected", + "Timeout" + ], + "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 + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "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." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "LinkedServiceResponse": { + "description": "Linked service.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the link of the linked service.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the linked service.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of linked service.", + "readOnly": true + }, + "location": { + "description": "location of the linked service.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/LinkedServiceProps" + } + } + }, + "LinkedServiceRequest": { + "type": "object", + "description": "object used for creating linked service.", + "properties": { + "name": { + "description": "Friendly name of the linked service", + "type": "string" + }, + "location": { + "description": "location of the linked service.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/LinkedServiceProps" + } + } + }, + "LinkedServiceProps": { + "type": "object", + "description": "LinkedService specific properties.", + "required": [ + "linkedServiceResourceId" + ], + "properties": { + "linkedServiceResourceId": { + "description": "ResourceId of the link target of the linked service.", + "type": "string" + }, + "linkType": { + "description": "Type of the link target.", + "type": "string", + "enum": [ + "Synapse" + ], + "x-ms-enum": { + "name": "LinkedServiceLinkType", + "modelAsString": false + } + }, + "createdTime": { + "format": "date-time", + "description": "The creation time of the linked service.", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The last modified time of the linked service.", + "type": "string" + } + } + }, + "LinkedServiceList": { + "type": "object", + "description": "List response of linked service.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "Array of linked service.", + "items": { + "$ref": "#/definitions/LinkedServiceResponse" + } + } + } + }, + "ServiceResource": { + "type": "object", + "description": "Machine Learning service object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Service properties", + "$ref": "#/definitions/ServiceResponseBase" + } + } + } + ] + }, + "ServiceResponseBase": { + "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The service description.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "description": "The current state of the service.", + "enum": [ + "Transitioning", + "Healthy", + "Unhealthy", + "Failed", + "Unschedulable" + ], + "type": "string", + "example": "Healthy", + "x-ms-enum": { + "name": "WebServiceState", + "modelAsString": true + }, + "readOnly": true + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ], + "readOnly": true + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "deploymentType": { + "description": "The deployment type for the service.", + "enum": [ + "GRPCRealtimeEndpoint", + "HttpRealtimeEndpoint", + "Batch" + ], + "type": "string", + "example": "HttpRealtimeEndpoint", + "x-ms-enum": { + "name": "DeploymentType", + "modelAsString": true + } + } + }, + "discriminator": "computeType" + }, + "PaginatedServiceList": { + "type": "object", + "description": "Paginated list of Machine Learning service objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ACIServiceResponse": { + "description": "The response for an ACI service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "publicIp": { + "description": "The public IP address for the service.", + "type": "string" + }, + "publicFqdn": { + "description": "The public Fqdn for the service.", + "type": "string" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "ContainerResourceRequirements": { + "description": "The resource requirements for the container (cpu and memory).", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "The number of CPU cores on the container.", + "type": "number", + "example": 4 + }, + "memoryInGB": { + "format": "double", + "description": "The amount of memory on the container in GB.", + "type": "number", + "example": 64 + }, + "gpu": { + "format": "int32", + "description": "The number of GPU cores in the container.", + "type": "integer" + }, + "fpga": { + "format": "int32", + "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.", + "type": "integer" + } + } + }, + "ModelDataCollection": { + "description": "The Model data collection properties.", + "type": "object", + "properties": { + "eventHubEnabled": { + "description": "Option for enabling/disabling Event Hub.", + "type": "boolean" + }, + "storageEnabled": { + "description": "Option for enabling/disabling storage.", + "type": "boolean" + } + } + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "vnetName": { + "description": "The name of the virtual network.", + "type": "string" + }, + "subnetName": { + "description": "The name of the virtual network subnet.", + "type": "string" + } + } + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "vault base Url", + "type": "string" + }, + "keyName": { + "description": "Encryption Key name", + "type": "string" + }, + "keyVersion": { + "description": "Encryption Key Version", + "type": "string" + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "Model": { + "description": "An Azure Machine Learning Model.", + "required": [ + "mimeType", + "name", + "url" + ], + "type": "object", + "properties": { + "id": { + "description": "The Model Id.", + "type": "string", + "example": "sklearn_mnist:1" + }, + "name": { + "description": "The Model name.", + "type": "string", + "example": "sklearn_mnist" + }, + "framework": { + "description": "The Model framework.", + "type": "string" + }, + "frameworkVersion": { + "description": "The Model framework version.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "The Model version assigned by Model Management Service.", + "type": "integer", + "example": 1 + }, + "datasets": { + "description": "The list of datasets associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/DatasetReference" + } + }, + "url": { + "description": "The URL of the Model. Usually a SAS URL.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml", + "type": "string" + }, + "description": { + "description": "The Model description text.", + "type": "string", + "example": "A mnist model, first version." + }, + "createdTime": { + "format": "date-time", + "description": "The Model creation time (UTC).", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The Model last modified time (UTC).", + "type": "string" + }, + "unpack": { + "description": "Indicates whether we need to unpack the Model during docker Image creation.", + "type": "boolean" + }, + "parentModelId": { + "description": "The Parent Model Id.", + "type": "string", + "example": "sklearn_mnist_root:1" + }, + "runId": { + "description": "The RunId that created this model.", + "type": "string" + }, + "experimentName": { + "description": "The name of the experiment where this model was created.", + "type": "string" + }, + "kvTags": { + "description": "The Model tag dictionary. Items are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The Model property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "derivedModelIds": { + "description": "Models derived from this model", + "type": "array", + "items": { + "type": "string" + } + }, + "sampleInputData": { + "description": "Sample Input Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "sampleOutputData": { + "description": "Sample Output Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "resourceRequirements": { + "description": "Resource requirements for the model", + "$ref": "#/definitions/ContainerResourceRequirements" + } + } + }, + "EnvironmentImageRequest": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinition" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "EnvironmentImageResponse": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinitionResponse" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "ImageAsset": { + "description": "An Image asset.", + "type": "object", + "properties": { + "id": { + "description": "The Asset Id.", + "type": "string" + }, + "mimeType": { + "description": "The mime type.", + "type": "string" + }, + "url": { + "description": "The Url of the Asset.", + "type": "string" + }, + "unpack": { + "description": "Whether the Asset is unpacked.", + "type": "boolean" + } + } + }, + "ModelEnvironmentDefinition": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSection" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSection" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "ModelEnvironmentDefinitionResponse": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSectionResponse" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSectionResponse" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "EnvironmentReference": { + "type": "object", + "properties": { + "name": { + "description": "Name of the environment.", + "type": "string" + }, + "version": { + "description": "Version of the environment.", + "type": "string" + } + } + }, + "ModelPythonSection": { + "type": "object", + "properties": { + "interpreterPath": { + "description": "The python interpreter path to use if an environment build is not required. The path specified gets used to call the user script.", + "type": "string" + }, + "userManagedDependencies": { + "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.", + "type": "boolean" + }, + "condaDependencies": { + "description": "A JObject containing Conda dependencies.", + "type": "object" + }, + "baseCondaEnvironment": { + "type": "string" + } + } + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "username": { + "type": "string", + "x-ms-secret": true + }, + "password": { + "type": "string", + "x-ms-secret": true + } + } + }, + "ContainerRegistryResponse": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "ModelDockerSection": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistry" + } + ] + } + } + }, + "ModelDockerSectionResponse": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistryResponse" + } + ] + } + } + }, + "SparkMavenPackage": { + "type": "object", + "properties": { + "group": { + "type": "string" + }, + "artifact": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "ModelSparkSection": { + "type": "object", + "properties": { + "repositories": { + "description": "The list of spark repositories.", + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "description": "The Spark packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/SparkMavenPackage" + } + }, + "precachePackages": { + "description": "Whether to precache the packages.", + "type": "boolean" + } + } + }, + "RCranPackage": { + "type": "object", + "properties": { + "name": { + "description": "The package name.", + "type": "string" + }, + "repository": { + "description": "The repository name.", + "type": "string" + } + } + }, + "RGitHubPackage": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + }, + "authToken": { + "description": "Personal access token to install from a private repo", + "type": "string", + "x-ms-secret": true + } + } + }, + "RGitHubPackageResponse": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + } + } + }, + "RSection": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackage" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RSectionResponse": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackageResponse" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetReference": { + "description": "The dataset reference object.", + "type": "object", + "properties": { + "name": { + "description": "The name of the dataset reference.", + "type": "string" + }, + "id": { + "description": "The id of the dataset reference.", + "type": "string" + } + } + }, + "AKSVariantResponse": { + "description": "The response for an AKS variant.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "AutoScaler": { + "description": "The Auto Scaler properties.", + "type": "object", + "properties": { + "autoscaleEnabled": { + "description": "Option to enable/disable auto scaling.", + "type": "boolean" + }, + "minReplicas": { + "format": "int32", + "description": "The minimum number of replicas to scale down to.", + "type": "integer", + "example": 1 + }, + "maxReplicas": { + "format": "int32", + "description": "The maximum number of replicas in the cluster.", + "type": "integer", + "example": 3 + }, + "targetUtilization": { + "format": "int32", + "description": "The target utilization percentage to use for determining whether to scale the cluster.", + "type": "integer", + "example": 70 + }, + "refreshPeriodInSeconds": { + "format": "int32", + "description": "The amount of seconds to wait between auto scale updates.", + "type": "integer", + "example": 120 + } + } + }, + "AKSReplicaStatus": { + "type": "object", + "properties": { + "desiredReplicas": { + "format": "int32", + "description": "The desired number of replicas.", + "type": "integer", + "example": 2 + }, + "updatedReplicas": { + "format": "int32", + "description": "The number of updated replicas.", + "type": "integer", + "example": 1 + }, + "availableReplicas": { + "format": "int32", + "description": "The number of available replicas.", + "type": "integer", + "example": 1 + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ] + } + } + }, + "LivenessProbeRequirements": { + "description": "The liveness probe requirements.", + "type": "object", + "properties": { + "failureThreshold": { + "format": "int32", + "description": "The number of failures to allow before returning an unhealthy status.", + "type": "integer" + }, + "successThreshold": { + "format": "int32", + "description": "The number of successful probes before returning a healthy status.", + "type": "integer" + }, + "timeoutSeconds": { + "format": "int32", + "description": "The probe timeout in seconds.", + "type": "integer" + }, + "periodSeconds": { + "format": "int32", + "description": "The length of time between probes in seconds.", + "type": "integer" + }, + "initialDelaySeconds": { + "format": "int32", + "description": "The delay before the first probe in seconds.", + "type": "integer" + } + } + }, + "AKSServiceResponse": { + "description": "The response for an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AKSVariantResponse" + }, + { + "type": "object", + "properties": { + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "namespace": { + "description": "The Kubernetes namespace of the deployment.", + "type": "string", + "example": "default" + }, + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "deploymentStatus": { + "description": "The deployment status.", + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/AKSReplicaStatus" + } + ] + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AuthKeys": { + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + } + } + }, + "CreateServiceRequest": { + "description": "The base class for creating a service.", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The description of the service.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service properties dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "keys": { + "description": "The authentication keys.", + "allOf": [ + { + "$ref": "#/definitions/AuthKeys" + } + ] + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets needed for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageRequest" + } + ] + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + } + }, + "discriminator": "computeType" + }, + "ACIServiceCreateRequest": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "default": false, + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "default": false, + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "default": false, + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "dnsNameLabel": { + "description": "The Dns label for the service.", + "type": "string" + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "AKSServiceCreateRequest": { + "description": "The request to create an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateEndpointVariantRequest" + }, + { + "type": "object", + "properties": { + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "namespace": { + "description": "Kubernetes namespace for the service.", + "type": "string", + "example": "default" + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "CreateEndpointVariantRequest": { + "description": "The Variant properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "ComputeInstanceSshSettings": { + "type": "object", + "description": "Specifies policy and settings for SSH access.", + "properties": { + "sshPublicAccess": { + "type": "string", + "default": "Disabled", + "title": "Access policy for SSH", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the VNet/subnet policy if applicable.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "sshPublicAccess", + "modelAsString": true + } + }, + "adminUserName": { + "type": "string", + "readOnly": true, + "description": "Describes the admin user name." + }, + "sshPort": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Describes the port for connecting through SSH." + }, + "adminPublicKey": { + "type": "string", + "description": "Specifies the SSH rsa public key file as a string. Use \"ssh-keygen -t rsa -b 2048\" to generate your SSH key pairs." + } + } + }, + "ComputeInstanceState": { + "type": "string", + "description": "Current state of an ComputeInstance.", + "enum": [ + "Creating", + "CreateFailed", + "Deleting", + "Running", + "Restarting", + "JobRunning", + "SettingUp", + "SetupFailed", + "Starting", + "Stopped", + "Stopping", + "UserSettingUp", + "UserSetupFailed", + "Unknown", + "Unusable" + ], + "x-ms-enum": { + "name": "ComputeInstanceState", + "modelAsString": true + } + }, + "ComputeInstanceLastOperation": { + "type": "object", + "description": "The last operation on ComputeInstance.", + "properties": { + "operationName": { + "type": "string", + "description": "Name of the last operation.", + "enum": [ + "Create", + "Start", + "Stop", + "Restart", + "Reimage", + "Delete" + ], + "x-ms-enum": { + "name": "OperationName", + "modelAsString": true + } + }, + "operationTime": { + "type": "string", + "format": "date-time", + "description": "Time of the last operation." + }, + "operationStatus": { + "type": "string", + "description": "Operation status.", + "enum": [ + "InProgress", + "Succeeded", + "CreateFailed", + "StartFailed", + "StopFailed", + "RestartFailed", + "ReimageFailed", + "DeleteFailed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + } + } + }, + "ComputeInstanceApplication": { + "type": "object", + "description": "Defines an Aml Instance application and its connectivity endpoint URI.", + "properties": { + "displayName": { + "type": "string", + "description": "Name of the ComputeInstance application." + }, + "endpointUri": { + "type": "string", + "description": "Application' endpoint URI." + } + } + }, + "ComputeInstanceConnectivityEndpoints": { + "type": "object", + "readOnly": true, + "description": "Defines all connectivity endpoints and properties for an ComputeInstance.", + "properties": { + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP Address of this ComputeInstance." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is deployed)." + } + } + }, + "ComputeInstanceCreatedBy": { + "type": "object", + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "properties": { + "userName": { + "type": "string", + "readOnly": true, + "description": "Name of the user." + }, + "userOrgId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies user' Azure Active Directory organization." + }, + "userId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies the user within his/her organization." + } + } + }, + "PersonalComputeInstanceSettings": { + "type": "object", + "properties": { + "assignedUser": { + "$ref": "#/definitions/AssignedUser", + "title": "Assigned User.", + "description": "A user explicitly assigned to a personal compute instance." + } + }, + "description": "Settings for a personal compute instance." + }, + "AssignedUser": { + "type": "object", + "description": "A user that can be assigned to a compute instance.", + "properties": { + "objectId": { + "type": "string", + "description": "User’s AAD Object Id." + }, + "tenantId": { + "type": "string", + "description": "User’s AAD Tenant Id." + } + }, + "required": [ + "objectId", + "tenantId" + ] + }, + "NotebookListCredentialsResult": { + "type": "object", + "properties": { + "primaryAccessKey": { + "type": "string" + }, + "secondaryAccessKey": { + "type": "string" + } + } + }, + "NotebookResourceInfo": { + "type": "object", + "properties": { + "fqdn": { + "type": "string" + }, + "resourceId": { + "type": "string", + "description": "the data plane resourceId that used to initialize notebook component" + }, + "notebookPreparationError": { + "$ref": "#/definitions/NotebookPreparationError", + "description": "The error that occurs when preparing notebook." + } + } + }, + "NotebookPreparationError": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string" + }, + "statusCode": { + "format": "int32", + "type": "integer" + } + } + }, + "ListNotebookKeysResult": { + "type": "object", + "properties": { + "primaryAccessKey": { + "readOnly": true, + "type": "string" + }, + "secondaryAccessKey": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedWorkspaceConnectionsList": { + "type": "object", + "description": "Paginated list of Workspace connection objects.", + "properties": { + "value": { + "type": "array", + "description": "An array of Workspace connection objects.", + "items": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "WorkspaceConnection": { + "x-ms-azure-resource": true, + "description": "Workspace connection.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the workspace connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the workspace connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of workspace connection.", + "readOnly": true + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionDto": { + "type": "object", + "description": "object used for creating workspace connection.", + "properties": { + "name": { + "description": "Friendly name of the workspace connection", + "type": "string" + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionProps": { + "type": "object", + "description": "Workspace Connection specific properties.", + "properties": { + "category": { + "description": "Category of the workspace connection.", + "type": "string" + }, + "target": { + "description": "Target of the workspace connection.", + "type": "string" + }, + "authType": { + "description": "Authorization type of the workspace connection.", + "type": "string" + }, + "value": { + "description": "Value details of the workspace connection.", + "type": "string" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json index 456af90f383a..005f93303c08 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json @@ -10,6 +10,9 @@ "name": "Basic", "tier": "Basic" }, + "identity": { + "type": "SystemAssigned" + }, "properties": { "friendlyName": "HelloName", "description": "test description", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json index 7f3f77cc768a..f3d57d4a6891 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json @@ -9,67 +9,35 @@ "value": [ { "resourceType": "workspaces", - "name": "Basic", - "tier": "Basic", - "locations": [ - "westus" - ], - "locationInfo": [ + "skus": [ { - "location": "westus", - "zones": [ - "westus-AZ02", - "westus-AZ01" - ] - } - ], - "capabilities": [ - { - "name": "automatedml_readhyperdrivesdk", - "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" - }, - { - "name": "workspace_upgradeworkspacesdk", - "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" - } - ], - "restrictions": [] - }, - { - "resourceType": "workspaces", - "name": "Enterprise", - "tier": "Enterprise", - "locations": [ - "westus" - ], - "locationInfo": [ - { - "location": "westus", - "zones": [ - "westus-AZ01" + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" ], - "zoneDetails": [ + "locationInfo": [ { - "name": [ + "location": "westus", + "zones": [ + "westus-AZ02", "westus-AZ01" - ], - "capabilities": [ - { - "name": "automatedml_createeditexperimentssdk", - "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" - } ] } - ] - } - ], - "capabilities": [ - { - "name": "automatedml_createeditexperimentssdk", - "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] } - ], - "restrictions": [] + ] } ], "nextLink": null diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json index f9420e79b013..88894b353429 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json @@ -21,7 +21,7 @@ } }, "identity": { - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json index 14b0251270ee..53dd13e4206c 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json @@ -102,6 +102,9 @@ "name": "Basic", "tier": "Basic" }, + "identity": { + "type": "SystemAssigned" + }, "properties": { "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json index 692799eaac79..e432876e24d6 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json @@ -46,7 +46,7 @@ "identity": { "principalId": "00000000-0000-0000-0000-000000000000", "tenantId": "00000000-0000-0000-0000-000000000000", - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { "clientId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json index 98d7470237bf..a5c4ed1fed2d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json @@ -18,7 +18,7 @@ } }, "identity": { - "type": "SystemAssigned, UserAssigned", + "type": "SystemAssigned,UserAssigned", "userAssignedIdentities": { "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json index d6cddc4a0c2c..b493ea44b56e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json @@ -9,6 +9,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json index 03cb6e43b145..9641d26adc27 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json @@ -1344,7 +1344,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/MachineLearningServiceError" } } } @@ -1396,7 +1396,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/MachineLearningServiceError" } } } @@ -1407,6 +1407,7 @@ ], "operationId": "PrivateEndpointConnections_Delete", "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-long-running-operation": true, "x-ms-examples": { "WorkspaceDeletePrivateEndpointConnection": { "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" @@ -1433,13 +1434,16 @@ "200": { "description": "OK -- Delete the private endpoint connection successfully." }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, "204": { "description": "No Content -- The private endpoint connection does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/MachineLearningServiceError" } } } @@ -2395,7 +2399,7 @@ "enum": [ "SystemAssigned", "UserAssigned", - "SystemAssigned, UserAssigned", + "SystemAssigned,UserAssigned", "None" ], "x-ms-enum": { @@ -3533,6 +3537,24 @@ "description": "Describes The zonal capabilities of a SKU." }, "WorkspaceSku": { + "type": "object", + "description": "AML workspace sku information", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string" + }, + "skus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuSettings" + }, + "description": "The list of workspace sku settings" + } + } + }, + "SkuSettings": { "description": "Describes Workspace Sku details and features", "type": "object", "properties": { @@ -3646,19 +3668,31 @@ } }, "PrivateEndpointConnection": { + "x-ms-azure-resource": true, + "description": "The Private Endpoint Connection resource.", + "type": "object", "properties": { + "id": { + "type": "string", + "description": "ResourceId of the private endpoint connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the private endpoint connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of private endpoint connection.", + "readOnly": true + }, "properties": { "$ref": "#/definitions/PrivateEndpointConnectionProperties", "x-ms-client-flatten": true, "description": "Resource properties." } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The Private Endpoint Connection resource." + } }, "PrivateEndpointConnectionProperties": { "properties": { diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListSkus.json new file mode 100644 index 000000000000..68c9bc406ba0 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListSkus.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "skus": [ + { + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + } + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListUsages.json new file mode 100644 index 000000000000..d80eb7c6976f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Total Cluster vCPUs", + "value": "TotalCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalDedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "TotalDedicatedCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "StandardDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalLowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "TotalLowPriorityCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "StandardDSv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "StandardFSv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/lowPriorityCores/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "StandardNDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..5f75351b5b27 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListVMSizesResult.json @@ -0,0 +1,2967 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-08-01", + "location": "eastus", + "computeType": "AmlCompute", + "recommended": false + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute" + ] + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.09, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D3_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.47, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.23, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.19, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D4_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.94, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.46, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.09, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.37, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D12_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.19, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.49, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.3, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D13_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.6, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.97, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.39, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D14_v2", + "family": "standardDv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 819200, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.94, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.2, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.78, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.24, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D15_v2", + "family": "standardDv2Family", + "vCPUs": 20, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 140, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.97, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.5, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.3, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS2_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 14336, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.09, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS3_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.47, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.23, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.19, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS4_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.94, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.46, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.09, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.37, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS5_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.75, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.92, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.87, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS11_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS12_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.19, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.49, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.3, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS13_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.6, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.97, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.39, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS14_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 229376, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.94, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.2, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.78, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.24, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_DS15_v2", + "family": "standardDSv2Family", + "vCPUs": 20, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 286720, + "memoryGB": 140, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.97, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.5, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.3, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.16, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.08, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.06, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F4s_v2", + "family": "standardFSv2Family", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 32768, + "memoryGB": 8, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.13, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.33, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.17, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F8s_v2", + "family": "standardFSv2Family", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 65536, + "memoryGB": 16, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.07, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.65, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.26, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.34, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F16s_v2", + "family": "standardFSv2Family", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 131072, + "memoryGB": 32, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.52, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.68, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.3, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.14, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F32s_v2", + "family": "standardFSv2Family", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 262144, + "memoryGB": 64, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.35, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.04, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.6, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.27, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F64s_v2", + "family": "standardFSv2Family", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 524288, + "memoryGB": 128, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 5.21, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.71, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 2.08, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.54, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_F72s_v2", + "family": "standardFSv2Family", + "vCPUs": 72, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 589824, + "memoryGB": 144, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 5.86, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 3.04, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.61, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.34, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC6s_v3", + "family": "standardNCSv3Family", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.61, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.34, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.06, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 3.34, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC12s_v3", + "family": "standardNCSv3Family", + "vCPUs": 12, + "gpus": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.67, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.22, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.68, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 6.12, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC24rs_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 5.83, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.69, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 14.59, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 13.46, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC24s_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 13.36, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 5.35, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.45, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 12.24, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D1", + "family": "standardDFamily", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.13, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.07, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute" + ] + }, + { + "name": "Standard_D2", + "family": "standardDFamily", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.13, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.26, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D3", + "family": "standardDFamily", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.52, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.27, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.21, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D4", + "family": "standardDFamily", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.42, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.54, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.04, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D11", + "family": "standardDFamily", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.17, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D12", + "family": "standardDFamily", + "vCPUs": 4, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 28, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.35, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.49, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.19, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.07, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D13", + "family": "standardDFamily", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.97, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.39, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.69, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.14, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_D14", + "family": "standardDFamily", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 819200, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.94, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.78, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.28, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.39, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.41, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.24, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.2, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.56, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV12", + "family": "standardNVFamily", + "vCPUs": 12, + "gpus": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.82, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.13, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.48, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.4, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV24", + "family": "standardNVFamily", + "vCPUs": 24, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 5.64, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.26, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 4.81, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.96, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.9, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.43, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.08, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC12", + "family": "standardNCFamily", + "vCPUs": 12, + "gpus": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.36, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.87, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.8, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 2.17, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC24", + "family": "standardNCFamily", + "vCPUs": 24, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 4.34, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.72, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.6, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.73, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NC24r", + "family": "standardNCFamily", + "vCPUs": 24, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 3.96, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.79, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 4.77, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.91, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M8-2ms", + "family": "standardMSFamily", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 256000, + "memoryGB": 218.75, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.11, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.31, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.54, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.84, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M8-4ms", + "family": "standardMSFamily", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 256000, + "memoryGB": 218.75, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.11, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.31, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.54, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.84, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M8ms", + "family": "standardMSFamily", + "vCPUs": 8, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 256000, + "memoryGB": 218.75, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.11, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.31, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.54, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.84, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M16-4ms", + "family": "standardMSFamily", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 512000, + "memoryGB": 437.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 4.21, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.69, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.61, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.07, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M16-8ms", + "family": "standardMSFamily", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 512000, + "memoryGB": 437.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 4.21, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.69, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.61, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.07, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M16ms", + "family": "standardMSFamily", + "vCPUs": 16, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 512000, + "memoryGB": 437.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 4.21, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.69, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.61, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.07, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M32-8ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M32-16ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M32ls", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 256, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.87, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.16, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.57, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 4.34, + "osType": "Windows", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M32ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M32ts", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 192, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.54, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.71, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 4.18, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.13, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64-16ms", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 2048000, + "memoryGB": 1750, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 10.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 14.64, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.86, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64-32ms", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 2048000, + "memoryGB": 1750, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 10.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 14.64, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.86, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64ls", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 2048000, + "memoryGB": 512, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 5.42, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 8.36, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.08, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.26, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64ms", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 2048000, + "memoryGB": 1750, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 10.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 14.64, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.86, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64s", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 2048000, + "memoryGB": 1000, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 9.61, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.33, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.84, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.67, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128-32ms", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 4096000, + "memoryGB": 3800, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 35.81, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 14.33, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.34, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 26.69, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128-64ms", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 4096000, + "memoryGB": 3800, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 35.81, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 14.33, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.34, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 26.69, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128ms", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 4096000, + "memoryGB": 3800, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 35.81, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 14.33, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.34, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 26.69, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128s", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 4096000, + "memoryGB": 2000, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 13.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 7.69, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 19.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.67, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 8192000, + "memoryGB": 1000, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 9.61, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.33, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.84, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.67, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M64m", + "family": "standardMSFamily", + "vCPUs": 64, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 8192000, + "memoryGB": 1750, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 10.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 14.64, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.86, + "osType": "Windows", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384000, + "memoryGB": 2000, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 13.34, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 7.69, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 19.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 2.67, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_M128m", + "family": "standardMSFamily", + "vCPUs": 128, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384000, + "memoryGB": 3800, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 35.81, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 14.33, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 5.34, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 26.69, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV12s_v3", + "family": "standardNVSv3Family", + "vCPUs": 12, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.23, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.68, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.69, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.14, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV24s_v3", + "family": "standardNVSv3Family", + "vCPUs": 24, + "gpus": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 3.38, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.35, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.46, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.28, + "osType": "Linux", + "vmTier": "Standard" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + }, + { + "name": "Standard_NV48s_v3", + "family": "standardNVSv3Family", + "vCPUs": 48, + "gpus": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.71, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 4.56, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 6.77, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.91, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + }, + "supportedComputeTypes": [ + "AmlCompute", + "ComputeInstance" + ] + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..3bfa574c5d31 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..65dfe2971854 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "StandardDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..f374bc7d54d1 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..02d29ca9db8d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..0991c02b03cc --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified" + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..9f5f2ad84111 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstance.json new file mode 100644 index 000000000000..d9cfe507570c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstance.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Personal", + "sshSettings": { + "sshPublicAccess": "Disabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstanceMinimal.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstanceMinimal.json new file mode 100644 index 000000000000..233290e1fc86 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createComputeInstanceMinimal.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspace.json new file mode 100644 index 000000000000..6fdc65e26d5a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspace.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspaceConnection.json new file mode 100644 index 000000000000..c8bf904f1972 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/createWorkspaceConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-08-01", + "parameters": { + "name": "connection-1", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteCompute.json new file mode 100644 index 000000000000..5a481990bf03 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspace.json new file mode 100644 index 000000000000..505f38872657 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-08-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspaceConnection.json new file mode 100644 index 000000000000..05f9fbc2129e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/deleteWorkspaceConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-08-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAKSCompute.json new file mode 100644 index 000000000000..8a71fe8b46ed --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAmlCompute.json new file mode 100644 index 000000000000..f13d21320db8 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + } + } + }, + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputeInstance.json new file mode 100644 index 000000000000..fbefecae9dbe --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputeInstance.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "ComputeInstance", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Shared", + "sshSettings": { + "sshPublicAccess": "Enabled", + "adminUserName": "azureuser", + "sshPort": 22 + }, + "createdBy": { + "userName": "foobar@microsoft.com", + "userOrgId": "00000000-0000-0000-0000-000000000000", + "userId": "00000000-0000-0000-0000-000000000000" + }, + "connectivityEndpoints": { + "publicIpAddress": "10.0.0.1", + "privateIpAddress": "10.0.0.1" + }, + "applications": [ + { + "displayName": "Jupyter", + "endpointUri": "https://compute123.eastus2.azureml.net/jupyter" + } + ], + "errors": null, + "state": "Running", + "lastOperation": { + "operationName": "Start", + "operationTime": "2020-06-30T19:35:52.548+00:00", + "operationStatus": "Succeeded" + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputes.json new file mode 100644 index 000000000000..e9276c17109a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspace.json new file mode 100644 index 000000000000..9c7e73d54ecd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspace.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspaceConnection.json new file mode 100644 index 000000000000..48e5b84194c1 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspaceConnection.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..af19522dabf7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..5e55843647c0 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..42b2d8c921fd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceConnections.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceConnections.json new file mode 100644 index 000000000000..1a060568ec01 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceConnections.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-08-01", + "target": "www.facebook.com", + "category": "ACR" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-2", + "name": "connection-2", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..df2129dfc2d4 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/listWorkspaceKeys.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + }, + "notebookAccessKeys": { + "primaryAccessKey": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw", + "secondaryAccessKey": "0KARRQoQHSUq1yViPWg7YFernOS" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/patchAmlCompute.json new file mode 100644 index 000000000000..08bed85226c5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/restartComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/restartComputeInstance.json new file mode 100644 index 000000000000..ab010e7ea19a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/restartComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..779ba3892481 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-08-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/startComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/startComputeInstance.json new file mode 100644 index 000000000000..ab010e7ea19a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/startComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/stopComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/stopComputeInstance.json new file mode 100644 index 000000000000..ab010e7ea19a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/stopComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAKSCompute.json new file mode 100644 index 000000000000..37f50e1e99df --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAmlCompute.json new file mode 100644 index 000000000000..602a15002225 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateAmlCompute.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-08-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateQuota.json new file mode 100644 index 000000000000..9ea10592ce67 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-08-01", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateWorkspace.json new file mode 100644 index 000000000000..092a4e0a43ad --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-08-01", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..fe4f5097e5cc --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..043658626c5c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..9ddb75df7ac7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePrepareNotebook.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePrepareNotebook.json new file mode 100644 index 000000000000..e84272ff58ee --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePrepareNotebook.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..7f8c6715d47c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/machineLearningServices.json new file mode 100644 index 000000000000..8e05c90bac12 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-08-01/machineLearningServices.json @@ -0,0 +1,4265 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-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.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces 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" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook": { + "post": { + "tags": [ + "ProxyOperations" + ], + "operationId": "Notebooks_Prepare", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Notebook": { + "$ref": "./examples/workspacePrepareNotebook.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookResourceInfo" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ComputeTypeParameter" + }, + { + "$ref": "#/parameters/RecommendedParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections": { + "get": { + "tags": [ + "WorkspaceConnections" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListWorkspaceConnections": { + "$ref": "./examples/listWorkspaceConnections.json" + } + }, + "operationId": "WorkspaceConnections_List", + "description": "List all connections under a AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/TargetParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Workspace connections and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedWorkspaceConnectionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}": { + "put": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Create", + "description": "Add a new workspace connection.", + "x-ms-examples": { + "CreateWorkspaceConnection": { + "$ref": "./examples/createWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a new workspace connection", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceConnectionDto" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the workspace connection.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Get", + "description": "Get the detail of a workspace connection.", + "x-ms-examples": { + "GetWorkspaceConnection": { + "$ref": "./examples/getWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked workspace.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Delete", + "description": "Delete a workspace connection.", + "x-ms-examples": { + "DeleteWorkspaceConnection": { + "$ref": "./examples/deleteWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the workspace connection." + }, + "204": { + "description": "Specific workspace connection not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + }, + "Get a ComputeInstance": { + "$ref": "./examples/getComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create a ComputeInstance Compute with minimal inputs": { + "$ref": "./examples/createComputeInstanceMinimal.json" + }, + "Create a ComputeInstance Compute": { + "$ref": "./examples/createComputeInstance.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "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/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "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": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Start", + "description": "Posts a start action to a compute instance", + "x-ms-examples": { + "Start ComputeInstance Compute": { + "$ref": "./examples/startComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Stop", + "description": "Posts a stop action to a compute instance", + "x-ms-examples": { + "Stop ComputeInstance Compute": { + "$ref": "./examples/stopComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Restart", + "description": "Posts a restart action to a compute instance", + "x-ms-examples": { + "Restart ComputeInstance Compute": { + "$ref": "./examples/restartComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "ConnectionName": { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the workspace connection", + "x-ms-parameter-location": "method" + }, + "TargetParameter": { + "in": "query", + "name": "target", + "type": "string", + "description": "Target of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + }, + "CategoryParameter": { + "in": "query", + "name": "category", + "type": "string", + "description": "Category of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + }, + "RecommendedParameter": { + "in": "query", + "name": "recommended", + "type": "boolean", + "description": "Specifies whether to return recommended vm sizes or all vm sizes", + "required": false, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "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" + } + } + } + } + }, + "NotebookListCredentialsResult": { + "type": "object", + "properties": { + "primaryAccessKey": { + "type": "string" + }, + "secondaryAccessKey": { + "type": "string" + } + } + }, + "NotebookResourceInfo": { + "type": "object", + "properties": { + "fqdn": { + "type": "string" + }, + "resourceId": { + "type": "string", + "description": "the data plane resourceId that used to initialize notebook component" + }, + "notebookPreparationError": { + "$ref": "#/definitions/NotebookPreparationError", + "description": "The error that occurs when preparing notebook." + } + } + }, + "NotebookPreparationError": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string" + }, + "statusCode": { + "format": "int32", + "type": "integer" + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + }, + "notebookInfo": { + "readOnly": true, + "$ref": "#/definitions/NotebookResourceInfo", + "description": "The notebook info of Azure ML workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + }, + "estimatedVMPrices": { + "title": "Estimated VM prices", + "description": "The estimated price information for using a VM.", + "$ref": "#/definitions/EstimatedVMPrices" + }, + "supportedComputeTypes": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Supported Compute Types", + "description": "Specifies the compute types supported by the virtual machine size." + } + }, + "description": "Describes the properties of a VM size." + }, + "EstimatedVMPrices": { + "properties": { + "billingCurrency": { + "type": "string", + "title": "Billing currency", + "description": "Three lettered code specifying the currency of the VM price. Example: USD", + "enum": [ + "USD" + ], + "x-ms-enum": { + "name": "BillingCurrency", + "modelAsString": true + } + }, + "unitOfMeasure": { + "type": "string", + "title": "Unit of time measure", + "description": "The unit of time measurement for the specified VM price. Example: OneHour", + "enum": [ + "OneHour" + ], + "x-ms-enum": { + "name": "UnitOfMeasure", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/EstimatedVMPrice" + }, + "title": "List of estimated VM prices.", + "description": "The list of estimated prices for using a VM of a particular OS type, tier, etc." + } + }, + "required": [ + "billingCurrency", + "unitOfMeasure", + "values" + ], + "description": "The estimated price info for using a VM." + }, + "EstimatedVMPrice": { + "properties": { + "retailPrice": { + "type": "number", + "format": "double", + "title": "Retail price", + "description": "The price charged for using the VM." + }, + "osType": { + "type": "string", + "title": "OS type", + "description": "Operating system type used by the VM.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "VMPriceOSType", + "modelAsString": true + } + }, + "vmTier": { + "type": "string", + "title": "VM tier", + "description": "The type of the VM.", + "enum": [ + "Standard", + "LowPriority", + "Spot" + ], + "x-ms-enum": { + "name": "VMTier", + "modelAsString": true + } + } + }, + "required": [ + "retailPrice", + "osType", + "vmTier" + ], + "description": "The estimated price info for using a VM of a particular OS type, tier, etc." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "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.", + "required": [ + "type" + ] + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + }, + "notebookAccessKeys": { + "$ref": "#/definitions/NotebookListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "AML Compute properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "ComputeInstance": { + "description": "An Azure Machine Learning compute instance.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute Instance properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "applicationSharingPolicy": { + "type": "string", + "default": "Shared", + "title": "Sharing policy for applications on this compute instance", + "description": "Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.", + "enum": [ + "Personal", + "Shared" + ], + "x-ms-enum": { + "name": "applicationSharingPolicy", + "modelAsString": true + } + }, + "sshSettings": { + "description": "Specifies policy and settings for SSH access.", + "$ref": "#/definitions/ComputeInstanceSshSettings" + }, + "connectivityEndpoints": { + "readOnly": true, + "description": "Describes all connectivity endpoints available for this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceConnectivityEndpoints" + }, + "applications": { + "type": "array", + "readOnly": true, + "description": "Describes available applications and their endpoints on this ComputeInstance.", + "items": { + "$ref": "#/definitions/ComputeInstanceApplication" + } + }, + "createdBy": { + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceCreatedBy" + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered on this ComputeInstance.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "state": { + "description": "The current state of this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceState", + "readOnly": true + }, + "lastOperation": { + "description": "The last operation on ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceLastOperation", + "readOnly": true + } + } + } + } + } + ], + "x-ms-discriminator-value": "ComputeInstance" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "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]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "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.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute" + } + }, + "required": [ + "maxNodeCount" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "ComputeInstance", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "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/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "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/SKUCapability" + }, + "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." + }, + "WorkspaceSku": { + "type": "object", + "description": "AML workspace sku information", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string" + }, + "skus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuSettings" + }, + "description": "The list of workspace sku settings" + } + } + }, + "SkuSettings": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "x-ms-azure-resource": true, + "description": "The Private Endpoint Connection resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the private endpoint connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the private endpoint connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of private endpoint connection.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/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": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "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", + "Disconnected", + "Timeout" + ], + "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 + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "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." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "PaginatedWorkspaceConnectionsList": { + "type": "object", + "description": "Paginated list of Workspace connection objects.", + "properties": { + "value": { + "type": "array", + "description": "An array of Workspace connection objects.", + "items": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "WorkspaceConnection": { + "x-ms-azure-resource": true, + "description": "Workspace connection.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the workspace connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the workspace connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of workspace connection.", + "readOnly": true + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionDto": { + "type": "object", + "description": "object used for creating workspace connection.", + "properties": { + "name": { + "description": "Friendly name of the workspace connection", + "type": "string" + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionProps": { + "type": "object", + "description": "Workspace Connection specific properties.", + "properties": { + "category": { + "description": "Category of the workspace connection.", + "type": "string" + }, + "target": { + "description": "Target of the workspace connection.", + "type": "string" + }, + "authType": { + "description": "Authorization type of the workspace connection.", + "type": "string" + }, + "value": { + "description": "Value details of the workspace connection.", + "type": "string" + } + } + }, + "ComputeInstanceSshSettings": { + "type": "object", + "description": "Specifies policy and settings for SSH access.", + "properties": { + "sshPublicAccess": { + "type": "string", + "default": "Disabled", + "title": "Access policy for SSH", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the VNet/subnet policy if applicable.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "sshPublicAccess", + "modelAsString": true + } + }, + "adminUserName": { + "type": "string", + "readOnly": true, + "description": "Describes the admin user name." + }, + "sshPort": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Describes the port for connecting through SSH." + }, + "adminPublicKey": { + "type": "string", + "description": "Specifies the SSH rsa public key file as a string. Use \"ssh-keygen -t rsa -b 2048\" to generate your SSH key pairs." + } + } + }, + "ComputeInstanceState": { + "type": "string", + "description": "Current state of a ComputeInstance.", + "enum": [ + "Creating", + "CreateFailed", + "Deleting", + "Running", + "Restarting", + "JobRunning", + "SettingUp", + "SetupFailed", + "Starting", + "Stopped", + "Stopping", + "UserSettingUp", + "UserSetupFailed", + "Unknown", + "Unusable" + ], + "x-ms-enum": { + "name": "ComputeInstanceState", + "modelAsString": true + } + }, + "ComputeInstanceLastOperation": { + "type": "object", + "description": "The last operation on ComputeInstance.", + "properties": { + "operationName": { + "type": "string", + "description": "Name of the last operation.", + "enum": [ + "Create", + "Start", + "Stop", + "Restart", + "Reimage", + "Delete" + ], + "x-ms-enum": { + "name": "OperationName", + "modelAsString": true + } + }, + "operationTime": { + "type": "string", + "format": "date-time", + "description": "Time of the last operation." + }, + "operationStatus": { + "type": "string", + "description": "Operation status.", + "enum": [ + "InProgress", + "Succeeded", + "CreateFailed", + "StartFailed", + "StopFailed", + "RestartFailed", + "ReimageFailed", + "DeleteFailed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + } + } + }, + "ComputeInstanceApplication": { + "type": "object", + "description": "Defines an Aml Instance application and its connectivity endpoint URI.", + "properties": { + "displayName": { + "type": "string", + "description": "Name of the ComputeInstance application." + }, + "endpointUri": { + "type": "string", + "description": "Application' endpoint URI." + } + } + }, + "ComputeInstanceConnectivityEndpoints": { + "type": "object", + "readOnly": true, + "description": "Defines all connectivity endpoints and properties for a ComputeInstance.", + "properties": { + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP Address of this ComputeInstance." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is deployed)." + } + } + }, + "ComputeInstanceCreatedBy": { + "type": "object", + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "properties": { + "userName": { + "type": "string", + "readOnly": true, + "description": "Name of the user." + }, + "userOrgId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies user' Azure Active Directory organization." + }, + "userId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies the user within his/her organization." + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md b/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0a9ab416c8d0 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,180 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearningservices-2020-09-01-preview + - tag: schema-machinelearningservices-2020-06-01 + - tag: schema-machinelearningservices-2020-05-15-preview + - tag: schema-machinelearningservices-2020-05-01-preview + - tag: schema-machinelearningservices-2020-04-01-preview + - tag: schema-machinelearningservices-2020-04-01 + - tag: schema-machinelearningservices-2020-03-01 + - tag: schema-machinelearningservices-2020-02-18-preview + - tag: schema-machinelearningservices-2020-01-01 + - tag: schema-machinelearningservices-2019-11-01 + - tag: schema-machinelearningservices-2019-06-01 + - tag: schema-machinelearningservices-2019-05-01 + - tag: schema-machinelearningservices-2018-11-19 + - tag: schema-machinelearningservices-2018-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningservices-2020-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-05-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-05-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-02-18-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-02-18-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2018-11-19 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2018-11-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json + +``` diff --git a/specification/machinelearningservices/resource-manager/readme.md b/specification/machinelearningservices/resource-manager/readme.md index 966eb3408a19..4870058be3a7 100644 --- a/specification/machinelearningservices/resource-manager/readme.md +++ b/specification/machinelearningservices/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Machine Learning Services API. ``` yaml openapi-type: arm -tag: package-2020-06-01 +tag: package-2020-08-01 +``` + +### Tag: package-2020-08-01 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. + +```yaml $(tag) == 'package-2020-08-01' +input-file: + - Microsoft.MachineLearningServices/stable/2020-08-01/machineLearningServices.json ``` ### Tag: package-2020-06-01 @@ -110,6 +119,15 @@ input-file: - Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json ``` +### Tag: package-2020-09-01-preview + +These settings apply only when `--tag=package-2020-09-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-01-preview' +input-file: +- Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json +``` + ### Tag: package-2020-05-01-preview These settings apply only when `--tag=package-2020-05-01-preview` is specified on the command line. @@ -163,6 +181,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningservices/resource-manager ``` ## C# @@ -201,6 +222,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning/ser ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-08-01 - tag: package-2020-06-01 - tag: package-2020-04-01 - tag: package-2020-03-01 @@ -209,11 +231,25 @@ batch: - tag: package-2019-06-01 - tag: package-2019-05-01 - tag: package-2018-11-19 + - tag: package-2020-09-01-preview - tag: package-2020-05-01-preview - tag: package-2020-04-01-preview - tag: package-2020-02-18-preview - tag: package-2018-03-preview ``` +### Tag: package-2020-08-01 and java + +These settings apply only when `--tag=package-2020-08-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_08_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-06-01 and java These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line. @@ -318,6 +354,19 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-09-01-preview and java + +These settings apply only when `--tag=package-2020-09-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-09-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_09_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_09_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-05-01-preview and java These settings apply only when `--tag=package-2020-05-01-preview --java` is specified on the command line. @@ -357,38 +406,7 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.MachineLearningServices/stable/2020-06-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json - - $(this-folder)/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.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/maintenance/resource-manager/readme.az.md b/specification/maintenance/resource-manager/readme.az.md index 71b68289259c..e59604efaca9 100644 --- a/specification/maintenance/resource-manager/readme.az.md +++ b/specification/maintenance/resource-manager/readme.az.md @@ -9,4 +9,23 @@ az: package-name: azure-mgmt-maintenance az-output-folder: $(azure-cli-extension-folder)/src/maintenance python-sdk-output-folder: "$(az-output-folder)/azext_maintenance/vendored_sdks/maintenance" + +directive: + - where: + group: maintenance apply-update + set: + group: maintenance applyupdate + - where: + group: maintenance maintenance-configuration + set: + group: maintenance configuration + - where: + group: maintenance configuration-assignment + set: + group: maintenance assignment + - where: + group: maintenance public-maintenance-configuration + set: + group: maintenance public-configuration + ``` diff --git a/specification/maintenance/resource-manager/readme.azureresourceschema.md b/specification/maintenance/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ca97bf10f738 --- /dev/null +++ b/specification/maintenance/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-maintenance-2020-07-01-preview + - tag: schema-maintenance-2020-04-01 + - tag: schema-maintenance-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-maintenance-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json + +``` + +### Tag: schema-maintenance-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/stable/2020-04-01/Maintenance.json + +``` + +### Tag: schema-maintenance-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json + +``` diff --git a/specification/maintenance/resource-manager/readme.md b/specification/maintenance/resource-manager/readme.md index 13c0ae733d1a..b1646525c92b 100644 --- a/specification/maintenance/resource-manager/readme.md +++ b/specification/maintenance/resource-manager/readme.md @@ -73,6 +73,9 @@ swagger-to-sdk: - repo: azure-libraries-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js maintenance/resource-manager ``` ## C# @@ -102,28 +105,7 @@ 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 +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Maintenance/preview/2020-07-01-preview/Maintenance.json - - $(this-folder)/Microsoft.Maintenance/stable/2020-04-01/Maintenance.json - - $(this-folder)/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.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/managednetwork/resource-manager/readme.azureresourceschema.md b/specification/managednetwork/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2a4dc2aa6f21 --- /dev/null +++ b/specification/managednetwork/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-managednetwork-2019-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managednetwork-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managednetwork-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json + +``` diff --git a/specification/managednetwork/resource-manager/readme.md b/specification/managednetwork/resource-manager/readme.md index d728435d48d2..c7aba395d3be 100644 --- a/specification/managednetwork/resource-manager/readme.md +++ b/specification/managednetwork/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managednetwork/resource-manager ``` ## C# @@ -73,25 +76,7 @@ csharp: See configuration in [readme.cli.md](./readme.cli.md) -## Multi-API/Profile support for AutoRest v3 generators -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +## AzureResourceSchema -This block is updated by an automatic script. Edits may be lost! +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.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/managedservices/resource-manager/readme.azureresourceschema.md b/specification/managedservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2c60bbe0f4c2 --- /dev/null +++ b/specification/managedservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managedservices-2020-02-01-preview + - tag: schema-managedservices-2019-09-01 + - tag: schema-managedservices-2019-06-01 + - tag: schema-managedservices-2019-04-01-preview + - tag: schema-managedservices-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managedservices-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json + +``` + +### Tag: schema-managedservices-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/stable/2019-09-01/managedservices.json + +``` + +### Tag: schema-managedservices-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/stable/2019-06-01/managedservices.json + +``` + +### Tag: schema-managedservices-2019-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2019-04-01-preview/managedservices.json + +``` + +### Tag: schema-managedservices-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2018-06-01-preview/managedservices.json + +``` diff --git a/specification/managedservices/resource-manager/readme.md b/specification/managedservices/resource-manager/readme.md index 5273c2568abc..2f2b6ced062b 100644 --- a/specification/managedservices/resource-manager/readme.md +++ b/specification/managedservices/resource-manager/readme.md @@ -94,6 +94,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_billing'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managedservices/resource-manager ``` ## C# @@ -114,30 +117,7 @@ csharp: 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! +## AzureResourceSchema -``` 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.ManagedServices/preview/2020-02-01-preview/managedservices.json - - $(this-folder)/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json - - $(this-folder)/Microsoft.ManagedServices/stable/2019-06-01/managedservices.json - - $(this-folder)/Microsoft.ManagedServices/preview/2019-04-01-preview/managedservices.json - - $(this-folder)/Microsoft.ManagedServices/preview/2018-06-01-preview/managedservices.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/managementgroups/resource-manager/readme.azureresourceschema.md b/specification/managementgroups/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5361de218b69 --- /dev/null +++ b/specification/managementgroups/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-management-2020-05-01 + - tag: schema-management-2020-02-01 + - tag: schema-management-2019-11-01 + - tag: schema-management-2018-03-01-preview + - tag: schema-management-2018-01-01-preview + - tag: schema-management-2017-11-01-preview + - tag: schema-management-2017-08-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-management-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2020-05-01/management.json + +``` + +### Tag: schema-management-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2020-02-01/management.json + +``` + +### Tag: schema-management-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2019-11-01/management.json + +``` + +### Tag: schema-management-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2018-03-01-preview/management.json + +``` + +### Tag: schema-management-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2018-01-01-preview/management.json + +``` + +### Tag: schema-management-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2017-11-01-preview/management.json + +``` + +### Tag: schema-management-2017-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2017-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2017-08-31-preview/management.json + +``` diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md index 2d5f15e265e6..43c0be9f163f 100644 --- a/specification/managementgroups/resource-manager/readme.go.md +++ b/specification/managementgroups/resource-manager/readme.go.md @@ -27,7 +27,7 @@ These settings apply only when `--tag=package-2020-05 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2020-05' && $(go) -output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2020-05-01/$(namespace) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-05-01/$(namespace) ``` ### Tag: package-2020-02 and go @@ -36,7 +36,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) -output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2020-02-01/$(namespace) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-02-01/$(namespace) ``` ### Tag: package-2019-11 and go @@ -45,7 +45,7 @@ These settings apply only when `--tag=package-2019-11 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2019-11' && $(go) -output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2019-11-01/$(namespace) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-11-01/$(namespace) ``` ### Tag: package-2018-03 and go diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md index ae179db33f56..2b9de18f0e63 100644 --- a/specification/managementgroups/resource-manager/readme.md +++ b/specification/managementgroups/resource-manager/readme.md @@ -101,6 +101,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managementgroups/resource-manager ``` ## C# @@ -267,33 +270,7 @@ generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.Management/stable/2020-05-01/management.json - - $(this-folder)/Microsoft.Management/stable/2020-02-01/management.json - - $(this-folder)/Microsoft.Management/stable/2019-11-01/management.json - - $(this-folder)/Microsoft.Management/preview/2018-03-01-preview/management.json - - $(this-folder)/Microsoft.Management/preview/2018-01-01-preview/management.json - - $(this-folder)/Microsoft.Management/preview/2017-11-01-preview/management.json - - $(this-folder)/Microsoft.Management/preview/2017-08-31-preview/management.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/managementpartner/resource-manager/readme.azureresourceschema.md b/specification/managementpartner/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..57b48d05aee9 --- /dev/null +++ b/specification/managementpartner/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-managementpartner-2018-02-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managementpartner-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managementpartner-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json + +``` diff --git a/specification/managementpartner/resource-manager/readme.md b/specification/managementpartner/resource-manager/readme.md index 85c0c7e92354..1ee6437e3a9b 100644 --- a/specification/managementpartner/resource-manager/readme.md +++ b/specification/managementpartner/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managementpartner/resource-manager ``` ## C# @@ -96,27 +99,7 @@ csharp: See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.ManagementPartner/preview/2018-02-01/ManagementPartner.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) 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 new file mode 100644 index 000000000000..13630019c12b --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json @@ -0,0 +1,416 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Alias Service", + "version": "1.0", + "description": "APIs for managing aliases in Azure Maps." + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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": "**Alias - Create API**\n\n**Applies to:** S1 pricing tier.\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": "**Alias - List API**\n\n**Applies to:** S1 pricing tier.\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": "**Alias - Assign API**\n\n**Applies to:** S1 pricing tier.\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": "**Alias - Delete API**\n\n**Applies to:** S1 pricing tier.\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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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 new file mode 100644 index 000000000000..352eacf788fc --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..173db30afe23 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..11adb1e66418 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..e74d2c24197f --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "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/Data/preview/1.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json new file mode 100644 index 000000000000..3661631adc93 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json @@ -0,0 +1,618 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Data Service", + "version": "1.0", + "description": "APIs for uploading map data to Azure Maps." + }, + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "UploadDataFormat": { + "name": "dataFormat", + "description": "Data format of the content being uploaded.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "geojson", + "zip" + ], + "x-ms-enum": { + "name": "UploadDataFormat", + "modelAsString": false, + "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." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "Udid": { + "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": "path", + "required": true, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/mapData/upload": { + "post": { + "x-publish": true, + "description": "**Data Upload API**\n\n**Applies to:** S1 pricing tier.\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://docs.microsoft.com/azure/azure-maps/private-atlas-long-running-operation).\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/deletepreview) to \ndelete old/unused content and create space for new uploads.", + "operationId": "Data_UploadPreview", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Upload GeoJSON data containing geometries that represent a collection of geofences": { + "$ref": "./examples/Upload.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/UploadDataFormat" + }, + { + "name": "UploadContent", + "in": "body", + "description": "The content to upload.", + "required": true, + "schema": { + "type": "object" + } + } + ], + "responses": { + "200": { + "description": "Data upload failed. The uploaded content did not satisfy all the validation checks. The response body contains all the errors that were encountered.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + }, + "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" + } + } + } + }, + "/mapData/{udid}": { + "put": { + "x-publish": true, + "description": "**Data Update API**\n\n**Applies to:** S1 pricing tier.\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/uploadpreview), 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://docs.microsoft.com/azure/azure-maps/private-atlas-long-running-operation).\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/deletepreview) to \ndelete old/unused content and create space for new uploads.", + "operationId": "Data_UpdatePreview", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Update previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { + "$ref": "./examples/Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Udid" + }, + { + "name": "UpdateContent", + "in": "body", + "description": "The new content that will update/replace the previously uploaded content.", + "required": true, + "schema": { + "type": "object" + } + } + ], + "responses": { + "200": { + "description": "Data update failed. The uploaded content did not satisfy all the validation checks. The response body contains all the errors that were encountered.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + }, + "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" + } + } + }, + "get": { + "x-publish": true, + "description": "**Data Download API**\n\n**Applies to:** S1 pricing tier.\n
    \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/uploadpreview) 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", + "x-ms-examples": { + "Download previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { + "$ref": "./examples/Download.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Udid" + } + ], + "responses": { + "200": { + "description": "Data download request completed successfully. The response body will contain the content for the passed in `udid`.", + "schema": { + "$ref": "#/definitions/MapDataDownloadResponse" + }, + "headers": { + "Content-Type": { + "type": "string", + "description": "The content-type for the Download API response." + } + } + }, + "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": "**Data Delete API**\n\n**Applies to:** S1 pricing tier.\n
    \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/uploadpreview) 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", + "x-ms-examples": { + "Delete previously uploaded GeoJSON data containing geometries that represent a collection of geofences": { + "$ref": "./examples/Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Udid" + } + ], + "responses": { + "204": { + "description": "Data delete request completed successfully. The content for `udid` was deleted on the server.", + "schema": { + "$ref": "#/definitions/MapDataDeleteResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/mapData": { + "get": { + "x-publish": true, + "description": "**Data List API**\n\n**Applies to:** S1 pricing tier.\n
    \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/uploadpreview). \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://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://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://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", + "x-ms-examples": { + "List all the previously uploaded data": { + "$ref": "./examples/List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "List data request completed successfully. The response body contains a list of all the previously uploaded data.", + "schema": { + "$ref": "#/definitions/MapDataListResponse" + }, + "headers": { + "Content-Type": { + "type": "string", + "description": "The content-type for the Download API response." + } + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": false, + "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" + } + } + }, + "MapDataDownloadResponse": { + "description": "The response model for the Data Download API. The response body will contain the content for the passed in `udid`.", + "type": "object" + }, + "MapDataDeleteResponse": { + "description": "The response model for the Data Delete API. The response body will be empty signifying there's no content available for the `udid` anymore.", + "type": "object" + }, + "MapDataListResponse": { + "description": "The response model for the Data List API. Returns a list of all the previously uploaded data.", + "type": "object", + "properties": { + "mapDataList": { + "description": "A list of all the previously uploaded data.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MapDataDetailInfo" + } + } + } + }, + "MapDataDetailInfo": { + "description": "Detail information for the data.", + "type": "object", + "properties": { + "udid": { + "description": "The unique data id for the data.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the data. Execute a HTTP `GET` on this location to download the data.", + "type": "string", + "readOnly": true + }, + "sizeInBytes": { + "description": "The size of the content in bytes.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "uploadStatus": { + "description": "The current upload status of the content.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Delete.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Delete.json new file mode 100644 index 000000000000..ccf95148e20a --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "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/Data/preview/1.0/examples/Download.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Download.json new file mode 100644 index 000000000000..1c065fe041ea --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Download.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "25084fb7-307a-4720-8f91-7952a0b91012" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -122.126986, + 47.639754 + ] + }, + "properties": { + "geometryId": "001", + "radius": 500 + } + } + ] + } + }, + "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/Data/preview/1.0/examples/List.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/List.json new file mode 100644 index 000000000000..741fdd026baf --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/List.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "mapDataList": [ + { + "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2", + "location": "https://atlas.microsoft.com/mapData/f6495f62-94f8-0ec2-c252-45626f82fcb2?api-version=1.0", + "sizeInBytes": 29920, + "uploadStatus": "Completed" + }, + { + "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", + "location": "https://atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", + "sizeInBytes": 1339, + "uploadStatus": "Completed" + }, + { + "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", + "location": "https://atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", + "sizeInBytes": 1650, + "uploadStatus": "Pending" + } + ] + } + }, + "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/Data/preview/1.0/examples/Update.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Update.json new file mode 100644 index 000000000000..20caaf53f5d6 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Update.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "25084fb7-307a-4720-8f91-7952a0b91012", + "UpdateContent": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -122.126986, + 47.639754 + ] + }, + "properties": { + "geometryId": "001", + "radius": 500 + } + } + ] + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://atlas.microsoft.com/mapData/metadata/{udid}?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://atlas.microsoft.com/mapData/metadata/{resourceId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0", + "Access-Control-Expose-Headers": "Location" + } + }, + "200": { + "headers": {}, + "body": { + "error": { + "code": "400 Bad Request", + "message": "Upload request failed. Your data has been removed as we encountered the following problems with it: Map data is not a valid GeoJSON geometry." + } + } + }, + "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/Data/preview/1.0/examples/Upload.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Upload.json new file mode 100644 index 000000000000..dd663049a9a0 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/examples/Upload.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "dataFormat": "geojson", + "UploadContent": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -122.126986, + 47.639754 + ] + }, + "properties": { + "geometryId": "001", + "radius": 500 + } + } + ] + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://atlas.microsoft.com/mapData/metadata/{udid}?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://atlas.microsoft.com/mapData/metadata/{resourceId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0", + "Access-Control-Expose-Headers": "Location" + } + }, + "200": { + "headers": {}, + "body": { + "error": { + "code": "400 Bad Request", + "message": "Upload request failed. Your data has been removed as we encountered the following problems with it: Map data is not a valid GeoJSON geometry." + } + } + }, + "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/Dataset/preview/1.0/dataset.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json new file mode 100644 index 000000000000..6f2f381712b8 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json @@ -0,0 +1,608 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Dataset Service", + "version": "1.0", + "description": "APIs for managing datasets from uploaded data in Azure Maps." + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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": false, + "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": false, + "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": "**Dataset Create API**\n\n**Applies to:** S1 pricing tier.\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": "**Dataset Import API**\n\n**Applies to:** S1 pricing tier.\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": "**Dataset Delete API**\n\n**Applies to:** S1 pricing tier.\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": "**Dataset List API**\n\n**Applies to:** S1 pricing tier.\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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": false, + "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 new file mode 100644 index 000000000000..6d8513252576 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "conversionId": "[conversionId]", + "type": "facility" + }, + "responses": { + "201": { + "headers": { + "Location": "https://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://atlas.microsoft.com/dataset/{datasetId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://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 new file mode 100644 index 000000000000..3ad9cf60de1c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..fa4cb9ca8950 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "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://atlas.microsoft.com/dataset/{datasetId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://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 new file mode 100644 index 000000000000..4937c40e2e95 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "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/DwgConversion/preview/1.0/dwgconversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json new file mode 100644 index 000000000000..1d5486f6caba --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json @@ -0,0 +1,474 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Conversion Service", + "version": "1.0", + "description": "APIs for converting DWG Packages in Azure Maps." + }, + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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 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": false, + "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": "**Conversion Create API**\n\n**Applies to:** S1 pricing tier.
    \n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and \nSDK. The Conversion API is part of 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://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": "**Conversion List API**\n\n**Applies to:** S1 pricing tier.
    \n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Conversion API is part of 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": "**Conversion Delete API**\n\n**Applies to:** S1 pricing tier.
    \n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Delete API is part of 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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": false, + "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 new file mode 100644 index 000000000000..b9af945a36d8 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "25084fb7-307a-4720-8f91-7952a0b91012", + "inputType": "DWG" + }, + "responses": { + "201": { + "headers": { + "Location": "https://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://atlas.microsoft.com/conversion/{conversionId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://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 new file mode 100644 index 000000000000..a0858462d16c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..357a0d0ab352 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "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/FeatureState/preview/1.0/examples/CreateStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json new file mode 100644 index 000000000000..3b48b2acdd73 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "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" + } + ] + } + ] + } + }, + "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 new file mode 100644 index 000000000000..86a97a62d209 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..e6bf9ebe20a6 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..e581ce3b7b5d --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..5d2a45831fbf --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..bf547d808b57 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..d19d997f16f9 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..e540bcda431a --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..ec38059a4d5b --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json @@ -0,0 +1,804 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Feature State Service", + "version": "1.0", + "description": "APIs for managing the dynamic feature states in Azure Maps." + }, + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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": "**Applies to:** S1 pricing tier.\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": "**Applies to:** S1 pricing tier.
    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": "**Applies to:** S1 pricing tier.\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": "**Applies to:** S1 pricing tier.\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 any number of states. \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": "**Applies to:** S1 pricing tier.
    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": "**Applies to:** S1 pricing tier.
    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": "**Applies to:** S1 pricing tier.
    \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": "**Applies to:** S1 pricing tier.
    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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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.", + "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 and BooleanRuleObject definition.", + "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" + } + } + }, + "StyleRuleBase": { + "description": "contains common properties for numeric style rules 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" + ] + } + } + }, + "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" + } + } + } + } + } +} 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 new file mode 100644 index 000000000000..c6c282364104 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json @@ -0,0 +1,685 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Feedback Service", + "version": "1.0" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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" + } + }, + "paths": {}, + "definitions": { + "ODataErrorResponse": { + "type": "object", + "description": "This response object is returned when an error occurs in the Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "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" + } + }, + "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": false, + "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." + } + ] + } + } + } + }, + "Point": { + "description": "A valid `GeoJSON Point` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.2) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the geometry. Value should always be equal to \"Point\".", + "type": "string" + }, + "coordinates": { + "$ref": "#/definitions/GeoJSONPosition" + } + }, + "required": [ + "coordinates" + ] + } + ] + }, + "GeoJsonBoundingBox": { + "description": "Bounding Box. The bounding box is an array of length 2*n where n is\nthe number of dimensions represented in the contained geometries,\nwith all axes of the most southwesterly point followed by all axes\nof the more northeasterly point. The axes order of a bbox follows\nthe axes order of geometries.\n\nThe edges of the bounding box follow lines of constant longitude,\nlatitude, and elevation.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "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" + }, + "FeedbackStatusResponse": { + "type": "object", + "required": [ + "formatVersion", + "feedbackId", + "status", + "createDate", + "featureType", + "action", + "request" + ], + "properties": { + "formatVersion": { + "type": "string" + }, + "feedbackId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "createDate": { + "type": "string" + }, + "featureType": { + "type": "string" + }, + "action": { + "type": "string" + }, + "request": { + "description": "The original request object.", + "type": "object" + } + } + }, + "FeedbackAddPoiRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackPoiFeature" + } + } + }, + "FeedbackFixPoiRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackPoiUpdateFeature" + } + } + }, + "FeedbackDeletePoiRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackPoiFeature" + } + } + }, + "FeedbackPoiFeature": { + "type": "object", + "required": [ + "name", + "category", + "geometry" + ], + "properties": { + "featureId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "category": { + "type": "string" + }, + "subcategory": { + "type": "string" + }, + "emailAddress": { + "type": "string" + }, + "faxNumber": { + "type": "string" + }, + "telephoneNumber": { + "type": "string" + }, + "website": { + "type": "string" + }, + "houseNumber": { + "type": "string" + }, + "streetName": { + "type": "string" + }, + "city": { + "type": "string" + }, + "postCode": { + "type": "string" + }, + "stateName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "geometry": { + "$ref": "#/definitions/Point" + } + } + }, + "FeedbackPoiUpdateFeature": { + "type": "object", + "required": [ + "name", + "category", + "geometry" + ], + "properties": { + "featureId": { + "type": "string" + }, + "name": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "category": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "subcategory": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "emailAddress": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "faxNumber": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "telephoneNumber": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "website": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "houseNumber": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "streetName": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "city": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "postCode": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "stateName": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "country": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "geometry": { + "$ref": "#/definitions/FeedbackGeometryFieldUpdate" + } + } + }, + "FeedbackAddAddressRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackAddressFeature" + } + } + }, + "FeedbackFixAddressRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackAddressUpdateFeature" + } + } + }, + "FeedbackDeleteAddressRequestBody": { + "type": "object", + "required": [ + "location", + "bbox", + "feature" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + }, + "feature": { + "$ref": "#/definitions/FeedbackAddressFeature" + } + } + }, + "FeedbackAddressFeature": { + "type": "object", + "required": [ + "houseNumber", + "streetName", + "city", + "postCode", + "geometry" + ], + "properties": { + "featureId": { + "type": "string" + }, + "houseNumber": { + "type": "string" + }, + "streetName": { + "type": "string" + }, + "city": { + "type": "string" + }, + "postCode": { + "type": "string" + }, + "stateName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "geometry": { + "$ref": "#/definitions/Point" + } + } + }, + "FeedbackAddressUpdateFeature": { + "type": "object", + "required": [ + "houseNumber", + "streetName", + "city", + "postCode", + "geometry" + ], + "properties": { + "featureId": { + "type": "string" + }, + "houseNumber": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "streetName": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "city": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "postCode": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "stateName": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "country": { + "$ref": "#/definitions/FeedbackStringFieldUpdate" + }, + "geometry": { + "$ref": "#/definitions/FeedbackGeometryFieldUpdate" + } + } + }, + "FeedbackFixOtherRequestBody": { + "type": "object", + "required": [ + "location", + "bbox" + ], + "properties": { + "isMock": { + "type": "boolean" + }, + "location": { + "$ref": "#/definitions/GeoJSONPosition" + }, + "bbox": { + "$ref": "#/definitions/GeoJsonBoundingBox" + }, + "comments": { + "type": "string" + }, + "contactInformation": { + "$ref": "#/definitions/FeedbackContactInformation" + } + } + }, + "FeedbackContactInformation": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string" + } + } + }, + "FeedbackStringFieldUpdate": { + "type": "object", + "properties": { + "current": { + "type": "string" + }, + "proposed": { + "type": "string" + } + } + }, + "FeedbackGeometryFieldUpdate": { + "type": "object", + "properties": { + "current": { + "$ref": "#/definitions/Geometry" + }, + "proposed": { + "$ref": "#/definitions/Geometry" + } + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/examples/GetLocationByIpAddress.json b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/examples/GetLocationByIpAddress.json new file mode 100644 index 000000000000..4723a73f3579 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/examples/GetLocationByIpAddress.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscription-key": "[subscription-key]", + "api-version": "1.0", + "format": "json", + "ip": "2001:4898:80e8:b::189" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "countryRegion": { + "isoCode": "US" + }, + "ipAddress": "2001:4898:80e8:b::189" + } + }, + "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/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json new file mode 100644 index 000000000000..af145ea5c56c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json @@ -0,0 +1,249 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Geolocation Service", + "version": "1.0", + "description": "Azure Maps Geolocation REST APIs" + }, + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/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", + "x-ms-examples": { + "GetLocationByIpAddress": { + "$ref": "./examples/GetLocationByIpAddress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "ip", + "in": "query", + "description": "The IP address. Both IPv4 and IPv6 are allowed.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IpAddressToLocationResult" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "IpAddressToLocationResult": { + "description": "This object is returned from a successful call to IP Address to country/region API", + "type": "object", + "properties": { + "countryRegion": { + "$ref": "#/definitions/CountryRegion" + }, + "ipAddress": { + "description": "The IP Address of the request.", + "type": "string", + "readOnly": true + } + } + }, + "CountryRegion": { + "description": "The object containing the country/region information.", + "type": "object", + "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.", + "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 new file mode 100644 index 000000000000..82d62473f11d --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json @@ -0,0 +1,110 @@ +{ + "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 new file mode 100644 index 000000000000..34064024fa0d --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json @@ -0,0 +1,360 @@ +{ + "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 new file mode 100644 index 000000000000..963d9675101b --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json @@ -0,0 +1,136 @@ +{ + "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 new file mode 100644 index 000000000000..60933fce0b9f --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json @@ -0,0 +1,141 @@ +{ + "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 new file mode 100644 index 000000000000..91f2c104f189 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json @@ -0,0 +1,253 @@ +{ + "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 new file mode 100644 index 000000000000..ea4d8d7bf140 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json @@ -0,0 +1,599 @@ +{ + "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 new file mode 100644 index 000000000000..280920327153 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json @@ -0,0 +1,268 @@ +{ + "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 new file mode 100644 index 000000000000..1f7fc7684b6d --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json @@ -0,0 +1,166 @@ +{ + "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 new file mode 100644 index 000000000000..3af3f353c1f6 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json @@ -0,0 +1,2588 @@ +{ + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetMetroAreaPreview", + "description": "**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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetMetroAreaInfoPreview", + "description": "**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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetNearbyTransitPreview", + "description": "**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": { + "x-publish": true, + "operationId": "Mobility_GetTransitLineInfoPreview", + "description": "**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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetTransitStopInfoPreview", + "description": "**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": false, + "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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetTransitRoutePreview", + "description": "**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": false, + "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": false, + "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": false, + "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": false, + "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": false, + "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": false, + "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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetTransitItineraryPreview", + "description": "**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": false, + "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": { + "x-publish": true, + "operationId": "Mobility_GetRealTimeArrivalsPreview", + "description": "**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": false, + "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": false, + "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": false, + "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": false, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": false, + "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": false, + "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": false, + "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": false, + "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": false, + "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": false, + "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/examples/GetCopyrightCaption.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightCaption.json new file mode 100644 index 000000000000..d6e9b47100f2 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightCaption.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.1", + "copyrightsCaption": "© 1992 - 2017 TomTom." + } + }, + "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/Render/preview/1.0/examples/GetCopyrightForTile.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightForTile.json new file mode 100644 index 000000000000..ebbf26fccc88 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightForTile.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "zoom": 6, + "x": 9, + "y": 22, + "subscription-key": "[subscription-key]" + }, + "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" + } + } + ] + } + }, + "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/Render/preview/1.0/examples/GetCopyrightForWorld.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightForWorld.json new file mode 100644 index 000000000000..ab7e51c902d4 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightForWorld.json @@ -0,0 +1,384 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "subscription-key": "[subscription-key]" + }, + "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" + } + } + ] + } + }, + "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/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json new file mode 100644 index 000000000000..0f73246575f9 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "mincoordinates": "52.41064,4.84228", + "maxcoordinates": "52.41072,4.84239", + "text": "yes", + "subscription-key": "[subscription-key]" + }, + "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" + } + } + ] + } + }, + "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/Render/preview/1.0/examples/GetMapImage.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapImage.json new file mode 100644 index 000000000000..b316545d0ef1 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapImage.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "zoom": 2, + "bbox": "1.355233,42.982261,24.980233,56.526017", + "layer": "basic", + "style": "main", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": {}, + "body": "binary string image" + }, + "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/Render/preview/1.0/examples/GetMapImageryTile.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapImageryTile.json new file mode 100644 index 000000000000..e3f6cda8376f --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapImageryTile.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "style": "satellite", + "zoom": 6, + "x": 10, + "y": 22, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": {}, + "body": "binary string image" + }, + "400": { + "headers": {}, + "body": { + "statuscode": "400", + "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." + } + }, + "401": { + "headers": {}, + "body": { + "statuscode": "401", + "message": "Unauthorized: Access is denied due to invalid credentials." + } + }, + "403": { + "headers": {}, + "body": { + "statuscode": "403", + "message": "Permission, capacity, or authentication issues." + } + }, + "404": { + "headers": {}, + "body": { + "statuscode": "404", + "message": "Not Found: the requested resource could not be found, but it may be available again in the future." + } + }, + "500": { + "headers": {}, + "body": { + "statuscode": "500", + "message": "An error occurred while processing the request. Please try again later." + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapStateTile.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapStateTile.json new file mode 100644 index 000000000000..997c25929649 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapStateTile.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "1.0", + "statesetId": "[statesetId]", + "zoom": 6, + "x": 10, + "y": 22, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.mapbox-vector-tile" + }, + "body": "state tile vector graphic content" + }, + "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/Render/preview/1.0/examples/GetMapTile.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapTile.json new file mode 100644 index 000000000000..b24399f4e996 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/examples/GetMapTile.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "layer": "basic", + "style": "main", + "zoom": 6, + "x": 10, + "y": 22, + "tilesize": 512, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": {}, + "body": "binary string image" + }, + "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/Render/preview/1.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json new file mode 100644 index 000000000000..3b9a123fb0a5 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json @@ -0,0 +1,1186 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Render Service", + "version": "1.0", + "description": "Azure Maps Render REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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" + }, + "RasterTileFormat": { + "name": "format", + "description": "Desired format of the response. Possible value: png.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "png" + ], + "x-ms-enum": { + "name": "RasterTileFormat", + "modelAsString": false, + "values": [ + { + "value": "png", + "description": "An image in the png format. Supports zoom levels 0 through 18." + } + ] + }, + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TileFormat": { + "name": "format", + "description": "Desired format of the response. Possible values are png & pbf.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "png", + "pbf" + ], + "x-ms-enum": { + "name": "TileFormat", + "modelAsString": false, + "values": [ + { + "value": "png", + "description": "An image in the png format. Supports zoom levels 0 through 18." + }, + { + "value": "pbf", + "description": "Vector graphic in the pbf format. Supports zoom levels 0 through 22." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "TextFormat": { + "name": "format", + "description": "Desired format of the response. Value can be either _json_ or _xml_.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "json", + "xml" + ], + "x-ms-enum": { + "name": "TextFormat", + "modelAsString": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + }, + { + "value": "xml", + "description": "[The Extensible Markup Language](https://www.w3.org/TR/xml/)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "RasterZoom18": { + "name": "zoom", + "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.", + "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" + }, + "RasterVectorNaturalEarthZoom": { + "name": "zoom", + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Text": { + "name": "text", + "in": "query", + "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.", + "required": false, + "type": "string", + "enum": [ + "yes", + "no" + ], + "default": "yes", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/map/static/{format}": { + "get": { + "x-publish": true, + "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- Provide custom pushpin images stored in [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\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": "Render_GetMapImage", + "x-ms-examples": { + "GetMapStaticImage": { + "$ref": "./examples/GetMapImage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/RasterTileFormat" + }, + { + "name": "layer", + "in": "query", + "description": "Map layer requested. If layer is set to labels or hybrid, the format should be png.", + "required": false, + "default": "basic", + "type": "string", + "enum": [ + "basic", + "hybrid", + "labels" + ], + "x-ms-enum": { + "name": "StaticMapLayer", + "modelAsString": false, + "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.", + "required": false, + "default": "main", + "type": "string", + "enum": [ + "main", + "dark" + ], + "x-ms-enum": { + "name": "MapImageStyle", + "modelAsString": false, + "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.", + "required": false, + "default": 12, + "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.", + "required": false, + "type": "string" + }, + { + "name": "bbox", + "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.", + "required": false, + "type": "string" + }, + { + "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.", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 8192, + "default": 512 + }, + { + "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.", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 8192, + "default": 512 + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/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 image and location information can be obtained from Azure Maps Data Storage. After uploading a pushpin image\nor 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 a custom pushpin image from Azure Maps Data Storage, specify the UDID prefixed by 'udid-' as the name of the\npushpin style. For example,\n\n`pins=udid-fe22c504-3a81-4fcd-adc6-a3507ce866c1||-122 45`\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", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "x-publish": true + }, + { + "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", + "required": false, + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string" + }, + "x-publish": true + } + ], + "produces": [ + "application/json", + "image/jpeg", + "image/png" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapStaticResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/tile/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetMapTile", + "x-ms-examples": { + "GetMapTile": { + "$ref": "./examples/GetMapTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TileFormat" + }, + { + "name": "layer", + "in": "query", + "description": "Map layer requested. Possible values are basic, hybrid, labels and terra.", + "required": true, + "enum": [ + "basic", + "hybrid", + "labels", + "terra" + ], + "type": "string", + "x-ms-enum": { + "name": "MapTileLayer", + "modelAsString": false, + "values": [ + { + "value": "basic", + "description": "Returns a tile containing all map features including polygons, borders, roads and labels." + }, + { + "value": "hybrid", + "description": "Returns a tile containing borders, roads, and labels, and can be overlaid on other tiles (such as satellite imagery) to produce hybrid tiles." + }, + { + "value": "labels", + "description": "Returns a tile of just the map's label information." + }, + { + "value": "terra", + "description": "Map canvas complete with shaded relief tiles. Zoom levels 0-6 (inclusive) are supported. Png is the only supported TileFormat and only available MapTileSize is 512." + } + ] + } + }, + { + "name": "style", + "in": "query", + "description": "Map style to be returned. Possible values are main, dark, and shaded_relief.", + "required": true, + "type": "string", + "enum": [ + "main", + "dark", + "shaded_relief" + ], + "x-ms-enum": { + "name": "MapTileStyle", + "modelAsString": false, + "values": [ + { + "value": "main", + "description": "Azure Maps main style" + }, + { + "value": "dark", + "description": "Dark grey version of the Azure Maps main style. PNG is the only supported TileFormat." + }, + { + "value": "shaded_relief", + "description": "Azure Maps main style completed with shaded relief. Supported by Layer terra." + } + ] + } + }, + { + "$ref": "#/parameters/RasterVectorNaturalEarthZoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "tileSize", + "in": "query", + "description": "The size of the returned map tile in pixels.", + "required": false, + "type": "string", + "default": "256", + "enum": [ + "256", + "512" + ], + "x-ms-enum": { + "name": "MapTileSize", + "modelAsString": false, + "values": [ + { + "value": "256", + "description": "Return a 256 by 256 pixel tile." + }, + { + "value": "512", + "description": "Return a 512 by 512 pixel tile." + } + ] + } + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/View" + } + ], + "produces": [ + "application/json", + "image/jpeg", + "image/png" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapTileResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/statetile": { + "get": { + "x-publish": true, + "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": "Render_GetMapStateTilePreview", + "x-ms-examples": { + "GetMapStateTile": { + "$ref": "./examples/GetMapStateTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VectorZoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "statesetId", + "in": "query", + "description": "The stateset id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + ], + "produces": [ + "application/vnd.mapbox-vector-tile", + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapStateTileResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/copyright/caption/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetCopyrightCaption", + "x-ms-examples": { + "GetCopyrightCaption": { + "$ref": "./examples/GetCopyrightCaption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CopyrightCaptionResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/imagery/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetMapImageryTile", + "x-ms-examples": { + "GetMapImagery": { + "$ref": "./examples/GetMapImageryTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/RasterTileFormat" + }, + { + "name": "style", + "in": "query", + "description": "Map style to be returned. __Possible values:__ satellite.", + "required": true, + "type": "string", + "enum": [ + "satellite" + ], + "x-ms-enum": { + "name": "MapImageryStyle", + "modelAsString": false, + "values": [ + { + "value": "satellite", + "description": "Satellite imagery" + } + ] + } + }, + { + "$ref": "#/parameters/ImageryRasterZoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + } + ], + "produces": [ + "application/json", + "image/jpeg", + "image/png" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapImageryResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/copyright/bounding/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetCopyrightFromBoundingBox", + "x-ms-examples": { + "GetCopyrightBounding": { + "$ref": "./examples/GetCopyrightFromBoundingBox.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "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" + }, + { + "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": "#/parameters/Text" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CopyrightBoundingResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/copyright/tile/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetCopyrightForTile", + "x-ms-examples": { + "GetCopyrightTile": { + "$ref": "./examples/GetCopyrightForTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/RasterZoom18" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "$ref": "#/parameters/Text" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CopyrightTileResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/map/copyright/world/{format}": { + "get": { + "x-publish": true, + "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": "Render_GetCopyrightForWorld", + "x-ms-examples": { + "GetCopyrightWorld": { + "$ref": "./examples/GetCopyrightForWorld.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/Text" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CopyrightWorldResult" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "CopyrightBoundingResult": { + "description": "This object is returned from a successful Copyright Bounding 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/Region" + } + } + } + }, + "Region": { + "type": "object", + "properties": { + "copyrights": { + "description": "Copyrights array", + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "readOnly": true + } + }, + "country": { + "description": "Country property", + "type": "object", + "readOnly": true, + "properties": { + "ISO3": { + "description": "ISO3 property", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Label property", + "type": "string", + "readOnly": true + } + } + } + } + }, + "CopyrightCaptionResult": { + "description": "This object is returned from a successful Copyright Caption call", + "type": "object", + "properties": { + "formatVersion": { + "description": "Format Version property", + "type": "string", + "readOnly": true + }, + "copyrightsCaption": { + "description": "Copyrights Caption property", + "type": "string", + "readOnly": true + } + } + }, + "CopyrightWorldResult": { + "description": "This object is returned from a successful Copyright 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/Region" + } + } + } + }, + "CopyrightTileResult": { + "description": "This object is returned from a successful Copyright Tile 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/Region" + } + } + } + }, + "MapStaticResult": { + "description": "This image is returned from a successful Map Static call", + "type": "object", + "format": "file", + "readOnly": true + }, + "MapTileResult": { + "description": "This image is returned from a successful Map Tile call", + "type": "object", + "format": "file", + "readOnly": true + }, + "MapStateTileResult": { + "description": "This tile is returned from a successful Map State Tile call", + "type": "object", + "format": "file", + "readOnly": true + }, + "MapImageryResult": { + "description": "This image is returned from a successful Map Imagery call", + "type": "object", + "format": "file", + "readOnly": true + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json new file mode 100644 index 000000000000..a7f739006589 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2.0", + "tilesetId": "microsoft.base", + "zoom": 6, + "x": 10, + "y": 22, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": {}, + "body": "binary string image" + }, + "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/Render/preview/2.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json new file mode 100644 index 000000000000..3c5065885532 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Render Service", + "version": "2.0", + "description": "Azure Maps Render REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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 2.0", + "type": "string", + "in": "query", + "required": true, + "default": "2.0", + "x-ms-parameter-location": "client" + }, + "TilesetId_rv2": { + "name": "tilesetId", + "description": "A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/en-us/rest/api/maps/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "microsoft.base", + "microsoft.base.labels", + "microsoft.base.hybrid", + "microsoft.terra.main", + "microsoft.base.road", + "microsoft.base.darkgrey", + "microsoft.base.labels.road", + "microsoft.base.hybrid.road", + "microsoft.imagery", + "microsoft.weather.radar.main", + "microsoft.weather.infrared.main" + ], + "x-ms-enum": { + "name": "TilesetID", + "modelAsString": false, + "values": [ + { + "value": "microsoft.base", + "description": "A base map is a standard map that displays roads, natural and artificial features along with the labels for those features in a vector tile.
    \n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.base.labels", + "description": "Displays labels for roads, natural and artificial features in a vector tile.
    \n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.base.hybrid", + "description": "Displays road, boundary and label data in a vector tile.
    \n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.terra.main", + "description": "Shaded relief and terra layers.
    \n\nSupports zoom levels 0 through 6. Format: raster (png)." + }, + { + "value": "microsoft.base.road", + "description": "All layers with our main style.
    \n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.darkgrey", + "description": "All layers with our dark grey style.
    \n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.labels.road", + "description": "Label data in our main style.
    \n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.hybrid.road", + "description": "Road, boundary and label data in our main style.
    \n\nSupports zoom levels 0 through 18. 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)." + }, + { + "value": "microsoft.weather.radar.main", + "description": "Weather radar tiles. Latest weather radar images including areas of rain, snow, ice and mixed conditions. Please see [coverage information](https://aka.ms/AzureMapsWeatherCoverage) for Azure Maps Weather service. To learn more about the Radar data, please see [Weather concepts](https://aka.ms/AzureMapsWeatherConcepts).
    \n\nSupports zoom levels 0 through 15. Format: raster (png)." + }, + { + "value": "microsoft.weather.infrared.main", + "description": "Weather infrared tiles. Latest Infrared Satellite images shows clouds by their temperature. Please see [coverage information](https://aka.ms/AzureMapsWeatherCoverage) for Azure Maps Weather service. To learn more about the returned Satellite data, please see [Weather concepts](https://aka.ms/AzureMapsWeatherConcepts).
    \n\nSupports zoom levels 0 through 15. Format: raster (png)." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "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" + }, + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Text": { + "name": "text", + "in": "query", + "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.", + "required": false, + "type": "string", + "enum": [ + "yes", + "no" + ], + "default": "yes", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/map/tile": { + "get": { + "x-publish": true, + "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": "RenderV2_GetMapTilePreview", + "x-ms-examples": { + "GetMapTile": { + "$ref": "./examples/GetMapTileV2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TilesetId_rv2" + }, + { + "$ref": "#/parameters/MapTileV2Zoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "timeStamp", + "in": "query", + "description": "The desired date and time of the requested tile. This parameter must be specified in the standard date-time format (e.g. 2019-11-14T16:03:00-08:00), as defined by [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). This parameter is only supported when tilesetId parameter is set to one of the values below.\n \n* microsoft.weather.infrared.main: We provide tiles up to 3 hours in the past. Tiles are available in 10-minute intervals. We round the timeStamp value to the nearest 10-minute time frame.\n* microsoft.weather.radar.main: We provide tiles up to 1.5 hours in the past and up to 2 hours in the future. Tiles are available in 5-minute intervals. We round the timeStamp value to the nearest 5-minute time frame.", + "required": false, + "type": "string" + }, + { + "name": "tileSize", + "in": "query", + "description": "The size of the returned map tile in pixels.", + "required": false, + "type": "string", + "default": "256", + "enum": [ + "256", + "512" + ], + "x-ms-enum": { + "name": "TileSize", + "modelAsString": false, + "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" + } + ] + } + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/View" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapTileResultv2" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "MapTileResultv2": { + "description": "The tile returned from a successful API call.", + "type": "string", + "format": "binary", + "readOnly": true + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/GetRouteDirections.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/GetRouteDirections.json new file mode 100644 index 000000000000..a5937068ffe5 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/GetRouteDirections.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "52.50931,13.42936:52.50274,13.43872", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.12", + "routes": [ + { + "summary": { + "lengthInMeters": 1147, + "travelTimeInSeconds": 162, + "trafficDelayInSeconds": 0, + "departureTime": "2017-09-07T16:56:58+00:00", + "arrivalTime": "2017-09-07T16:59:40+00:00" + }, + "legs": [ + { + "summary": { + "lengthInMeters": 1147, + "travelTimeInSeconds": 162, + "trafficDelayInSeconds": 0, + "departureTime": "2017-09-07T16:56:58+00:00", + "arrivalTime": "2017-09-07T16:59:40+00:00" + }, + "points": [ + { + "latitude": 52.50931, + "longitude": 13.42937 + }, + { + "latitude": 52.50904, + "longitude": 13.42912 + }, + { + "latitude": 52.50894, + "longitude": 13.42904 + }, + { + "latitude": 52.50867, + "longitude": 13.42879 + }, + { + "latitude": 52.5084, + "longitude": 13.42857 + }, + { + "latitude": 52.50791, + "longitude": 13.42824 + }, + { + "latitude": 52.50757, + "longitude": 13.42772 + }, + { + "latitude": 52.50735, + "longitude": 13.42823 + }, + { + "latitude": 52.5073, + "longitude": 13.42836 + }, + { + "latitude": 52.50573, + "longitude": 13.43194 + }, + { + "latitude": 52.50512, + "longitude": 13.43336 + }, + { + "latitude": 52.50464, + "longitude": 13.43451 + }, + { + "latitude": 52.5045, + "longitude": 13.43481 + }, + { + "latitude": 52.50443, + "longitude": 13.43498 + }, + { + "latitude": 52.50343, + "longitude": 13.43737 + }, + { + "latitude": 52.50274, + "longitude": 13.43872 + } + ] + } + ], + "sections": [ + { + "startPointIndex": 0, + "endPointIndex": 15, + "sectionType": "TRAVEL_MODE", + "travelMode": "car" + } + ] + } + ] + } + }, + "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/Route/preview/1.0/examples/GetRouteRange.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/GetRouteRange.json new file mode 100644 index 000000000000..a013418cbf93 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/GetRouteRange.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "50.97452,5.86605", + "subscription-key": "[subscription-key]", + "timeBudgetInSec": 6000 + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.1", + "reachableRange": { + "center": { + "latitude": 50.9745, + "longitude": 5.86605 + }, + "boundary": [ + { + "latitude": 52.03704, + "longitude": 5.73602 + }, + { + "latitude": 52.09456, + "longitude": 5.59435 + }, + { + "latitude": 52.16815, + "longitude": 5.42279 + }, + { + "latitude": 52.25047, + "longitude": 5.21276 + }, + { + "latitude": 52.21374, + "longitude": 5.15355 + }, + { + "latitude": 52.25674, + "longitude": 4.96687 + }, + { + "latitude": 52.07834, + "longitude": 4.739 + }, + { + "latitude": 52.05647, + "longitude": 4.72513 + }, + { + "latitude": 51.94553, + "longitude": 4.53237 + }, + { + "latitude": 51.70119, + "longitude": 4.31165 + }, + { + "latitude": 51.5837, + "longitude": 4.28917 + }, + { + "latitude": 51.48463, + "longitude": 3.82685 + }, + { + "latitude": 51.21096, + "longitude": 3.62838 + }, + { + "latitude": 50.681399999999996, + "longitude": 3.89244 + }, + { + "latitude": 50.66791, + "longitude": 3.93493 + }, + { + "latitude": 50.49042, + "longitude": 3.98156 + }, + { + "latitude": 50.30944, + "longitude": 4.47995 + }, + { + "latitude": 50.24448, + "longitude": 4.60502 + }, + { + "latitude": 50.24467, + "longitude": 4.89999 + }, + { + "latitude": 50.08735, + "longitude": 5.04206 + }, + { + "latitude": 49.99214, + "longitude": 5.23042 + }, + { + "latitude": 49.88478, + "longitude": 5.40994 + }, + { + "latitude": 49.85797, + "longitude": 5.46178 + }, + { + "latitude": 49.86279, + "longitude": 5.7196 + }, + { + "latitude": 49.83259, + "longitude": 5.74151 + }, + { + "latitude": 50.22239, + "longitude": 5.9387 + }, + { + "latitude": 50.0011, + "longitude": 6.08535 + }, + { + "latitude": 50.04616, + "longitude": 6.12089 + }, + { + "latitude": 50.09472, + "longitude": 6.28373 + }, + { + "latitude": 49.95863, + "longitude": 6.51654 + }, + { + "latitude": 50.00485, + "longitude": 6.61034 + }, + { + "latitude": 50.00587, + "longitude": 6.70295 + }, + { + "latitude": 50.2947, + "longitude": 6.65865 + }, + { + "latitude": 50.36903, + "longitude": 6.79276 + }, + { + "latitude": 50.31614, + "longitude": 7.32163 + }, + { + "latitude": 50.36737, + "longitude": 7.58782 + }, + { + "latitude": 50.46919, + "longitude": 7.7626 + }, + { + "latitude": 50.96246, + "longitude": 7.9826 + }, + { + "latitude": 51.07086, + "longitude": 7.55924 + }, + { + "latitude": 51.36614, + "longitude": 7.58138 + }, + { + "latitude": 51.52015, + "longitude": 7.67861 + }, + { + "latitude": 51.65781, + "longitude": 7.35175 + }, + { + "latitude": 51.81916, + "longitude": 7.21664 + }, + { + "latitude": 51.9587, + "longitude": 7.0467 + }, + { + "latitude": 51.82713, + "longitude": 6.67267 + }, + { + "latitude": 51.81133, + "longitude": 6.48424 + }, + { + "latitude": 51.9368, + "longitude": 6.27316 + }, + { + "latitude": 52.01701, + "longitude": 6.14452 + }, + { + "latitude": 52.20847, + "longitude": 6.09312 + }, + { + "latitude": 52.23705, + "longitude": 6.01297 + } + ] + } + } + }, + "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/Route/preview/1.0/examples/PostMatrixRouteCalculate.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostMatrixRouteCalculate.json new file mode 100644 index 000000000000..7457cd7329dd --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostMatrixRouteCalculate.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "routeType": "shortest", + "routeMatrixBody": { + "origins": { + "type": "MultiPoint", + "coordinates": [ + [ + 4.85106, + 52.36006 + ], + [ + 4.85056, + 52.36187 + ] + ] + }, + "destinations": { + "type": "MultiPoint", + "coordinates": [ + [ + 4.85003, + 52.36241 + ], + [ + 13.42937, + 52.50931 + ] + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "formatVersion": "0.0.1", + "matrix": [ + [ + { + "statusCode": 200, + "response": { + "routeSummary": { + "lengthInMeters": 495, + "travelTimeInSeconds": 134, + "trafficDelayInSeconds": 0, + "departureTime": "2018-07-27T22:55:29+00:00", + "arrivalTime": "2018-07-27T22:57:43+00:00" + } + } + }, + { + "statusCode": 200, + "response": { + "routeSummary": { + "lengthInMeters": 647651, + "travelTimeInSeconds": 26835, + "trafficDelayInSeconds": 489, + "departureTime": "2018-07-27T22:55:29+00:00", + "arrivalTime": "2018-07-28T06:22:44+00:00" + } + } + } + ], + [ + { + "statusCode": 200, + "response": { + "routeSummary": { + "lengthInMeters": 338, + "travelTimeInSeconds": 104, + "trafficDelayInSeconds": 0, + "departureTime": "2018-07-27T22:55:29+00:00", + "arrivalTime": "2018-07-27T22:57:13+00:00" + } + } + }, + { + "statusCode": 200, + "response": { + "routeSummary": { + "lengthInMeters": 647494, + "travelTimeInSeconds": 26763, + "trafficDelayInSeconds": 469, + "departureTime": "2018-07-27T22:55:29+00:00", + "arrivalTime": "2018-07-28T06:21:32+00:00" + } + } + } + ] + ], + "summary": { + "successfulRoutes": 4, + "totalRoutes": 4 + } + } + }, + "202": { + "headers": { + "Location": "New URL to check the status of the long running request." + } + }, + "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/Route/preview/1.0/examples/PostRouteDirections.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostRouteDirections.json new file mode 100644 index 000000000000..898a94a17dd5 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostRouteDirections.json @@ -0,0 +1,234 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "52.50931,13.42936:52.50274,13.43872", + "subscription-key": "[subscription-key]", + "routeDirectionsRequestBody": { + "supportingPoints": { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Point", + "coordinates": [ + 13.42936, + 52.5093 + ] + }, + { + "type": "Point", + "coordinates": [ + 13.42859, + 52.50844 + ] + } + ] + }, + "avoidVignette": [ + "AUS", + "CHE" + ], + "avoidAreas": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + -122.39456176757811, + 47.489368981370724 + ], + [ + -122.00454711914061, + 47.489368981370724 + ], + [ + -122.00454711914061, + 47.65151268066222 + ], + [ + -122.39456176757811, + 47.65151268066222 + ], + [ + -122.39456176757811, + 47.489368981370724 + ] + ] + ], + [ + [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 0.0 + ], + [ + 101.0, + 1.0 + ], + [ + 100.0, + 1.0 + ], + [ + 100.0, + 0.0 + ] + ] + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "formatVersion": "0.0.12", + "routes": [ + { + "summary": { + "lengthInMeters": 1147, + "travelTimeInSeconds": 162, + "trafficDelayInSeconds": 0, + "departureTime": "2017-09-07T16:56:58+00:00", + "arrivalTime": "2017-09-07T16:59:40+00:00" + }, + "legs": [ + { + "summary": { + "lengthInMeters": 1147, + "travelTimeInSeconds": 162, + "trafficDelayInSeconds": 0, + "departureTime": "2017-09-07T16:56:58+00:00", + "arrivalTime": "2017-09-07T16:59:40+00:00" + }, + "points": [ + { + "latitude": 52.50931, + "longitude": 13.42937 + }, + { + "latitude": 52.50904, + "longitude": 13.42912 + }, + { + "latitude": 52.50894, + "longitude": 13.42904 + }, + { + "latitude": 52.50867, + "longitude": 13.42879 + }, + { + "latitude": 52.5084, + "longitude": 13.42857 + }, + { + "latitude": 52.50791, + "longitude": 13.42824 + }, + { + "latitude": 52.50757, + "longitude": 13.42772 + }, + { + "latitude": 52.50735, + "longitude": 13.42823 + }, + { + "latitude": 52.5073, + "longitude": 13.42836 + }, + { + "latitude": 52.50573, + "longitude": 13.43194 + }, + { + "latitude": 52.50512, + "longitude": 13.43336 + }, + { + "latitude": 52.50464, + "longitude": 13.43451 + }, + { + "latitude": 52.5045, + "longitude": 13.43481 + }, + { + "latitude": 52.50443, + "longitude": 13.43498 + }, + { + "latitude": 52.50343, + "longitude": 13.43737 + }, + { + "latitude": 52.50274, + "longitude": 13.43872 + } + ] + } + ], + "sections": [ + { + "startPointIndex": 0, + "endPointIndex": 15, + "sectionType": "TRAVEL_MODE", + "travelMode": "car" + } + ] + } + ] + } + }, + "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/Route/preview/1.0/examples/PostRouteDirectionsBatch.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostRouteDirectionsBatch.json new file mode 100644 index 000000000000..185d11981d0a --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/examples/PostRouteDirectionsBatch.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "routeDirectionsBatchRequestBody": { + "batchItems": [ + { + "query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99" + }, + { + "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" + }, + { + "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "batchItems": [ + { + "statusCode": 400, + "response": { + "error": { + "code": "400 BadRequest", + "message": "maxAlternatives parameter value should be between 0 and 5 inclusive" + } + } + }, + { + "statusCode": 200, + "response": { + "formatVersion": "0.0.12", + "routes": [ + { + "summary": { + "lengthInMeters": 1754, + "travelTimeInSeconds": 386, + "trafficDelayInSeconds": 0, + "departureTime": "2019-06-21T22:56:23+00:00", + "arrivalTime": "2019-06-21T23:02:49+00:00" + }, + "legs": [ + { + "summary": { + "lengthInMeters": 1754, + "travelTimeInSeconds": 386, + "trafficDelayInSeconds": 0, + "departureTime": "2019-06-21T22:56:23+00:00", + "arrivalTime": "2019-06-21T23:02:49+00:00" + }, + "points": [ + { + "latitude": 47.62094, + "longitude": -122.34892 + }, + { + "latitude": 47.62094, + "longitude": -122.3485 + }, + { + "latitude": 47.62095, + "longitude": -122.3476 + }, + { + "latitude": 47.60995, + "longitude": -122.34174 + }, + { + "latitude": 47.61011, + "longitude": -122.342 + } + ] + } + ], + "sections": [ + { + "startPointIndex": 0, + "endPointIndex": 44, + "sectionType": "TRAVEL_MODE", + "travelMode": "bicycle" + } + ] + } + ] + } + }, + { + "statusCode": 200, + "response": { + "formatVersion": "0.0.12", + "routes": [ + { + "summary": { + "lengthInMeters": 1772, + "travelTimeInSeconds": 1276, + "trafficDelayInSeconds": 0, + "departureTime": "2019-06-21T22:56:23+00:00", + "arrivalTime": "2019-06-21T23:17:38+00:00" + }, + "legs": [ + { + "summary": { + "lengthInMeters": 1772, + "travelTimeInSeconds": 1276, + "trafficDelayInSeconds": 0, + "departureTime": "2019-06-21T22:56:23+00:00", + "arrivalTime": "2019-06-21T23:17:38+00:00" + }, + "points": [ + { + "latitude": 40.75982, + "longitude": -73.98493 + }, + { + "latitude": 40.7601, + "longitude": -73.98483 + }, + { + "latitude": 40.75984, + "longitude": -73.98417 + }, + { + "latitude": 40.76047, + "longitude": -73.9837 + }, + { + "latitude": 40.77095, + "longitude": -73.9736 + }, + { + "latitude": 40.77114, + "longitude": -73.97356 + } + ] + } + ], + "sections": [ + { + "startPointIndex": 0, + "endPointIndex": 47, + "sectionType": "TRAVEL_MODE", + "travelMode": "pedestrian" + } + ] + } + ] + } + } + ], + "summary": { + "successfulRequests": 2, + "totalRequests": 3 + } + } + }, + "202": { + "headers": { + "Location": "URL to download the results of the long-running batch request." + } + }, + "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/Route/preview/1.0/route.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json new file mode 100644 index 000000000000..20db41da9378 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json @@ -0,0 +1,2845 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Route Service", + "version": "1.0", + "description": "Azure Maps Route REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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" + } + }, + "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": { + "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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TextFormat": { + "name": "format", + "description": "Desired format of the response. Value can be either _json_ or _xml_.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "json", + "xml" + ], + "x-ms-enum": { + "name": "TextFormat", + "modelAsString": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + }, + { + "value": "xml", + "description": "[The Extensible Markup Language](https://www.w3.org/TR/xml/)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "VehicleLoadType": { + "name": "vehicleLoadType", + "in": "query", + "description": "Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck.", + "required": false, + "type": "string", + "enum": [ + "USHazmatClass1", + "USHazmatClass2", + "USHazmatClass3", + "USHazmatClass4", + "USHazmatClass5", + "USHazmatClass6", + "USHazmatClass7", + "USHazmatClass8", + "USHazmatClass9", + "otherHazmatExplosive", + "otherHazmatGeneral", + "otherHazmatHarmfulToWater" + ], + "x-ms-enum": { + "name": "VehicleLoadType", + "modelAsString": false, + "values": [ + { + "value": "USHazmatClass1", + "description": "Explosives" + }, + { + "value": "USHazmatClass2", + "description": "Compressed gas" + }, + { + "value": "USHazmatClass3", + "description": "Flammable liquids" + }, + { + "value": "USHazmatClass4", + "description": "Flammable solids" + }, + { + "value": "USHazmatClass5", + "description": "Oxidizers" + }, + { + "value": "USHazmatClass6", + "description": "Poisons" + }, + { + "value": "USHazmatClass7", + "description": "Radioactive" + }, + { + "value": "USHazmatClass8", + "description": "Corrosives" + }, + { + "value": "USHazmatClass9", + "description": "Miscellaneous" + }, + { + "value": "otherHazmatExplosive", + "description": "Explosives" + }, + { + "value": "otherHazmatGeneral", + "description": "Miscellaneous" + }, + { + "value": "otherHazmatHarmfulToWater", + "description": "Harmful to water" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "RouteType": { + "name": "routeType", + "in": "query", + "description": "The type of route requested.", + "required": false, + "type": "string", + "default": "fastest", + "enum": [ + "fastest", + "shortest", + "eco", + "thrilling" + ], + "x-ms-enum": { + "name": "RouteType", + "modelAsString": false, + "values": [ + { + "value": "fastest", + "description": "The fastest route." + }, + { + "value": "shortest", + "description": "The shortest route by distance." + }, + { + "value": "eco", + "description": "A route balanced by economy and speed." + }, + { + "value": "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" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "Windingness": { + "name": "windingness", + "in": "query", + "description": "Level of turns for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling.", + "required": false, + "type": "string", + "default": "normal", + "enum": [ + "low", + "normal", + "high" + ], + "x-ms-enum": { + "name": "Windingness", + "modelAsString": false, + "values": [ + { + "value": "low", + "description": "low" + }, + { + "value": "normal", + "description": "normal" + }, + { + "value": "high", + "description": "high" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "Hilliness": { + "name": "hilliness", + "in": "query", + "description": "Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling.", + "required": false, + "type": "string", + "default": "normal", + "enum": [ + "low", + "normal", + "high" + ], + "x-ms-enum": { + "name": "Hilliness", + "modelAsString": false, + "values": [ + { + "value": "low", + "description": "low" + }, + { + "value": "normal", + "description": "normal" + }, + { + "value": "high", + "description": "high" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TravelMode": { + "name": "travelMode", + "in": "query", + "description": "The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be \"other\". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used.", + "required": false, + "type": "string", + "default": "car", + "enum": [ + "car", + "truck", + "taxi", + "bus", + "van", + "motorcycle", + "bicycle", + "pedestrian" + ], + "x-ms-enum": { + "name": "TravelMode", + "modelAsString": false, + "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." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "Avoid": { + "name": "avoid", + "in": "query", + "description": "Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used.", + "required": false, + "type": "string", + "enum": [ + "tollRoads", + "motorways", + "ferries", + "unpavedRoads", + "carpools", + "alreadyUsedRoads", + "borderCrossings" + ], + "x-ms-enum": { + "name": "Avoid", + "modelAsString": false, + "values": [ + { + "value": "tollRoads", + "description": "Avoids toll roads." + }, + { + "value": "motorways", + "description": "Avoids motorways" + }, + { + "value": "ferries", + "description": "Avoids ferries" + }, + { + "value": "unpavedRoads", + "description": "Avoids unpaved roads" + }, + { + "value": "carpools", + "description": "Avoids routes that require the use of carpool (HOV/High Occupancy Vehicle) lanes." + }, + { + "value": "alreadyUsedRoads", + "description": "Avoids using the same road multiple times. Most useful in conjunction with `routeType`=thrilling." + }, + { + "value": "borderCrossings", + "description": "Avoids border crossings in route calculation." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "VehicleEngineType": { + "name": "vehicleEngineType", + "in": "query", + "description": "Engine type of the vehicle. When a detailed Consumption Model is specified, it must be consistent with the value of **vehicleEngineType**.", + "required": false, + "type": "string", + "enum": [ + "combustion", + "electric" + ], + "default": "combustion", + "x-ms-enum": { + "name": "VehicleEngineType", + "modelAsString": false, + "values": [ + { + "value": "combustion", + "description": "Internal combustion engine." + }, + { + "value": "electric", + "description": "Electric engine." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "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**.", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "CurrentFuelInLiters": { + "name": "currentFuelInLiters", + "in": "query", + "description": "Specifies the current supply of fuel in liters.\n\nSensible Values : 55", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "AuxiliaryPowerInLitersPerHour": { + "name": "auxiliaryPowerInLitersPerHour", + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "FuelEnergyDensityInMJoulesPerLiter": { + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "AccelerationEfficiency": { + "name": "accelerationEfficiency", + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "DecelerationEfficiency": { + "name": "decelerationEfficiency", + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "UphillEfficiency": { + "name": "uphillEfficiency", + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "DownhillEfficiency": { + "name": "downhillEfficiency", + "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", + "required": false, + "type": "number", + "format": "float", + "x-ms-parameter-location": "method" + }, + "ConstantSpeedConsumptionInkWhPerHundredkm": { + "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**.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CurrentChargeInkWh": { + "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", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxChargeInkWh": { + "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", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AuxiliaryPowerInkW": { + "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", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VehicleWeightMatrix": { + "name": "vehicleWeight", + "in": "query", + "description": "Weight of the vehicle in kilograms.", + "required": false, + "type": "integer", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleWeight": { + "name": "vehicleWeight", + "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", + "required": false, + "type": "integer", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleMaxSpeed": { + "name": "vehicleMaxSpeed", + "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.", + "required": false, + "type": "integer", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleLength": { + "name": "vehicleLength", + "in": "query", + "description": "Length of the vehicle in meters. A value of 0 means that length restrictions are not considered.", + "required": false, + "type": "number", + "format": "float", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleHeight": { + "name": "vehicleHeight", + "in": "query", + "description": "Height of the vehicle in meters. A value of 0 means that height restrictions are not considered.", + "required": false, + "type": "number", + "format": "float", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleWidth": { + "name": "vehicleWidth", + "in": "query", + "description": "Width of the vehicle in meters. A value of 0 means that width restrictions are not considered.", + "required": false, + "type": "number", + "format": "float", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleAxleWeight": { + "name": "vehicleAxleWeight", + "in": "query", + "description": "Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered.", + "required": false, + "type": "integer", + "default": 0, + "x-ms-parameter-location": "method" + }, + "VehicleCommercial": { + "name": "vehicleCommercial", + "in": "query", + "description": "Vehicle is used for commercial purposes and thus may not be allowed to drive on some roads.", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "DepartAt": { + "name": "departAt", + "in": "query", + "description": "The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00).", + "type": "string", + "format": "date-time", + "required": false, + "x-ms-parameter-location": "method" + }, + "ArriveAt": { + "name": "arriveAt", + "in": "query", + "description": "The date and time of arrival at the destination point. It must be specified as a dateTime. When a time zone offset is not specified it will be assumed to be that of the destination point. The arriveAt value must be in the future. The arriveAt parameter cannot be used in conjunction with departAt, minDeviationDistance or minDeviationTime.", + "type": "string", + "format": "date-time", + "required": false, + "x-ms-parameter-location": "method" + }, + "SectionType": { + "name": "sectionType", + "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", + "required": false, + "type": "string", + "default": "travelMode", + "enum": [ + "carTrain", + "country", + "ferry", + "motorway", + "pedestrian", + "tollRoad", + "tollVignette", + "traffic", + "travelMode", + "tunnel" + ], + "x-ms-enum": { + "name": "SectionType", + "modelAsString": false, + "values": [ + { + "value": "carTrain", + "description": "Get sections if the route includes car trains." + }, + { + "value": "country", + "description": "Countries the route has parts in." + }, + { + "value": "ferry", + "description": "Get sections if the route includes ferries." + }, + { + "value": "motorway", + "description": "Get sections if the route includes motorways." + }, + { + "value": "pedestrian", + "description": "Get sections which are suited for pedestrians." + }, + { + "value": "tollRoad", + "description": "Get sections which require a toll to be payed." + }, + { + "value": "tollVignette", + "description": "Get sections which require a toll vignette to be present." + }, + { + "value": "traffic", + "description": "Get sections which contain traffic information." + }, + { + "value": "travelMode", + "description": "Get sections in relation to the request parameter `travelMode`." + }, + { + "value": "tunnel", + "description": "Get sections if the route includes tunnels." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "ComputeBestOrder": { + "name": "computeBestOrder", + "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_.", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "RouteRepresentation": { + "name": "routeRepresentation", + "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.", + "required": false, + "type": "string", + "default": "polyline", + "enum": [ + "polyline", + "summaryOnly", + "none" + ], + "x-ms-enum": { + "name": "RouteRepresentation", + "modelAsString": false, + "values": [ + { + "value": "polyline", + "description": "Includes route geometry in the response." + }, + { + "value": "summaryOnly", + "description": "Summary as per polyline but excluding the point geometry elements for the routes in the response." + }, + { + "value": "none", + "description": "Includes only the optimized waypoint indices but does not include the route geometry in the response." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "ComputeTravelTimeFor": { + "name": "computeTravelTimeFor", + "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.", + "required": false, + "type": "string", + "default": "none", + "enum": [ + "none", + "all" + ], + "x-ms-enum": { + "name": "ComputeTravelTimeFor", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "Does not compute additional travel times." + }, + { + "value": "all", + "description": "Computes travel times for all types of traffic information and specifies all results in the fields noTrafficTravelTimeInSeconds, historicTrafficTravelTimeInSeconds and liveTrafficIncidentsTravelTimeInSeconds being included in the summaries in the route response." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "VehicleHeading": { + "name": "vehicleHeading", + "in": "query", + "description": "The directional heading of the vehicle in 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", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 359, + "x-ms-parameter-location": "method" + }, + "Report": { + "name": "report", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Traffic": { + "name": "traffic", + "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.", + "required": false, + "type": "boolean", + "default": true, + "x-ms-parameter-location": "method" + }, + "AlternativeRouteType": { + "name": "alternativeType", + "in": "query", + "description": "Controls the optimality, with respect to the given planning criteria, of the calculated alternatives compared to the reference route.", + "required": false, + "type": "string", + "default": "anyRoute", + "enum": [ + "anyRoute", + "betterRoute" + ], + "x-ms-enum": { + "name": "AlternativeRouteType", + "modelAsString": false, + "values": [ + { + "value": "anyRoute", + "description": "Allow any alternative route to be returned irrespective of how it compares to the reference route in terms of optimality." + }, + { + "value": "betterRoute", + "description": "Return an alternative route only if it is better than the reference route according to the given planning criteria." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "RouteInstructionsType": { + "name": "instructionsType", + "in": "query", + "description": "If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none", + "required": false, + "type": "string", + "enum": [ + "coded", + "text", + "tagged" + ], + "x-ms-enum": { + "name": "RouteInstructionsType", + "modelAsString": false, + "values": [ + { + "value": "coded", + "description": "Returns raw instruction data without human-readable messages." + }, + { + "value": "text", + "description": "Returns raw instructions data with human-readable messages in plain text." + }, + { + "value": "tagged", + "description": "Returns raw instruction data with tagged human-readable messages to permit formatting. A human-readable message is built up from repeatable identified elements. These are tagged to allow client applications to format them correctly. The following message components are tagged when instructionsType=tagged: street, roadNumber, signpostText, exitNumber, roundaboutExitNumber.\n\nExample of tagged 'Turn left' message:​\n\n```\nTurn left onto A4/E19\ntowards Den Haag\n```" + } + ] + }, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/route/matrix/{format}": { + "post": { + "x-publish": true, + "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": "Route_PostRouteMatrix", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "MatrixRoute": { + "$ref": "./examples/PostMatrixRouteCalculate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "waitForResults", + "in": "query", + "description": "Boolean to indicate whether to execute the request synchronously. If set to true, user will get a 200 response if the request is finished under 120 seconds. Otherwise, user will get a 202 response right away. Please refer to the API description for more details on 202 response. **Supported only for async request**.", + "required": false, + "type": "boolean", + "default": false + }, + { + "$ref": "#/parameters/ComputeTravelTimeFor" + }, + { + "$ref": "#/parameters/SectionType" + }, + { + "$ref": "#/parameters/ArriveAt" + }, + { + "$ref": "#/parameters/DepartAt" + }, + { + "$ref": "#/parameters/VehicleAxleWeight" + }, + { + "$ref": "#/parameters/VehicleLength" + }, + { + "$ref": "#/parameters/VehicleHeight" + }, + { + "$ref": "#/parameters/VehicleWidth" + }, + { + "$ref": "#/parameters/VehicleMaxSpeed" + }, + { + "$ref": "#/parameters/VehicleWeightMatrix" + }, + { + "$ref": "#/parameters/Windingness" + }, + { + "$ref": "#/parameters/Hilliness" + }, + { + "$ref": "#/parameters/TravelMode" + }, + { + "$ref": "#/parameters/Avoid" + }, + { + "$ref": "#/parameters/Traffic" + }, + { + "$ref": "#/parameters/RouteType" + }, + { + "$ref": "#/parameters/VehicleLoadType" + }, + { + "name": "routeMatrixBody", + "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/RouteMatrixRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RouteMatrixResponse" + } + }, + "202": { + "$ref": "#/responses/202Async" + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/route/directions/{format}": { + "get": { + "x-publish": true, + "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": "Route_GetRouteDirections", + "x-ms-examples": { + "GetRouteDirections": { + "$ref": "./examples/GetRouteDirections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "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" + }, + { + "name": "maxAlternatives", + "in": "query", + "description": "Number of desired alternative routes to be calculated. Default: 0, minimum: 0 and maximum: 5", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 5, + "default": 0 + }, + { + "$ref": "#/parameters/AlternativeRouteType" + }, + { + "name": "minDeviationDistance", + "in": "query", + "description": "All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of meters. Can only be used when reconstructing a route. The minDeviationDistance parameter cannot be used in conjunction with arriveAt", + "required": false, + "type": "integer", + "default": 0 + }, + { + "$ref": "#/parameters/ArriveAt" + }, + { + "$ref": "#/parameters/DepartAt" + }, + { + "name": "minDeviationTime", + "in": "query", + "description": "All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of seconds. Can only be used when reconstructing a route. The minDeviationTime parameter cannot be used in conjunction with arriveAt. Default value is 0. Setting )minDeviationTime_ to a value greater than zero has the following consequences:\n - The origin point of the _calculateRoute_ Request must be on\n (or very near) the input reference route.\n - If this is not the case, an error is returned.\n - However, the origin point does not need to be at the beginning\n of the input reference route (it can be thought of as the current\n vehicle position on the reference route).\n - The reference route, returned as the first route in the _calculateRoute_\n Response, will start at the origin point specified in the _calculateRoute_\n Request. The initial part of the input reference route up until the origin\n point will be excluded from the Response.\n - The values of _minDeviationDistance_ and _minDeviationTime_ determine\n how far alternative routes will be guaranteed to follow the reference\n route from the origin point onwards.\n - The route must use _departAt_.\n - The _vehicleHeading_ is ignored.", + "required": false, + "type": "integer", + "default": 0 + }, + { + "$ref": "#/parameters/RouteInstructionsType" + }, + { + "name": "language", + "in": "query", + "description": "The language parameter determines the language of the guidance messages. Proper nouns (the names of streets, plazas, etc.) are returned in the specified language, or if that is not available, they are returned in an available language that is close to it. Allowed values are (a subset of) the IETF language tags. The currently supported languages are listed in the [Supported languages section](https://docs.microsoft.com/azure/azure-maps/supported-languages).\n\nDefault value: en-GB", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ComputeBestOrder" + }, + { + "$ref": "#/parameters/RouteRepresentation" + }, + { + "$ref": "#/parameters/ComputeTravelTimeFor" + }, + { + "$ref": "#/parameters/VehicleHeading" + }, + { + "$ref": "#/parameters/Report" + }, + { + "$ref": "#/parameters/SectionType" + }, + { + "$ref": "#/parameters/VehicleAxleWeight" + }, + { + "$ref": "#/parameters/VehicleWidth" + }, + { + "$ref": "#/parameters/VehicleHeight" + }, + { + "$ref": "#/parameters/VehicleLength" + }, + { + "$ref": "#/parameters/VehicleMaxSpeed" + }, + { + "$ref": "#/parameters/VehicleWeight" + }, + { + "$ref": "#/parameters/VehicleCommercial" + }, + { + "$ref": "#/parameters/Windingness" + }, + { + "$ref": "#/parameters/Hilliness" + }, + { + "$ref": "#/parameters/TravelMode" + }, + { + "$ref": "#/parameters/Avoid" + }, + { + "$ref": "#/parameters/Traffic" + }, + { + "$ref": "#/parameters/RouteType" + }, + { + "$ref": "#/parameters/VehicleLoadType" + }, + { + "$ref": "#/parameters/VehicleEngineType" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInLitersPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentFuelInLiters" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInLitersPerHour" + }, + { + "$ref": "#/parameters/FuelEnergyDensityInMJoulesPerLiter" + }, + { + "$ref": "#/parameters/AccelerationEfficiency" + }, + { + "$ref": "#/parameters/DecelerationEfficiency" + }, + { + "$ref": "#/parameters/UphillEfficiency" + }, + { + "$ref": "#/parameters/DownhillEfficiency" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInkWhPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentChargeInkWh" + }, + { + "$ref": "#/parameters/MaxChargeInkWh" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInkW" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RouteDirectionsResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + }, + "post": { + "x-publish": true, + "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": "Route_PostRouteDirections", + "x-ms-examples": { + "PostRouteDirections": { + "$ref": "./examples/PostRouteDirections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "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" + }, + { + "name": "maxAlternatives", + "in": "query", + "description": "Number of desired alternative routes to be calculated. Default: 0, minimum: 0 and maximum: 5", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 5, + "default": 0 + }, + { + "$ref": "#/parameters/AlternativeRouteType" + }, + { + "name": "minDeviationDistance", + "in": "query", + "description": "All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of meters. Can only be used when reconstructing a route. The minDeviationDistance parameter cannot be used in conjunction with arriveAt", + "required": false, + "type": "integer", + "default": 0 + }, + { + "name": "minDeviationTime", + "in": "query", + "description": "All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of seconds. Can only be used when reconstructing a route. The minDeviationTime parameter cannot be used in conjunction with arriveAt. Default value is 0. Setting )minDeviationTime_ to a value greater than zero has the following consequences:\n - The origin point of the _calculateRoute_ Request must be on\n (or very near) the input reference route.\n - If this is not the case, an error is returned.\n - However, the origin point does not need to be at the beginning\n of the input reference route (it can be thought of as the current\n vehicle position on the reference route).\n - The reference route, returned as the first route in the _calculateRoute_\n Response, will start at the origin point specified in the _calculateRoute_\n Request. The initial part of the input reference route up until the origin\n point will be excluded from the Response.\n - The values of _minDeviationDistance_ and _minDeviationTime_ determine\n how far alternative routes will be guaranteed to follow the reference\n route from the origin point onwards.\n - The route must use _departAt_.\n - The _vehicleHeading_ is ignored.", + "required": false, + "type": "integer", + "default": 0 + }, + { + "$ref": "#/parameters/RouteInstructionsType" + }, + { + "name": "language", + "in": "query", + "description": "The language parameter determines the language of the guidance messages. It does not affect proper nouns (the names of streets, plazas, etc.) It has no effect when instructionsType=coded. Allowed values are (a subset of) the IETF language tags described", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ComputeBestOrder" + }, + { + "$ref": "#/parameters/RouteRepresentation" + }, + { + "$ref": "#/parameters/ComputeTravelTimeFor" + }, + { + "$ref": "#/parameters/VehicleHeading" + }, + { + "$ref": "#/parameters/Report" + }, + { + "$ref": "#/parameters/SectionType" + }, + { + "$ref": "#/parameters/ArriveAt" + }, + { + "$ref": "#/parameters/DepartAt" + }, + { + "$ref": "#/parameters/VehicleAxleWeight" + }, + { + "$ref": "#/parameters/VehicleLength" + }, + { + "$ref": "#/parameters/VehicleHeight" + }, + { + "$ref": "#/parameters/VehicleWidth" + }, + { + "$ref": "#/parameters/VehicleMaxSpeed" + }, + { + "$ref": "#/parameters/VehicleWeight" + }, + { + "$ref": "#/parameters/VehicleCommercial" + }, + { + "$ref": "#/parameters/Windingness" + }, + { + "$ref": "#/parameters/Hilliness" + }, + { + "$ref": "#/parameters/TravelMode" + }, + { + "$ref": "#/parameters/Avoid" + }, + { + "$ref": "#/parameters/Traffic" + }, + { + "$ref": "#/parameters/RouteType" + }, + { + "$ref": "#/parameters/VehicleLoadType" + }, + { + "$ref": "#/parameters/VehicleEngineType" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInLitersPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentFuelInLiters" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInLitersPerHour" + }, + { + "$ref": "#/parameters/FuelEnergyDensityInMJoulesPerLiter" + }, + { + "$ref": "#/parameters/AccelerationEfficiency" + }, + { + "$ref": "#/parameters/DecelerationEfficiency" + }, + { + "$ref": "#/parameters/UphillEfficiency" + }, + { + "$ref": "#/parameters/DownhillEfficiency" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInkWhPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentChargeInkWh" + }, + { + "$ref": "#/parameters/MaxChargeInkWh" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInkW" + }, + { + "name": "routeDirectionsRequestBody", + "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/RouteDirectionsRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RouteDirectionsResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/route/range/{format}": { + "get": { + "x-publish": true, + "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": "Route_GetRouteRange", + "x-ms-examples": { + "GetRouteRange": { + "$ref": "./examples/GetRouteRange.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "query", + "in": "query", + "description": "The Coordinate from which the range calculation should start.", + "required": true, + "type": "string" + }, + { + "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.", + "required": false, + "type": "number", + "format": "float" + }, + { + "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.", + "required": false, + "type": "number", + "format": "float" + }, + { + "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.", + "required": false, + "type": "number", + "format": "float" + }, + { + "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.", + "required": false, + "type": "number", + "format": "float" + }, + { + "$ref": "#/parameters/DepartAt" + }, + { + "$ref": "#/parameters/RouteType" + }, + { + "$ref": "#/parameters/Traffic" + }, + { + "$ref": "#/parameters/Avoid" + }, + { + "$ref": "#/parameters/TravelMode" + }, + { + "$ref": "#/parameters/Hilliness" + }, + { + "$ref": "#/parameters/Windingness" + }, + { + "$ref": "#/parameters/VehicleAxleWeight" + }, + { + "$ref": "#/parameters/VehicleWidth" + }, + { + "$ref": "#/parameters/VehicleHeight" + }, + { + "$ref": "#/parameters/VehicleLength" + }, + { + "$ref": "#/parameters/VehicleMaxSpeed" + }, + { + "$ref": "#/parameters/VehicleWeight" + }, + { + "$ref": "#/parameters/VehicleCommercial" + }, + { + "$ref": "#/parameters/VehicleLoadType" + }, + { + "$ref": "#/parameters/VehicleEngineType" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInLitersPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentFuelInLiters" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInLitersPerHour" + }, + { + "$ref": "#/parameters/FuelEnergyDensityInMJoulesPerLiter" + }, + { + "$ref": "#/parameters/AccelerationEfficiency" + }, + { + "$ref": "#/parameters/DecelerationEfficiency" + }, + { + "$ref": "#/parameters/UphillEfficiency" + }, + { + "$ref": "#/parameters/DownhillEfficiency" + }, + { + "$ref": "#/parameters/ConstantSpeedConsumptionInkWhPerHundredkm" + }, + { + "$ref": "#/parameters/CurrentChargeInkWh" + }, + { + "$ref": "#/parameters/MaxChargeInkWh" + }, + { + "$ref": "#/parameters/AuxiliaryPowerInkW" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RouteRangeResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/route/directions/batch/{format}": { + "post": { + "x-publish": true, + "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/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/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": "Route_PostRouteDirectionsBatch", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "A Route Directions Batch API call containing 3 Route Directions API queries": { + "$ref": "./examples/PostRouteDirectionsBatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "routeDirectionsBatchRequestBody", + "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": "#/definitions/BatchRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BatchResponse" + } + }, + "202": { + "$ref": "#/responses/202Async" + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + } + }, + "definitions": { + "ODataErrorResponse": { + "type": "object", + "description": "This response object is returned when an error occurs in the Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "Redirect": { + "type": "object", + "description": "This object is returned when the request is accepted but the processing has not been completed. The location header in the response contains the new URL to retry." + }, + "BatchResponse": { + "description": "This object is returned from a successful Batch service call", + "type": "object", + "properties": { + "summary": { + "description": "Summary for the batch request", + "type": "object", + "readOnly": true, + "properties": { + "successfulRequests": { + "description": "Number of successful requests in the batch", + "type": "integer", + "readOnly": true + }, + "totalRequests": { + "description": "Total number of requests in the batch", + "type": "integer", + "readOnly": true + } + } + }, + "batchItems": { + "description": "Array containing the batch results", + "type": "array", + "readOnly": true, + "items": { + "type": "object" + } + } + } + }, + "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": false, + "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." + } + ] + } + } + } + }, + "MultiPoint": { + "description": "A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the geometry. Value should always be equal to \"MultiPoint\".", + "type": "string" + }, + "coordinates": { + "description": "Coordinates for the `MultiPoint` 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" + } + }, + "Point": { + "description": "A valid `GeoJSON Point` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.2) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the geometry. Value should always be equal to \"Point\".", + "type": "string" + }, + "coordinates": { + "$ref": "#/definitions/GeoJSONPosition" + } + }, + "required": [ + "coordinates" + ] + } + ] + }, + "MultiPolygon": { + "description": "A valid `GeoJSON MultiPolygon` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.7) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the object. Value should always be equal to \"MultiPolygon\".", + "type": "string" + }, + "coordinates": { + "description": "Contains a list of valid `GeoJSON` Polygon objects. **Note** that coordinates in GeoJSON are in x, y order (longitude, latitude).", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/GeoJSONLinearRing" + } + } + } + }, + "required": [ + "coordinates" + ] + } + ] + }, + "GeoJSONGeometryCollection": { + "description": "A valid `GeoJSON GeometryCollection` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.8) for details.", + "type": "object", + "properties": { + "type": { + "description": "Specifies the `type` for the object. Value should always be equal to \"GeometryCollection\".", + "type": "string" + }, + "geometries": { + "description": "Contains a list of valid `GeoJSON` geometry objects. **Note** that coordinates in GeoJSON are in x, y order (longitude, latitude).", + "type": "array", + "items": { + "$ref": "#/definitions/GeoJSONGeometry" + } + } + }, + "required": [ + "geometries" + ] + }, + "BatchRequestBody": { + "description": "This type represents the request body for the Batch service.", + "type": "object", + "properties": { + "batchItems": { + "description": "The list of queries/requests to process", + "type": "array", + "items": { + "description": "Batch Query object", + "type": "object", + "properties": { + "query": { + "description": "Partial query string", + "type": "string" + } + } + } + } + } + }, + "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 + } + } + }, + "RouteDirectionsRequestBody": { + "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.", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometryCollection" + }, + { + "properties": { + "geometries": { + "type": "array", + "items": { + "$ref": "#/definitions/Point" + } + } + } + } + ] + }, + "avoidVignette": { + "description": "This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries in which all toll roads with vignettes are to be avoided, e.g. \"AUS,CHE\". Toll roads with vignettes in countries not in the list are unaffected. Note: It is an error to specify both **avoidVignette** and **allowVignette**.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowVignette": { + "description": "This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries in which toll roads with vignettes are allowed, e.g. \"AUS,CHE\". Specifying **allowVignette** with some countries X is equivalent to specifying **avoidVignette** with all countries but X. Specifying **allowVignette** with an empty list is the same as avoiding all toll roads with vignettes. Note: It is an error to specify both **avoidVignette** and **allowVignette**.", + "type": "array", + "items": { + "type": "string" + } + }, + "avoidAreas": { + "description": "A GeoJSON MultiPolygon representing list of areas to avoid. Only rectangle polygons are supported. The maximum size of a rectangle is about 160x160 km. Maximum number of avoided areas is **10**. It cannot cross the 180th meridian. It must be between -80 and +80 degrees of latitude.", + "$ref": "#/definitions/MultiPolygon" + } + } + }, + "RouteDirectionsResponse": { + "description": "This object is returned from a successful Route Directions call", + "type": "object", + "properties": { + "formatVersion": { + "description": "Format Version property", + "type": "string", + "readOnly": true + }, + "routes": { + "description": "Routes array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteDirectionsResult" + } + }, + "optimizedWaypoints": { + "description": "Optimized sequence of waypoints. It shows the index from the user provided waypoint sequence for the original and optimized list. For instance, a response: \n\n```\n\n\n\n\n\n```\n\nmeans that the original sequence is [0, 1, 2] and optimized sequence is [1, 2, 0]. Since the index starts by 0 the original is \"first, second, third\" while the optimized is \"second, third, first\".", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteOptimizedWaypoint" + } + }, + "report": { + "$ref": "#/definitions/RouteResponseReport" + } + } + }, + "RouteDirectionsResult": { + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/RouteDirectionsSummary" + }, + "legs": { + "description": "Legs array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteResultLeg" + } + }, + "sections": { + "description": "Sections array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteResultSection" + } + }, + "guidance": { + "$ref": "#/definitions/RouteResultGuidance" + } + } + }, + "RouteDirectionsSummary": { + "description": "Summary object", + "type": "object", + "readOnly": true, + "properties": { + "lengthInMeters": { + "description": "Length In Meters property", + "type": "integer", + "readOnly": true + }, + "travelTimeInSeconds": { + "description": "Estimated travel time in seconds property that includes the delay due to real-time traffic. Note that even when traffic=false travelTimeInSeconds still includes the delay due to traffic. If DepartAt is in the future, travel time is calculated using time-dependent historic traffic data.", + "type": "integer", + "readOnly": true + }, + "trafficDelayInSeconds": { + "description": "Estimated delay in seconds caused by the real-time incident(s) according to traffic information. For routes planned with departure time in the future, delays is always 0. To return additional travel times using different types of traffic information, parameter computeTravelTimeFor=all needs to be added.", + "type": "integer", + "readOnly": true + }, + "departureTime": { + "description": "Departure Time property", + "type": "string", + "readOnly": true + }, + "arrivalTime": { + "description": "Arrival Time property", + "type": "string", + "readOnly": true + } + } + }, + "RouteOptimizedWaypoint": { + "description": "Optimized way point object.", + "type": "object", + "properties": { + "providedIndex": { + "description": "Way point index provided by the user.", + "type": "integer", + "readOnly": true + }, + "optimizedIndex": { + "description": "Optimized way point index from the system.", + "type": "integer", + "readOnly": true + } + } + }, + "RouteResultLeg": { + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/RouteResultLegSummary" + }, + "points": { + "description": "Points array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Coordinate" + } + } + } + }, + "RouteResultLegSummary": { + "description": "Summary object for route section.", + "type": "object", + "readOnly": true, + "properties": { + "lengthInMeters": { + "description": "Length In Meters property", + "type": "integer", + "readOnly": true + }, + "travelTimeInSeconds": { + "description": "Estimated travel time in seconds property that includes the delay due to real-time traffic. Note that even when traffic=false travelTimeInSeconds still includes the delay due to traffic. If DepartAt is in the future, travel time is calculated using time-dependent historic traffic data.", + "type": "integer", + "readOnly": true + }, + "trafficDelayInSeconds": { + "description": "Estimated delay in seconds caused by the real-time incident(s) according to traffic information. For routes planned with departure time in the future, delays is always 0. To return additional travel times using different types of traffic information, parameter computeTravelTimeFor=all needs to be added.", + "type": "integer", + "readOnly": true + }, + "departureTime": { + "description": "Departure Time property", + "type": "string", + "readOnly": true + }, + "arrivalTime": { + "description": "Arrival Time property", + "type": "string", + "readOnly": true + }, + "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.", + "type": "integer", + "readOnly": true + }, + "historicTrafficTravelTimeInSeconds": { + "description": "Estimated travel time calculated using time-dependent historic traffic data. Included only if computeTravelTimeFor = all is used in the query.", + "type": "integer", + "readOnly": true + }, + "liveTrafficIncidentsTravelTimeInSeconds": { + "description": "Estimated travel time calculated using real-time speed data. Included only if computeTravelTimeFor = all is used in the query.", + "type": "integer", + "readOnly": true + }, + "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", + "readOnly": true + }, + "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", + "readOnly": true + } + } + }, + "RouteResultSection": { + "type": "object", + "properties": { + "startPointIndex": { + "description": "Start Point Index property", + "type": "integer", + "readOnly": true + }, + "endPointIndex": { + "description": "End Point Index property", + "type": "integer", + "readOnly": true + }, + "sectionType": { + "description": "Section Type property", + "type": "string", + "readOnly": true + }, + "travelMode": { + "description": "Travel Mode property", + "type": "string", + "readOnly": true + }, + "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 + }, + "effectiveSpeedInKmh": { + "description": "Effective speed of the incident in km/h, averaged over its entire length.", + "type": "integer", + "readOnly": true + }, + "delayInSeconds": { + "description": "Delay in seconds caused by the incident.", + "type": "integer", + "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": false, + "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." + } + ] + } + }, + "tec": { + "$ref": "#/definitions/RouteResultSectionTec" + } + } + }, + "RouteResultSectionTec": { + "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": { + "effectCode": { + "description": "The effect on the traffic flow. Contains a value in the tec001:EffectCode table, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can be used to color-code traffic events according to severity.", + "type": "integer", + "readOnly": true + }, + "causes": { + "description": "Causes array", + "type": "array", + "items": { + "$ref": "#/definitions/RouteResultSectionTecCause" + } + } + } + }, + "RouteResultSectionTecCause": { + "description": "The cause of the traffic event. Can contain mainCauseCode and subCauseCode elements. Can be used to define iconography and descriptions.", + "type": "object", + "properties": { + "mainCauseCode": { + "description": "The main cause of the traffic event. Contains a value in the tec002:CauseCode table, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard.", + "type": "integer", + "readOnly": true + }, + "subCauseCode": { + "description": "The subcause of the traffic event. Contains a value in the sub cause table defined by the mainCauseCode, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard.", + "type": "integer", + "readOnly": true + } + } + }, + "RouteResultInstruction": { + "description": "A set of attributes describing a maneuver, e.g. 'Turn right', 'Keep left', 'Take the ferry', 'Take the motorway', 'Arrive'.", + "type": "object", + "properties": { + "routeOffsetInMeters": { + "description": "Distance from the start of the route to the point of the instruction.", + "type": "integer", + "readOnly": true + }, + "travelTimeInSeconds": { + "description": "Estimated travel time up to the point corresponding to routeOffsetInMeters.", + "type": "integer", + "readOnly": true + }, + "point": { + "$ref": "#/definitions/Coordinate" + }, + "pointIndex": { + "description": "The index of the point in the list of polyline \"points\" corresponding to the point of the instruction.", + "type": "integer", + "readOnly": true + }, + "instructionType": { + "description": "Type of the instruction, e.g., turn or change of road form.", + "type": "string", + "enum": [ + "TURN", + "ROAD_CHANGE", + "LOCATION_DEPARTURE", + "LOCATION_ARRIVAL", + "DIRECTION_INFO", + "LOCATION_WAYPOINT" + ], + "x-ms-enum": { + "name": "GuidanceInstructionType", + "modelAsString": false, + "values": [ + { + "value": "TURN", + "description": "Turn." + }, + { + "value": "ROAD_CHANGE", + "description": "Road Change." + }, + { + "value": "LOCATION_DEPARTURE", + "description": "Departure location." + }, + { + "value": "LOCATION_ARRIVAL", + "description": "Arrival location." + }, + { + "value": "DIRECTION_INFO", + "description": "Direction information." + }, + { + "value": "LOCATION_WAYPOINT", + "description": "Way point location." + } + ] + } + }, + "roadNumbers": { + "description": "The road number(s) of the next significant road segment(s) after the maneuver, or of the road(s) to be followed. Example: [\"E34\", \"N205\"]", + "type": "array", + "items": { + "type": "string", + "readOnly": true + }, + "readOnly": true + }, + "exitNumber": { + "description": "The number(s) of a highway exit taken by the current maneuver. If an exit has multiple exit numbers, they will be separated by \",\" and possibly aggregated by \"-\", e.g., \"10, 13-15\".", + "type": "string", + "readOnly": true + }, + "street": { + "description": "Street name of the next significant road segment after the maneuver, or of the street that should be followed.", + "type": "string", + "readOnly": true + }, + "signpostText": { + "description": "The text on a signpost which is most relevant to the maneuver, or to the direction that should be followed.", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "3-character [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-3 country code. E.g. USA.", + "type": "string", + "readOnly": true + }, + "stateCode": { + "description": "A subdivision (e.g., state) of the country, represented by the second part of an [ISO 3166-2](https://www.iso.org/standard/63546.html) code. This is only available for some countries like the US, Canada, and Mexico.", + "type": "string", + "readOnly": true + }, + "junctionType": { + "description": "The type of the junction where the maneuver takes place. For larger roundabouts, two separate instructions are generated for entering and leaving the roundabout.", + "type": "string", + "readOnly": true, + "enum": [ + "REGULAR", + "ROUNDABOUT", + "BIFURCATION" + ], + "x-ms-enum": { + "name": "JunctionType", + "modelAsString": false, + "values": [ + { + "value": "REGULAR", + "description": "regular" + }, + { + "value": "ROUNDABOUT", + "description": "roundabout" + }, + { + "value": "BIFURCATION", + "description": "bifurcation" + } + ] + } + }, + "turnAngleInDecimalDegrees": { + "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 + }, + "roundaboutExitNumber": { + "description": "This indicates which exit to take at a roundabout.", + "type": "string", + "readOnly": true + }, + "possibleCombineWithNext": { + "description": "It is possible to optionally combine the instruction with the next one. This can be used to build messages like \"Turn left and then turn right\".", + "type": "boolean", + "readOnly": true + }, + "drivingSide": { + "description": "Indicates left-hand vs. right-hand side driving at the point of the maneuver.", + "type": "string", + "readOnly": true, + "enum": [ + "LEFT", + "RIGHT" + ], + "x-ms-enum": { + "name": "DrivingSide", + "modelAsString": false, + "values": [ + { + "value": "LEFT", + "description": "Left side." + }, + { + "value": "RIGHT", + "description": "Right side." + } + ] + } + }, + "maneuver": { + "description": "A code identifying the maneuver.", + "type": "string", + "readOnly": true, + "enum": [ + "ARRIVE", + "ARRIVE_LEFT", + "ARRIVE_RIGHT", + "DEPART", + "STRAIGHT", + "KEEP_RIGHT", + "BEAR_RIGHT", + "TURN_RIGHT", + "SHARP_RIGHT", + "KEEP_LEFT", + "BEAR_LEFT", + "TURN_LEFT", + "SHARP_LEFT", + "MAKE_UTURN", + "ENTER_MOTORWAY", + "ENTER_FREEWAY", + "ENTER_HIGHWAY", + "TAKE_EXIT", + "MOTORWAY_EXIT_LEFT", + "MOTORWAY_EXIT_RIGHT", + "TAKE_FERRY", + "ROUNDABOUT_CROSS", + "ROUNDABOUT_RIGHT", + "ROUNDABOUT_LEFT", + "ROUNDABOUT_BACK", + "TRY_MAKE_UTURN", + "FOLLOW", + "SWITCH_PARALLEL_ROAD", + "SWITCH_MAIN_ROAD", + "ENTRANCE_RAMP", + "WAYPOINT_LEFT", + "WAYPOINT_RIGHT", + "WAYPOINT_REACHED" + ], + "x-ms-enum": { + "name": "GuidanceManeuver", + "modelAsString": false, + "values": [ + { + "value": "ARRIVE", + "description": "You have arrived." + }, + { + "value": "ARRIVE_LEFT", + "description": "You have arrived. Your destination is on the left." + }, + { + "value": "ARRIVE_RIGHT", + "description": "You have arrived. Your destination is on the right." + }, + { + "value": "DEPART", + "description": "Leave." + }, + { + "value": "STRAIGHT", + "description": "Keep straight on." + }, + { + "value": "KEEP_RIGHT", + "description": "Keep right." + }, + { + "value": "BEAR_RIGHT", + "description": "Bear right." + }, + { + "value": "TURN_RIGHT", + "description": "Turn right." + }, + { + "value": "SHARP_RIGHT", + "description": "Turn sharp right." + }, + { + "value": "KEEP_LEFT", + "description": "Keep left." + }, + { + "value": "BEAR_LEFT", + "description": "Bear left." + }, + { + "value": "TURN_LEFT", + "description": "Turn left." + }, + { + "value": "SHARP_LEFT", + "description": "Turn sharp left." + }, + { + "value": "MAKE_UTURN", + "description": "Make a U-turn." + }, + { + "value": "ENTER_MOTORWAY", + "description": "Take the motorway." + }, + { + "value": "ENTER_FREEWAY", + "description": "Take the freeway." + }, + { + "value": "ENTER_HIGHWAY", + "description": "Take the highway." + }, + { + "value": "TAKE_EXIT", + "description": "Take the exit." + }, + { + "value": "MOTORWAY_EXIT_LEFT", + "description": "Take the left exit." + }, + { + "value": "MOTORWAY_EXIT_RIGHT", + "description": "Take the right exit." + }, + { + "value": "TAKE_FERRY", + "description": "Take the ferry." + }, + { + "value": "ROUNDABOUT_CROSS", + "description": "Cross the roundabout." + }, + { + "value": "ROUNDABOUT_RIGHT", + "description": "At the roundabout take the exit on the right." + }, + { + "value": "ROUNDABOUT_LEFT", + "description": "At the roundabout take the exit on the left." + }, + { + "value": "ROUNDABOUT_BACK", + "description": "Go around the roundabout." + }, + { + "value": "TRY_MAKE_UTURN", + "description": "Try to make a U-turn." + }, + { + "value": "FOLLOW", + "description": "Follow." + }, + { + "value": "SWITCH_PARALLEL_ROAD", + "description": "Switch to the parallel road." + }, + { + "value": "SWITCH_MAIN_ROAD", + "description": "Switch to the main road." + }, + { + "value": "ENTRANCE_RAMP", + "description": "Take the ramp." + }, + { + "value": "WAYPOINT_LEFT", + "description": "You have reached the waypoint. It is on the left." + }, + { + "value": "WAYPOINT_RIGHT", + "description": "You have reached the waypoint. It is on the right." + }, + { + "value": "WAYPOINT_REACHED", + "description": "You have reached the waypoint." + } + ] + } + }, + "message": { + "description": "A human-readable message for the maneuver.", + "type": "string", + "readOnly": true + }, + "combinedMessage": { + "description": "A human-readable message for the maneuver combined with the message from the next instruction. Sometimes it is possible to combine two successive instructions into a single instruction making it easier to follow. When this is the case the possibleCombineWithNext flag will be true. For example:\n\n```\n10. Turn left onto Einsteinweg/A10/E22 towards Ring Amsterdam\n11. Follow Einsteinweg/A10/E22 towards Ring Amsterdam\n```\n\nThe possibleCombineWithNext flag on instruction 10 is true. This indicates to the clients of coded guidance that it can be combined with instruction 11. The instructions will be combined automatically for clients requesting human-readable guidance. The combinedMessage field contains the combined message:\n\n```\nTurn left onto Einsteinweg/A10/E22 towards Ring Amsterdam\nthen follow Einsteinweg/A10/E22 towards Ring Amsterdam.\n```", + "type": "string", + "readOnly": true + } + } + }, + "RouteResultInstructionGroup": { + "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.", + "type": "integer", + "readOnly": true + }, + "lastInstructionIndex": { + "description": "Index of the last instruction.", + "type": "integer", + "readOnly": true + }, + "groupLengthInMeters": { + "description": "Length of the group.", + "type": "integer", + "readOnly": true + }, + "groupMessage": { + "description": "Summary message when human-readable text messages are requested for guidance (instructionType=text or tagged).", + "type": "string", + "readOnly": true + } + } + }, + "RouteResultGuidance": { + "description": "Contains guidance related elements. This field is present only when guidance was requested and is available.", + "type": "object", + "readOnly": true, + "properties": { + "instructions": { + "description": "A list of instructions describing maneuvers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteResultInstruction" + } + }, + "instructionGroups": { + "description": "Groups a sequence of instruction elements which are related to each other.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteResultInstructionGroup" + } + } + } + }, + "RouteRangeResponse": { + "description": "This object is returned from a successful Route Reachable Range call", + "type": "object", + "properties": { + "formatVersion": { + "description": "Format Version property", + "type": "string", + "readOnly": true + }, + "reachableRange": { + "$ref": "#/definitions/RouteRange" + }, + "report": { + "$ref": "#/definitions/RouteResponseReport" + } + } + }, + "RouteRange": { + "description": "Reachable Range", + "type": "object", + "properties": { + "center": { + "description": "Center point of the reachable range", + "$ref": "#/definitions/Coordinate" + }, + "boundary": { + "description": "Polygon boundary of the reachable range represented as a list of points.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Coordinate" + } + } + } + }, + "RouteResponseReport": { + "description": "Reports the effective settings used in the current call.", + "type": "object", + "properties": { + "effectiveSettings": { + "description": "Effective parameters or data used when calling this Route API.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteResponseReportEffectiveSetting" + } + } + } + }, + "RouteResponseReportEffectiveSetting": { + "description": "Effective parameter or data used when calling this Route API.", + "type": "object", + "properties": { + "key": { + "description": "Name of the parameter used.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Value of the parameter used.", + "type": "string", + "readOnly": true + } + } + }, + "RouteMatrixResponse": { + "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": { + "formatVersion": { + "description": "Format Version property", + "type": "string", + "readOnly": true + }, + "matrix": { + "description": "Results as a 2 dimensional array of route summaries.", + "type": "array", + "readOnly": true, + "items": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RouteMatrixResult" + } + } + }, + "summary": { + "$ref": "#/definitions/RouteMatrixSummary" + } + } + }, + "RouteMatrixSummary": { + "description": "Summary object", + "type": "object", + "readOnly": true, + "properties": { + "successfulRoutes": { + "description": "Number of successful routes in the response.", + "type": "integer", + "readOnly": true + }, + "totalRoutes": { + "description": "Total number of routes requested. Number of cells in the input matrix.", + "type": "integer", + "readOnly": true + } + } + }, + "RouteMatrixResult": { + "description": "Matrix result object", + "type": "object", + "readOnly": true, + "properties": { + "statusCode": { + "description": "StatusCode property for the current cell in the input matrix.", + "type": "integer", + "readOnly": true + }, + "response": { + "$ref": "#/definitions/RouteMatrixResultResponse" + } + } + }, + "RouteMatrixResultResponse": { + "description": "Response object of the current cell in the input matrix.", + "type": "object", + "readOnly": true, + "properties": { + "routeSummary": { + "$ref": "#/definitions/RouteResultLegSummary" + } + } + }, + "RouteMatrixRequestBody": { + "description": "An object with a matrix of coordinates.", + "type": "object", + "properties": { + "origins": { + "$ref": "#/definitions/MultiPoint" + }, + "destinations": { + "$ref": "#/definitions/MultiPoint" + } + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetPOICategoryTree.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetPOICategoryTree.json new file mode 100644 index 000000000000..1a1114c83bc7 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetPOICategoryTree.json @@ -0,0 +1,252 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "poiCategories": [ + { + "id": 7320, + "name": "Sports Center", + "childCategoryIds": [ + 7320002, + 7320003, + 7320005 + ], + "synonyms": [ + "Gym", + "Indoors Sports", + "Sports Centre" + ] + }, + { + "id": 7374, + "name": "Stadium", + "childCategoryIds": [ + 7374002, + 7374009, + 7374012, + 7374003, + 7374010, + 7374005, + 7374008, + 7374011, + 7374006, + 7374014, + 7374013, + 7374007, + 7374004 + ], + "synonyms": [ + "Arena", + "Gymnasium", + "Sports Ground", + "Sports Stadium" + ] + }, + { + "id": 7315, + "name": "Restaurant", + "childCategoryIds": [ + 7315081, + 7315002, + 7315082, + 7315003, + 7315083, + 7315084, + 7315085, + 7315062, + 7315086, + 7315004, + 7315146, + 7315005, + 7315087, + 7315006, + 7315007, + 7315088, + 7315089, + 7315072, + 7315008, + 7315142, + 7315090, + 7315091, + 7315147, + 7315009, + 7315092, + 7315010, + 7315011, + 7315070, + 7315093, + 7315012, + 7315094, + 7315095, + 7315063, + 7315013, + 7315096, + 7315097, + 7315068, + 7315098, + 7315099, + 7315057, + 7315079, + 7315014, + 7315100, + 7315101, + 7315132, + 7315102, + 7315133, + 7315015, + 7315016, + 7315104, + 7315134, + 7315017, + 7315071, + 7315018, + 7315019, + 7315020, + 7315054, + 7315069, + 7315021, + 7315058, + 7315052, + 7315022, + 7315078, + 7315023, + 7315024, + 7315073, + 7315105, + 7315065, + 7315106, + 7315025, + 7315066, + 7315026, + 7315027, + 7315028, + 7315067, + 7315029, + 7315030, + 7315107, + 7315135, + 7315108, + 7315031, + 7315109, + 7315032, + 7315033, + 7315034, + 7315110, + 7315074, + 7315136, + 7315111, + 7315112, + 7315075, + 7315035, + 7315127, + 7315061, + 7315036, + 7315037, + 7315129, + 7315038, + 7315130, + 7315039, + 7315041, + 7315131, + 7315040, + 7315143, + 7315042, + 7315113, + 7315114, + 7315115, + 7315043, + 7315053, + 7315055, + 7315056, + 7315116, + 7315117, + 7315080, + 7315139, + 7315064, + 7315140, + 7315044, + 7315045, + 7315118, + 7315046, + 7315148, + 7315119, + 7315047, + 7315120, + 7315059, + 7315145, + 7315076, + 7315121, + 7315048, + 7315122, + 7315123, + 7315049, + 7315124, + 7315050, + 7315125, + 7315051, + 7315126, + 7315060, + 7315149 + ], + "synonyms": [ + "Dining", + "Eatery", + "Eating House", + "Eating Place" + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchAddress.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddress.json new file mode 100644 index 000000000000..25f04a4c64ec --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddress.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "15127 NE 24th Street, Redmond, WA 98052", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "15127 NE 24th Street, Redmond, WA 98052", + "queryType": "NON_NEAR", + "queryTime": 58, + "numResults": 1, + "offset": 0, + "totalResults": 1, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "Point Address", + "id": "US/PAD/p0/19173426", + "score": 14.51, + "address": { + "streetNumber": "15127", + "streetName": "NE 24th St", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond, Adelaide, Ames Lake, Avondale, Earlmount", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980525544", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "15127 NE 24th St, Redmond, WA 980525544", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.6308, + "lon": -122.1385 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.6317, + "lon": -122.13983 + }, + "btmRightPoint": { + "lat": 47.6299, + "lon": -122.13717 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.6315, + "lon": -122.13852 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json new file mode 100644 index 000000000000..097316bfd647 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "37.337,-121.89", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "queryTime": 5, + "numResults": 1 + }, + "addresses": [ + { + "address": { + "buildingNumber": "31", + "streetNumber": "31", + "routeNumbers": [], + "street": "N 2nd St", + "streetName": "N 2nd St", + "streetNameAndNumber": "31 N 2nd St", + "countryCode": "US", + "countrySubdivision": "CA", + "countrySubdivisionName": "California", + "municipality": "San Jose", + "postalCode": "95113", + "country": "United States of America", + "countryCodeISO3": "USA", + "freeformAddress": "31 N 2nd St, San Jose CA 95113", + "extendedPostalCode": "951131217" + }, + "position": "37.337090,-121.889820" + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json new file mode 100644 index 000000000000..762140c8db64 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "37.337,-121.89", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "numResults": 1, + "queryTime": 41 + }, + "addresses": [ + { + "address": { + "streetName": "East Santa Clara Street & North 2nd Street", + "crossStreet": "East Santa Clara Street", + "municipalitySubdivision": "San Jose, Downtown San Jose", + "municipality": "San Jose", + "countrySecondarySubdivision": "Santa Clara", + "countryTertiarySubdivision": "San Jose", + "countrySubdivision": "CA", + "postalCode": "95113", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "East Santa Clara Street & North 2nd Street, San Jose, CA 95113", + "countrySubdivisionName": "California", + "street": "North 2nd Street" + }, + "position": "37.33666,-121.88951" + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchAddressStructured.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressStructured.json new file mode 100644 index 000000000000..666e45fb7327 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressStructured.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "countryCode": "US", + "streetName": "NE%2024th%20Street", + "streetNumber": "15127", + "municipality": "Redmond", + "countrySubdivision": "WA", + "postalCode": "98052", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "15127 98052 ne redmond wa", + "queryType": "NON_NEAR", + "queryTime": 57, + "numResults": 1, + "offset": 0, + "totalResults": 34, + "fuzzyLevel": 1, + "geoBias": { + "lat": 47.30129317913035, + "lon": -120.88247999999997 + } + }, + "results": [ + { + "type": "Point Address", + "id": "US/PAD/p0/37974392", + "score": 8.074, + "dist": 101274.64693865852, + "address": { + "streetNumber": "15127", + "streetName": "NE 24th St", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond, Earlmount, Avondale, Ames Lake, Adelaide", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980525544", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "15127 NE 24th St, Redmond, WA 98052", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.6308, + "lon": -122.1385 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.6317, + "lon": -122.13983 + }, + "btmRightPoint": { + "lat": 47.6299, + "lon": -122.13717 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.6315, + "lon": -122.13852 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchFuzzy.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchFuzzy.json new file mode 100644 index 000000000000..1fbb11c89ff5 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchFuzzy.json @@ -0,0 +1,703 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "seattle", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "seattle", + "queryType": "NON_NEAR", + "queryTime": 66, + "numResults": 10, + "offset": 0, + "totalResults": 3720, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "Geography", + "id": "US/GEO/p0/188055", + "score": 2.531, + "entityType": "Municipality", + "address": { + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "Seattle, WA", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.60323, + "lon": -122.33028 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.7344, + "lon": -122.4594 + }, + "btmRightPoint": { + "lat": 47.48106, + "lon": -122.22497 + } + }, + "dataSources": { + "geometry": { + "id": "00005557-4100-3c00-0000-0000596ae8ed" + } + } + }, + { + "type": "Geography", + "id": "US/GEO/p0/183911", + "score": 2.382, + "entityType": "Municipality", + "address": { + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countrySubdivision": "WA", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "Seattle, WA", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.55342, + "lon": -122.25007 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.58995, + "lon": -122.26723 + }, + "btmRightPoint": { + "lat": 47.5169, + "lon": -122.23291 + } + }, + "dataSources": { + "geometry": { + "id": "00005557-4100-3c00-0000-00006553f33d" + } + } + }, + { + "type": "POI", + "id": "ZA/POI/p0/449288", + "score": 2.226, + "info": "search:ta:710009004165863-ZA", + "poi": { + "name": "Seattle Coffee Co - Groote Kerk Sentrum", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetName": "Kloof Street", + "municipalitySubdivision": "Cape Town", + "municipality": "Cape Town", + "countrySecondarySubdivision": "City of Cape Town", + "countrySubdivision": "Western Cape", + "postalCode": "8001", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Kloof Street, Gardens, City of Cape Town, Western Cape, 8001", + "localName": "Gardens" + }, + "position": { + "lat": -33.92917, + "lon": 18.41178 + }, + "viewport": { + "topLeftPoint": { + "lat": -33.92827, + "lon": 18.4107 + }, + "btmRightPoint": { + "lat": -33.93007, + "lon": 18.41286 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -33.92907, + "lon": 18.41162 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/449396", + "score": 2.226, + "info": "search:ta:710009004163591-ZA", + "poi": { + "name": "Seattle Coffee Co - Pietermaritzburg", + "phone": "+(27)-(33)-3458486", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "9", + "streetName": "Armitage Road", + "municipalitySubdivision": "Pietermaritzburg City, Pietermaritzburg", + "municipality": "Pietermaritzburg", + "countrySecondarySubdivision": "The Msunduzi", + "countrySubdivision": "KwaZulu-Natal", + "postalCode": "3201", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Armitage Road 9, Athlone, The Msunduzi, KwaZulu-Natal, 3201", + "localName": "Athlone" + }, + "position": { + "lat": -29.58611, + "lon": 30.37508 + }, + "viewport": { + "topLeftPoint": { + "lat": -29.58521, + "lon": 30.37405 + }, + "btmRightPoint": { + "lat": -29.58701, + "lon": 30.37611 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -29.58668, + "lon": 30.37531 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/451868", + "score": 2.226, + "info": "search:ta:710009002195538-ZA", + "poi": { + "name": "Seattle Coffee Co - Bedford Village", + "phone": "+(27)-(84)-5451111", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetName": "Van Buuren Road", + "municipalitySubdivision": "Bedfordview", + "municipality": "Germiston", + "countrySecondarySubdivision": "Ekurhuleni", + "countrySubdivision": "Gauteng", + "postalCode": "2007", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Van Buuren Road, Bedfordview, Ekurhuleni, Gauteng, 2007", + "localName": "Bedfordview" + }, + "position": { + "lat": -26.18009, + "lon": 28.13544 + }, + "viewport": { + "topLeftPoint": { + "lat": -26.17919, + "lon": 28.13444 + }, + "btmRightPoint": { + "lat": -26.18099, + "lon": 28.13644 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -26.18006, + "lon": 28.13636 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/488888", + "score": 2.226, + "info": "search:ta:710009002102639-ZA", + "poi": { + "name": "Seattle Coffee Co - Caltex Starstop Milly's", + "phone": "+(27)-(13)-2560340", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "municipality": "Wonderfontein", + "countrySecondarySubdivision": "Emakhazeni", + "countrySubdivision": "Mpumalanga", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Wonderfontein, Emakhazeni, Mpumalanga" + }, + "position": { + "lat": -25.68842, + "lon": 30.21291 + }, + "viewport": { + "topLeftPoint": { + "lat": -25.68752, + "lon": 30.21191 + }, + "btmRightPoint": { + "lat": -25.68932, + "lon": 30.21391 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -25.68913, + "lon": 30.21343 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/489433", + "score": 2.226, + "info": "search:ta:710009002184068-ZA", + "poi": { + "name": "Seattle Coffee Co - Southcoast Mall", + "phone": "+(27)-(39)-3150816", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "municipalitySubdivision": "Shelly Beach", + "municipality": "Shelly Beach", + "countrySecondarySubdivision": "Hibiscus Coast", + "countrySubdivision": "KwaZulu-Natal", + "postalCode": "4265", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Shelly Beach, Hibiscus Coast, KwaZulu-Natal, 4265", + "localName": "Shelly Beach" + }, + "position": { + "lat": -30.79937, + "lon": 30.40569 + }, + "viewport": { + "topLeftPoint": { + "lat": -30.79847, + "lon": 30.40464 + }, + "btmRightPoint": { + "lat": -30.80027, + "lon": 30.40674 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -30.7994, + "lon": 30.40618 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/489976", + "score": 2.226, + "info": "search:ta:710009004261897-ZA", + "poi": { + "name": "Seattle Cofee Co", + "phone": "+(27)-(39)-3150816", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "municipalitySubdivision": "Shelly Beach", + "municipality": "Shelly Beach", + "countrySecondarySubdivision": "Hibiscus Coast", + "countrySubdivision": "KwaZulu-Natal", + "postalCode": "4265", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Shelly Beach, Hibiscus Coast, KwaZulu-Natal, 4265", + "localName": "Shelly Beach" + }, + "position": { + "lat": -30.79801, + "lon": 30.40557 + }, + "viewport": { + "topLeftPoint": { + "lat": -30.79711, + "lon": 30.40452 + }, + "btmRightPoint": { + "lat": -30.79891, + "lon": 30.40662 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -30.79784, + "lon": 30.40523 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/490056", + "score": 2.226, + "info": "search:ta:710009004149612-ZA", + "poi": { + "name": "Seattle Coffee Co - Constantia Village", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetName": "Constantia Main Road", + "municipalitySubdivision": "Cape Town", + "municipality": "Cape Town", + "countrySecondarySubdivision": "City of Cape Town", + "countrySubdivision": "Western Cape", + "postalCode": "7708", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Constantia Main Road, Constantia, City of Cape Town, Western Cape, 7708", + "localName": "Constantia" + }, + "position": { + "lat": -34.02087, + "lon": 18.44503 + }, + "viewport": { + "topLeftPoint": { + "lat": -34.01997, + "lon": 18.44394 + }, + "btmRightPoint": { + "lat": -34.02177, + "lon": 18.44612 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -34.02017, + "lon": 18.44476 + } + } + ] + }, + { + "type": "POI", + "id": "ZA/POI/p0/494340", + "score": 2.226, + "info": "search:ta:710009004152570-ZA", + "poi": { + "name": "Seattle Coffee Co - Canal Walk Shopping Centre", + "brands": [ + { + "name": "Seattle Coffee Company" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.seattlecoffeecompany.co.za", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetName": "Century Boulevard", + "municipalitySubdivision": "Milnerton", + "municipality": "Cape Town", + "countrySecondarySubdivision": "City of Cape Town", + "countrySubdivision": "Western Cape", + "postalCode": "7441", + "countryCode": "ZA", + "country": "South Africa", + "countryCodeISO3": "ZAF", + "freeformAddress": "Century Boulevard, Century City, City of Cape Town, Western Cape, 7441", + "localName": "Century City" + }, + "position": { + "lat": -33.89348, + "lon": 18.5122 + }, + "viewport": { + "topLeftPoint": { + "lat": -33.89258, + "lon": 18.51112 + }, + "btmRightPoint": { + "lat": -33.89438, + "lon": 18.51328 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": -33.8943, + "lon": 18.51328 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchNearby.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchNearby.json new file mode 100644 index 000000000000..ceae81b5d908 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchNearby.json @@ -0,0 +1,763 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "lat": 40.706270, + "lon": -74.011454, + "radius": 8046, + "limit": 10, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "summary": { + "queryType": "NEARBY", + "queryTime": 137, + "numResults": 10, + "offset": 0, + "totalResults": 256620, + "fuzzyLevel": 1, + "geoBias": { + "lat": 40.70627, + "lon": -74.011454 + } + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p1/7652731", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369002225435-US", + "poi": { + "name": "Ycd Multimedia", + "phone": "+(1)-(212)-5091049", + "categorySet": [ + { + "id": 9152 + } + ], + "classifications": [ + { + "code": "NON_GOVERNMENTAL_ORGANIZATION", + "names": [ + { + "nameLocale": "en-US", + "name": "non governmental organization" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/7652732", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369001882610-US", + "poi": { + "name": "Grubb & Ellis Management Services", + "phone": "+(1)-(212)-7851619", + "categorySet": [ + { + "id": 9352039 + } + ], + "classifications": [ + { + "code": "COMPANY", + "names": [ + { + "nameLocale": "en-US", + "name": "company" + }, + { + "nameLocale": "en-US", + "name": "services" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/7652735", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369001322824-US", + "poi": { + "name": "Hispanic Federation", + "phone": "+(1)-(212)-7420480", + "categorySet": [ + { + "id": 9910004 + } + ], + "url": "Hispanicfederation.org", + "classifications": [ + { + "code": "AUTOMOTIVE_DEALER", + "names": [ + { + "nameLocale": "en-US", + "name": "boat" + }, + { + "nameLocale": "en-US", + "name": "automotive dealer" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/7652736", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369000631230-US", + "poi": { + "name": "Edwin Gould Foundation", + "phone": "+(1)-(212)-9825200", + "categorySet": [ + { + "id": 9152 + } + ], + "url": "edwingouldfoundation.org", + "classifications": [ + { + "code": "NON_GOVERNMENTAL_ORGANIZATION", + "names": [ + { + "nameLocale": "en-US", + "name": "non governmental organization" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/7652737", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369001196585-US", + "poi": { + "name": "Newmark Grubb Knight Frank", + "phone": "+(1)-(646)-6951990", + "categorySet": [ + { + "id": 9361015 + } + ], + "url": "www.newmarkkf.com", + "classifications": [ + { + "code": "SHOP", + "names": [ + { + "nameLocale": "en-US", + "name": "shop" + }, + { + "nameLocale": "en-US", + "name": "real estate agents" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/7652738", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369002164164-US", + "poi": { + "name": "Sponsors For Educational Opportunity", + "phone": "+(1)-(212)-7851361", + "categorySet": [ + { + "id": 9152 + } + ], + "url": "www.seo-usa.org", + "classifications": [ + { + "code": "NON_GOVERNMENTAL_ORGANIZATION", + "names": [ + { + "nameLocale": "en-US", + "name": "non governmental organization" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/7373205", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840361001736646-US", + "poi": { + "name": "Visiting Nurse Service", + "phone": "+(1)-(212)-7428259", + "categorySet": [ + { + "id": 9663 + } + ], + "url": "www.vnsny.org", + "classifications": [ + { + "code": "HEALTH_CARE_SERVICE", + "names": [ + { + "nameLocale": "en-US", + "name": "health care service" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/7373206", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840361001326915-US", + "poi": { + "name": "Hispanic In Philanthropy", + "phone": "+(1)-(646)-2777101", + "categorySet": [ + { + "id": 9152 + } + ], + "url": "www.hiponline.org", + "classifications": [ + { + "code": "NON_GOVERNMENTAL_ORGANIZATION", + "names": [ + { + "nameLocale": "en-US", + "name": "non governmental organization" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/7373207", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369002316633-US", + "poi": { + "name": "Advantage Technical Resourcing", + "phone": "+(1)-(212)-2691140", + "categorySet": [ + { + "id": 9352039 + } + ], + "classifications": [ + { + "code": "COMPANY", + "names": [ + { + "nameLocale": "en-US", + "name": "company" + }, + { + "nameLocale": "en-US", + "name": "services" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/7373208", + "score": 1, + "dist": 14.736843483489132, + "info": "search:ta:840369002031974-US", + "poi": { + "name": "Workshop In Bus Opportunities", + "phone": "+(1)-(212)-6840854", + "categorySet": [ + { + "id": 9352039 + } + ], + "url": "www.wibo.org", + "classifications": [ + { + "code": "COMPANY", + "names": [ + { + "nameLocale": "en-US", + "name": "company" + }, + { + "nameLocale": "en-US", + "name": "services" + } + ] + } + ] + }, + "address": { + "streetNumber": "55", + "streetName": "Exchange Pl", + "municipalitySubdivision": "New York City, NYC, New York, Financial District", + "municipality": "Wall Street, New York City, NYC, NY City, NY, Manhattan, Bowling Green, New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "extendedPostalCode": "100042320", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "55 Exchange Pl, New York, NY 10004", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.7064, + "lon": -74.01142 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.7073, + "lon": -74.01261 + }, + "btmRightPoint": { + "lat": 40.7055, + "lon": -74.01023 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.70636, + "lon": -74.01145 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchPOI.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPOI.json new file mode 100644 index 000000000000..308853a33a68 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPOI.json @@ -0,0 +1,457 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "juice bars", + "subscription-key": "[subscription-key]", + "limit": 5, + "lat": 47.606038, + "lon": -122.333345, + "radius": 8046 + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "juice bars", + "queryType": "NON_NEAR", + "queryTime": 36, + "numResults": 5, + "offset": 0, + "totalResults": 12, + "fuzzyLevel": 1, + "geoBias": { + "lat": 47.606038, + "lon": -122.333345 + } + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/9223158", + "score": 5.664, + "dist": 667.2710170950347, + "info": "search:ta:840539001755244-US", + "poi": { + "name": "Pressed Juicery", + "phone": "+(1)-(206)-6240804", + "brands": [ + { + "name": "Pressed Juicery" + } + ], + "categorySet": [ + { + "id": 7315149 + } + ], + "url": "www.pressedjuicery.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "yogurt/juice bar" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "400", + "streetName": "Pine St", + "municipalitySubdivision": "Seattle, Central Business District", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98101", + "extendedPostalCode": "981011628", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "400 Pine St, Seattle, WA 98101", + "localName": "Seattle", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61138, + "lon": -122.3374 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61228, + "lon": -122.33873 + }, + "btmRightPoint": { + "lat": 47.61048, + "lon": -122.33607 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.61134, + "lon": -122.33737 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/9222534", + "score": 5.663, + "dist": 1101.6849025777728, + "info": "search:ta:840539001760125-US", + "poi": { + "name": "Pressed Juicery", + "phone": "+(1)-(206)-4533785", + "brands": [ + { + "name": "Pressed Juicery" + } + ], + "categorySet": [ + { + "id": 7315149 + } + ], + "url": "www.pressedjuicery.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "yogurt/juice bar" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "315", + "streetName": "E Pine St", + "municipalitySubdivision": "Seattle, Broadway", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98122", + "extendedPostalCode": "9812200", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "315 E Pine St, Seattle, WA 98122", + "localName": "Seattle", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61518, + "lon": -122.32768 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61608, + "lon": -122.32901 + }, + "btmRightPoint": { + "lat": 47.61428, + "lon": -122.32635 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.61523, + "lon": -122.32768 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/9133689", + "score": 5.659, + "dist": 2649.8700791555398, + "info": "search:ta:840539001339220-US", + "poi": { + "name": "Pressed Juicery", + "phone": "+(1)-(206)-2820651", + "brands": [ + { + "name": "Pressed Juicery" + } + ], + "categorySet": [ + { + "id": 7315149 + } + ], + "url": "www.pressedjuicery.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "yogurt/juice bar" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "604", + "streetName": "1st Ave N", + "municipalitySubdivision": "Seattle, Lower Queen Anne", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98109", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "604 1st Ave N, Seattle, WA 98109", + "localName": "Seattle", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.6247, + "lon": -122.35533 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.6256, + "lon": -122.35666 + }, + "btmRightPoint": { + "lat": 47.6238, + "lon": -122.354 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.6247, + "lon": -122.3554 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/9131285", + "score": 5.646, + "dist": 5097.757019046541, + "info": "search:ta:840539001743255-US", + "poi": { + "name": "Custom Smoothie & Sports Nutrition", + "phone": "+(1)-(206)-5475522", + "categorySet": [ + { + "id": 7315149 + } + ], + "url": "www.customsmoothie.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "yogurt/juice bar" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "462", + "streetName": "N 34th St", + "municipalitySubdivision": "Seattle, Fremont", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98103", + "extendedPostalCode": "981038600", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "462 N 34th St, Seattle, WA 98103", + "localName": "Seattle", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.65016, + "lon": -122.35182 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.65106, + "lon": -122.35315 + }, + "btmRightPoint": { + "lat": 47.64926, + "lon": -122.35049 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.64991, + "lon": -122.3519 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/9228250", + "score": 5.637, + "dist": 6235.798481758295, + "info": "search:ta:840531000416784-US", + "poi": { + "name": "Jamba Juice", + "phone": "+(1)-(206)-6322060", + "brands": [ + { + "name": "Jamba Juice" + } + ], + "categorySet": [ + { + "id": 7315149 + } + ], + "url": "www.jambajuice.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "yogurt/juice bar" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "4555", + "streetName": "Stone Way N", + "municipalitySubdivision": "Wallingford, Seattle", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98103", + "extendedPostalCode": "981036600", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "4555 Stone Way N, Seattle, WA 98103", + "localName": "Seattle", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.66179, + "lon": -122.34233 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.66269, + "lon": -122.34367 + }, + "btmRightPoint": { + "lat": 47.66089, + "lon": -122.34099 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.66188, + "lon": -122.34211 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchPOICategory.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPOICategory.json new file mode 100644 index 000000000000..a54650c2539c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPOICategory.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "atm", + "subscription-key": "[subscription-key]", + "limit": 3, + "lat": 40.758953, + "lon": -73.985263, + "radius": 3200 + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "atm", + "queryType": "NON_NEAR", + "queryTime": 28, + "numResults": 3, + "offset": 0, + "totalResults": 3696, + "fuzzyLevel": 1, + "geoBias": { + "lat": 40.758953, + "lon": -73.985263 + } + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/7014613", + "score": 2.575, + "dist": 10.743802093311858, + "info": "search:ta:840369001846523-US", + "poi": { + "name": "FISERV MASTERMONEY", + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "1560", + "streetName": "Broadway", + "municipalitySubdivision": "Times Square, New York, Midtown", + "municipality": "New York, Manhattan", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10036", + "extendedPostalCode": "100361517", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1560 Broadway, New York, NY 10036", + "localName": "New York", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.75901, + "lon": -73.98516 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.75991, + "lon": -73.98635 + }, + "btmRightPoint": { + "lat": 40.75811, + "lon": -73.98397 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.75902, + "lon": -73.98522 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/6830011", + "score": 2.575, + "dist": 58.68107354501256, + "info": "search:ta:840369011803697-US", + "poi": { + "name": "METABANK", + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "1567", + "streetName": "Broadway", + "municipalitySubdivision": "Times Square, New York, Midtown", + "municipality": "New York, Manhattan", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10036", + "extendedPostalCode": "100361517", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1567 Broadway, New York, NY 10036", + "localName": "New York", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.75937, + "lon": -73.98569 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.76027, + "lon": -73.98688 + }, + "btmRightPoint": { + "lat": 40.75847, + "lon": -73.9845 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.75924, + "lon": -73.98513 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/6830013", + "score": 2.575, + "dist": 55.009653221373966, + "info": "search:ta:840369010525390-US", + "poi": { + "name": "ATM", + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "1552", + "streetName": "Broadway", + "municipalitySubdivision": "Times Square, New York, Midtown", + "municipality": "New York, Manhattan", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10036", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1552 Broadway, New York, NY 10036", + "localName": "New York", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.75873, + "lon": -73.98468 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.75963, + "lon": -73.98587 + }, + "btmRightPoint": { + "lat": 40.75783, + "lon": -73.98349 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.7588, + "lon": -73.98492 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/GetSearchPolygon.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPolygon.json new file mode 100644 index 000000000000..46186f7c933a --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchPolygon.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "geometries": "[geometry-ids]", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "additionalData": [ + { + "providerID": "1111-2222-32-4444444444444", + "geometryData": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.0665062, + 47.6496252 + ], + [ + -122.0664863, + 47.6496113 + ], + [ + -122.0664843, + 47.6496014 + ], + [ + -122.0663693, + 47.6495247 + ], + [ + -122.0663017, + 47.6494664 + ], + [ + -122.0662679, + 47.6494247 + ], + [ + -122.0661647, + 47.6493314 + ], + [ + -122.067177, + 47.649298 + ], + [ + -122.090715, + 47.6543598 + ], + [ + -122.0907846, + 47.6542921 + ], + [ + -122.0908284, + 47.6542603 + ] + ] + ] + }, + "id": "1111-2222-32-4444444444444" + } + ] + } + } + ] + } + }, + "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/Search/preview/1.0/examples/PostSearchAddressBatch.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressBatch.json new file mode 100644 index 000000000000..6db886460bff --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressBatch.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "searchAddressBatchRequestBody": { + "batchItems": [ + { + "query": "?query=400 Broad St, Seattle, WA 98109&limit=3" + }, + { + "query": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3" + }, + { + "query": "?query=350 5th Ave, New York, NY 10118&limit=1" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "summary": { + "successfulRequests": 3, + "totalRequests": 3 + }, + "batchItems": [ + { + "statusCode": 200, + "response": { + "summary": { + "query": "400 broad st seattle wa 98109", + "queryType": "NON_NEAR", + "queryTime": 127, + "numResults": 3, + "offset": 0, + "totalResults": 9, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "Point Address", + "id": "US/PAD/p0/20843845", + "score": 11.966, + "address": { + "streetNumber": "400", + "streetName": "Broad Street", + "municipalitySubdivision": "Seattle, South Lake Union, Lower Queen Anne", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98109", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "400 Broad Street, Seattle, WA 98109", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62039, + "lon": -122.34928 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62129, + "lon": -122.35061 + }, + "btmRightPoint": { + "lat": 47.61949, + "lon": -122.34795 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.61982, + "lon": -122.34886 + } + } + ] + }, + { + "type": "Street", + "id": "US/STR/p0/388442", + "score": 10.225, + "address": { + "streetName": "Broad Street", + "municipalitySubdivision": "Seattle, South Lake Union", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98109", + "extendedPostalCode": "981094612", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "Broad Street, Seattle, WA 98109", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62001, + "lon": -122.34843 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61965, + "lon": -122.34761 + }, + "btmRightPoint": { + "lat": 47.62066, + "lon": -122.349 + } + } + }, + { + "type": "Street", + "id": "US/STR/p0/388680", + "score": 10.225, + "address": { + "streetName": "Broad Street", + "municipalitySubdivision": "Seattle, Belltown", + "municipality": "Seattle", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "countrySubdivision": "WA", + "postalCode": "98109,98121", + "extendedPostalCode": "981094991,981211117,981211237,981213206", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "Broad Street, Seattle, WA", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61691, + "lon": -122.35251 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61502, + "lon": -122.35041 + }, + "btmRightPoint": { + "lat": 47.61857, + "lon": -122.35484 + } + } + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "query": "one microsoft way redmond wa 98052", + "queryType": "NON_NEAR", + "queryTime": 169, + "numResults": 2, + "offset": 0, + "totalResults": 3292, + "fuzzyLevel": 2 + }, + "results": [ + { + "type": "Street", + "id": "US/STR/p0/1692663", + "score": 10.225, + "address": { + "streetName": "Microsoft Way", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980526399,980528300", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "Microsoft Way, Redmond, WA 98052", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63989, + "lon": -122.12509 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63748, + "lon": -122.12309 + }, + "btmRightPoint": { + "lat": 47.64223, + "lon": -122.13061 + } + } + }, + { + "type": "Cross Street", + "id": "US/XSTR/p1/4779971", + "score": 8.506, + "address": { + "streetName": "Microsoft Way & 157th Avenue Northeast, Microsoft Way", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "Microsoft Way & 157th Avenue Northeast, Redmond, WA 98052", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63962, + "lon": -122.13061 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.64052, + "lon": -122.13194 + }, + "btmRightPoint": { + "lat": 47.63872, + "lon": -122.12928 + } + } + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "query": "350 5th ave new york ny 10118", + "queryType": "NON_NEAR", + "queryTime": 233, + "numResults": 1, + "offset": 0, + "totalResults": 8032, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "Point Address", + "id": "US/PAD/p0/48052000", + "score": 14.334, + "address": { + "streetNumber": "350", + "streetName": "5th Avenue", + "municipalitySubdivision": "New York, Midtown South", + "municipality": "New York, Manhattan", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10118", + "extendedPostalCode": "1011800", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "350 5th Avenue, NYC, NY 10118", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.74817, + "lon": -73.985 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.74907, + "lon": -73.98619 + }, + "btmRightPoint": { + "lat": 40.74727, + "lon": -73.98381 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.74808, + "lon": -73.98482 + } + } + ] + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "URL to download the results of the long-running batch request." + } + }, + "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/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json new file mode 100644 index 000000000000..91a8a6bcd46b --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "searchAddressReverseBatchRequestBody": { + "batchItems": [ + { + "query": "?query=48.858561,2.294911" + }, + { + "query": "?query=47.639765,-122.127896&radius=5000&limit=2" + }, + { + "query": "?query=47.621028,-122.348170" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "summary": { + "successfulRequests": 3, + "totalRequests": 3 + }, + "batchItems": [ + { + "statusCode": 200, + "response": { + "summary": { + "queryTime": 8, + "numResults": 1 + }, + "addresses": [ + { + "address": { + "buildingNumber": "7", + "streetNumber": "7", + "routeNumbers": [], + "street": "Avenue Anatole France", + "streetName": "Avenue Anatole France", + "streetNameAndNumber": "7 Avenue Anatole France", + "countryCode": "FR", + "countrySubdivision": "Île-de-France", + "countrySecondarySubdivision": "Paris", + "municipality": "Paris", + "postalCode": "75007", + "municipalitySubdivision": "7ème Arrondissement", + "country": "France", + "countryCodeISO3": "FRA", + "freeformAddress": "7 Avenue Anatole France, Paris, 75007", + "boundingBox": { + "northEast": "48.858321,2.295167", + "southWest": "48.858136,2.295027", + "entity": "position" + } + }, + "position": "48.858231,2.295089" + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "queryTime": 8, + "numResults": 1 + }, + "addresses": [ + { + "address": { + "routeNumbers": [], + "countryCode": "US", + "countrySubdivision": "WA", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "municipality": "Redmond", + "postalCode": "98052", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "Redmond, WA 98052", + "boundingBox": { + "northEast": "47.639765,-122.128661", + "southWest": "47.639502,-122.129456", + "entity": "position" + }, + "countrySubdivisionName": "Washington" + }, + "position": "47.639687,-122.128677" + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "queryTime": 19, + "numResults": 1 + }, + "addresses": [ + { + "address": { + "buildingNumber": "410", + "streetNumber": "410", + "routeNumbers": [], + "street": "Thomas Street", + "streetName": "Thomas Street", + "streetNameAndNumber": "410 Thomas Street", + "countryCode": "US", + "countrySubdivision": "WA", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle", + "municipality": "Seattle", + "postalCode": "98109", + "municipalitySubdivision": "Seattle, Lower Queen Anne", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "410 Thomas Street, Seattle, WA 98109", + "boundingBox": { + "northEast": "47.620954,-122.347601", + "southWest": "47.620944,-122.348498", + "entity": "position" + }, + "extendedPostalCode": "981094621", + "countrySubdivisionName": "Washington" + }, + "position": "47.620945,-122.348175" + } + ] + } + } + ] + } + }, + "202": { + "headers": { + "Location": "URL to download the results of the long-running batch request." + } + }, + "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/Search/preview/1.0/examples/PostSearchAlongRoute.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAlongRoute.json new file mode 100644 index 000000000000..dd9fdb3a7301 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAlongRoute.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "burger", + "maxDetourTime": 1000, + "limit": 2, + "subscription-key": "[subscription-key]", + "searchAlongRouteRequestBody": { + "route": { + "type": "LineString", + "coordinates": [ + [ + -122.143035, + 47.653536 + ], + [ + -122.187164, + 47.617556 + ], + [ + -122.114981, + 47.570599 + ], + [ + -122.132756, + 47.654009 + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "burger", + "queryType": "NON_NEAR", + "queryTime": 394, + "numResults": 2, + "offset": 0, + "totalResults": 2, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/8596348", + "score": 3.104, + "dist": 1754.9604168059973, + "info": "search:ta:840531000465150-US", + "poi": { + "name": "BURGER KING", + "phone": "+(1)-(425)-7467508", + "brands": [ + { + "name": "BURGER KING" + } + ], + "categorySet": [ + { + "id": 7315015 + } + ], + "url": "www.burgerking.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "restaurant" + }, + { + "nameLocale": "en-US", + "name": "fast food" + } + ] + } + ] + }, + "address": { + "streetNumber": "14620", + "streetName": "NE 24th St", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "14620 NE 24th St, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63188, + "lon": -122.14462 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63278, + "lon": -122.14595 + }, + "btmRightPoint": { + "lat": 47.63098, + "lon": -122.14329 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.63155, + "lon": -122.14462 + } + } + ], + "detourTime": -55 + }, + { + "type": "POI", + "id": "US/POI/p0/8596112", + "score": 3.111, + "dist": 161.17565489389224, + "info": "search:ta:840531000465149-US", + "poi": { + "name": "BURGER KING", + "phone": "+(1)-(425)-4535775", + "brands": [ + { + "name": "BURGER KING" + } + ], + "categorySet": [ + { + "id": 7315015 + } + ], + "url": "www.burgerking.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "restaurant" + }, + { + "nameLocale": "en-US", + "name": "fast food" + } + ] + } + ] + }, + "address": { + "streetNumber": "11723", + "streetName": "NE 8th St", + "municipalitySubdivision": "Willburton, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98005", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "11723 NE 8th St, Bellevue, WA 98005", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61683, + "lon": -122.18338 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61773, + "lon": -122.18471 + }, + "btmRightPoint": { + "lat": 47.61593, + "lon": -122.18205 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.61723, + "lon": -122.1834 + } + } + ], + "detourTime": 12 + } + ] + } + }, + "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/Search/preview/1.0/examples/PostSearchFuzzyBatch.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchFuzzyBatch.json new file mode 100644 index 000000000000..c9aa1bd64ebe --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchFuzzyBatch.json @@ -0,0 +1,1454 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "searchFuzzyBatchRequestBody": { + "batchItems": [ + { + "query": "?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5" + }, + { + "query": "?query=Statue Of Liberty&limit=2" + }, + { + "query": "?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "batchItems": [ + { + "statusCode": 200, + "response": { + "summary": { + "query": "atm", + "queryType": "NON_NEAR", + "queryTime": 5, + "numResults": 5, + "offset": 0, + "totalResults": 262, + "fuzzyLevel": 1, + "geoBias": { + "lat": 47.639769, + "lon": -122.128362 + } + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/3656546", + "score": 2.671, + "dist": 1336.1815386162032, + "info": "search:ta:840539002005905-US", + "poi": { + "name": "US Bank ATM-MONEYPASS", + "brands": [ + { + "name": "US Bank ATM" + } + ], + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "14808", + "streetName": "NE 24th St", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "14808 NE 24th St, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63229, + "lon": -122.14232 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63319, + "lon": -122.14365 + }, + "btmRightPoint": { + "lat": 47.63139, + "lon": -122.14099 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.63154, + "lon": -122.1423 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/8673325", + "score": 2.671, + "dist": 1206.8488178244172, + "info": "search:ta:840539002022072-US", + "poi": { + "name": "US Bank ATM NATIONAL ASSOCIATION", + "brands": [ + { + "name": "US Bank ATM" + } + ], + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "15000", + "streetName": "Northeast 24Th Street", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980525522", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "15000 Northeast 24Th Street, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63265, + "lon": -122.14052 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63355, + "lon": -122.14185 + }, + "btmRightPoint": { + "lat": 47.63175, + "lon": -122.13919 + } + }, + "entryPoints": [ + { + "type": "minor", + "position": { + "lat": 47.63156, + "lon": -122.14056 + } + }, + { + "type": "minor", + "position": { + "lat": 47.63156, + "lon": -122.14058 + } + }, + { + "type": "main", + "position": { + "lat": 47.63156, + "lon": -122.14048 + } + }, + { + "type": "main", + "position": { + "lat": 47.6324, + "lon": -122.13938 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/2736315", + "score": 2.671, + "dist": 864.75917765198585, + "info": "search:ta:840539002187855-US", + "poi": { + "name": "US Bank ATM-MONEYPASS", + "brands": [ + { + "name": "US Bank ATM" + } + ], + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "15521", + "streetName": "Bel Red Rd", + "municipalitySubdivision": "Redmond, Northeast Bellevue, Bellevue", + "municipality": "Redmond, Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980525501", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "15521 Bel Red Rd, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63259, + "lon": -122.1328 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63349, + "lon": -122.13413 + }, + "btmRightPoint": { + "lat": 47.63169, + "lon": -122.13147 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.63255, + "lon": -122.13275 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/3656412", + "score": 2.67, + "dist": 2140.1985385809412, + "info": "search:ta:840539001998867-US", + "poi": { + "name": "US Bank ATM NATIONAL ASSOCIATION", + "brands": [ + { + "name": "US Bank ATM" + } + ], + "categorySet": [ + { + "id": 7397 + } + ], + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "1128", + "streetName": "156th Ave NE", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1128 156th Ave NE, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62069, + "lon": -122.13213 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62159, + "lon": -122.13346 + }, + "btmRightPoint": { + "lat": 47.61979, + "lon": -122.1308 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62069, + "lon": -122.13236 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/2736876", + "score": 2.67, + "dist": 2140.1985385809412, + "info": "search:ta:840539001396789-US", + "poi": { + "name": "US Bank ATM", + "phone": "+(1)-(800)-8722657", + "brands": [ + { + "name": "US Bank ATM" + } + ], + "categorySet": [ + { + "id": 7397 + } + ], + "url": "www.usbank.com", + "classifications": [ + { + "code": "CASH_DISPENSER", + "names": [ + { + "nameLocale": "en-US", + "name": "cash dispenser" + } + ] + } + ] + }, + "address": { + "streetNumber": "1128", + "streetName": "156th Ave NE", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1128 156th Ave NE, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62069, + "lon": -122.13213 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62159, + "lon": -122.13346 + }, + "btmRightPoint": { + "lat": 47.61979, + "lon": -122.1308 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62069, + "lon": -122.13236 + } + } + ] + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "query": "statue of liberty", + "queryType": "NON_NEAR", + "queryTime": 37, + "numResults": 2, + "offset": 0, + "totalResults": 18, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/9189660", + "score": 6.942, + "info": "search:ta:840369001174316-US", + "poi": { + "name": "Statue of Liberty", + "categorySet": [ + { + "id": 7376003 + } + ], + "classifications": [ + { + "code": "IMPORTANT_TOURIST_ATTRACTION", + "names": [ + { + "nameLocale": "en-US", + "name": "monument" + }, + { + "nameLocale": "en-US", + "name": "important tourist attraction" + } + ] + } + ] + }, + "address": { + "municipalitySubdivision": "New York", + "municipality": "New York", + "countrySecondarySubdivision": "New York", + "countryTertiarySubdivision": "Manhattan", + "countrySubdivision": "NY", + "postalCode": "10004", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "New York, NY 10004", + "localName": "New York", + "countrySubdivisionName": "New York" + }, + "position": { + "lat": 40.68955, + "lon": -74.04483 + }, + "viewport": { + "topLeftPoint": { + "lat": 40.69045, + "lon": -74.04602 + }, + "btmRightPoint": { + "lat": 40.68865, + "lon": -74.04364 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 40.69001, + "lon": -74.04683 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/3264566", + "score": 6.942, + "info": "search:ta:840019000670588-US", + "poi": { + "name": "Statue of Liberty", + "phone": "+(1)-(205)-9700251", + "categorySet": [ + { + "id": 7376003 + } + ], + "url": "www.1bsa.org", + "classifications": [ + { + "code": "IMPORTANT_TOURIST_ATTRACTION", + "names": [ + { + "nameLocale": "en-US", + "name": "important tourist attraction" + } + ] + } + ] + }, + "address": { + "streetNumber": "516", + "streetName": "Liberty Pkwy", + "municipalitySubdivision": "Vestavia Hills", + "municipality": "Vestavia Hills, Birmingham", + "countrySecondarySubdivision": "Jefferson", + "countryTertiarySubdivision": "Leeds", + "countrySubdivision": "AL", + "postalCode": "35242", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "516 Liberty Pkwy, Vestavia Hills, AL 35242", + "localName": "Vestavia Hills", + "countrySubdivisionName": "Alabama" + }, + "position": { + "lat": 33.48234, + "lon": -86.70719 + }, + "viewport": { + "topLeftPoint": { + "lat": 33.48324, + "lon": -86.70827 + }, + "btmRightPoint": { + "lat": 33.48144, + "lon": -86.70611 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 33.48129, + "lon": -86.7065 + } + } + ] + } + ] + } + }, + { + "statusCode": 200, + "response": { + "summary": { + "query": "starbucks", + "queryType": "NON_NEAR", + "queryTime": 35, + "numResults": 10, + "offset": 0, + "totalResults": 17, + "fuzzyLevel": 1, + "geoBias": { + "lat": 47.639769, + "lon": -122.128362 + } + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/153678", + "score": 2.671, + "dist": 1206.8488178244172, + "info": "search:ta:840531000006554-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8695816", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "15000", + "streetName": "NE 24th St", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980525522", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "15000 NE 24th St, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63265, + "lon": -122.14052 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63355, + "lon": -122.14185 + }, + "btmRightPoint": { + "lat": 47.63175, + "lon": -122.13919 + } + }, + "entryPoints": [ + { + "type": "minor", + "position": { + "lat": 47.63156, + "lon": -122.14056 + } + }, + { + "type": "minor", + "position": { + "lat": 47.63156, + "lon": -122.14058 + } + }, + { + "type": "main", + "position": { + "lat": 47.63156, + "lon": -122.14048 + } + }, + { + "type": "main", + "position": { + "lat": 47.6324, + "lon": -122.13938 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/152316", + "score": 2.67, + "dist": 2315.294397491255, + "info": "search:ta:840539000484552-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-6436471", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/store/15097", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "15600", + "streetName": "NE 8th St", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98008", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "15600 NE 8th St, Bellevue, WA 98008", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61896, + "lon": -122.12945 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61986, + "lon": -122.13078 + }, + "btmRightPoint": { + "lat": 47.61806, + "lon": -122.12812 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.619, + "lon": -122.12945 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/167545", + "score": 2.67, + "dist": 1979.2222952267998, + "info": "search:ta:840539001950429-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-7470690", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "1350", + "streetName": "156th Ave NE", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1350 156th Ave NE, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62212, + "lon": -122.13179 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62302, + "lon": -122.13312 + }, + "btmRightPoint": { + "lat": 47.62122, + "lon": -122.13046 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62213, + "lon": -122.13236 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/168519", + "score": 2.67, + "dist": 2490.3337046455963, + "info": "search:ta:840539001015090-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-4556500", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "https://www.starbucks.com/store-locator/store/15901", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "1645", + "streetName": "140th Ave NE", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98005", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "1645 140th Ave NE, Bellevue, WA 98005", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62626, + "lon": -122.15487 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62716, + "lon": -122.1562 + }, + "btmRightPoint": { + "lat": 47.62536, + "lon": -122.15354 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62645, + "lon": -122.15446 + } + }, + { + "type": "minor", + "position": { + "lat": 47.62579, + "lon": -122.15377 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/152428", + "score": 2.668, + "dist": 3529.7080738812224, + "info": "search:ta:840539001033722-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-3789496", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "180", + "streetName": "148th Ave SE", + "municipalitySubdivision": "West Lake Hills, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "180 148th Ave SE, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.60901, + "lon": -122.14 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.60991, + "lon": -122.14133 + }, + "btmRightPoint": { + "lat": 47.60811, + "lon": -122.13867 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.60901, + "lon": -122.14008 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/167147", + "score": 2.668, + "dist": 3479.393294615887, + "info": "search:ta:840539000326896-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8619198", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "7425", + "streetName": "166th Ave NE", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980526288", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "7425 166th Ave NE, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.67055, + "lon": -122.12001 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.67145, + "lon": -122.12135 + }, + "btmRightPoint": { + "lat": 47.66965, + "lon": -122.11867 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.67069, + "lon": -122.11889 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/153695", + "score": 2.667, + "dist": 3622.4410746187291, + "info": "search:ta:840531000006551-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8822881", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/store/15022", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "7625", + "streetName": "170th Ave NE", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980520910", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "7625 170th Ave NE, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.67086, + "lon": -122.11392 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.67176, + "lon": -122.11526 + }, + "btmRightPoint": { + "lat": 47.66996, + "lon": -122.11258 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.67073, + "lon": -122.1135 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/167420", + "score": 2.667, + "dist": 3818.293513029088, + "info": "search:ta:840539000640782-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8853323", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "17246", + "streetName": "Redmond Way", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980524403", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "17246 Redmond Way, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.67174, + "lon": -122.10976 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.67264, + "lon": -122.1111 + }, + "btmRightPoint": { + "lat": 47.67084, + "lon": -122.10842 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.6706, + "lon": -122.11026 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/153686", + "score": 2.666, + "dist": 4009.9222051470738, + "info": "search:ta:840531000006548-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8859590", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "15738", + "streetName": "Redmond Way Pad 3 Redmond Center", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "980523873", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "15738 Redmond Way Pad 3 Redmond Center, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.67583, + "lon": -122.12877 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.67673, + "lon": -122.13011 + }, + "btmRightPoint": { + "lat": 47.67493, + "lon": -122.12743 + } + }, + "entryPoints": [ + { + "type": "minor", + "position": { + "lat": 47.67456, + "lon": -122.12887 + } + }, + { + "type": "main", + "position": { + "lat": 47.67668, + "lon": -122.12829 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/168511", + "score": 2.666, + "dist": 3987.80992387863, + "info": "search:ta:840531000006669-US", + "poi": { + "name": "Starbucks", + "phone": "+(1)-(425)-8818265", + "brands": [ + { + "name": "Starbucks" + } + ], + "categorySet": [ + { + "id": 9376006 + } + ], + "url": "www.starbucks.com/site-selector", + "classifications": [ + { + "code": "CAFE_PUB", + "names": [ + { + "nameLocale": "en-US", + "name": "coffee shop" + }, + { + "nameLocale": "en-US", + "name": "café/pub" + } + ] + } + ] + }, + "address": { + "streetNumber": "6617", + "streetName": "132Nd Ave Ne Bridle Trails Shopping Center", + "municipalitySubdivision": "Kirkland, Bridle Trails", + "municipality": "Kirkland", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98033", + "extendedPostalCode": "980338234", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "6617 132Nd Ave Ne Bridle Trails Shopping Center, Kirkland, WA 98033", + "localName": "Kirkland", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.66514, + "lon": -122.16599 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.66604, + "lon": -122.16733 + }, + "btmRightPoint": { + "lat": 47.66424, + "lon": -122.16465 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.666, + "lon": -122.16669 + } + }, + { + "type": "minor", + "position": { + "lat": 47.66553, + "lon": -122.16405 + } + } + ] + } + ] + } + } + ], + "summary": { + "successfulRequests": 3, + "totalRequests": 3 + } + } + }, + "202": { + "headers": { + "Location": "URL to download the results of the long-running batch request." + } + }, + "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/Search/preview/1.0/examples/PostSearchInsideFeatureCollection.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideFeatureCollection.json new file mode 100644 index 000000000000..16beafcf6e8b --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideFeatureCollection.json @@ -0,0 +1,261 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "pizza", + "limit": 2, + "subscription-key": "[subscription-key]", + "searchInsideGeometryRequestBody": { + "geometry": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.143035, + 47.653536 + ], + [ + -122.187164, + 47.617556 + ], + [ + -122.114981, + 47.570599 + ], + [ + -122.132756, + 47.654009 + ], + [ + -122.143035, + 47.653536 + ] + ] + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -122.126986, + 47.639754 + ] + }, + "properties": { + "subType": "Circle", + "radius": 100 + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "pizza", + "queryType": "NON_NEAR", + "queryTime": 45, + "numResults": 2, + "offset": 0, + "totalResults": 18, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p1/199865", + "score": 4, + "info": "search:decarta:ta:840539000519519-US", + "poi": { + "name": "Tutta Bella", + "phone": "+(1)-(425)-5027402", + "categorySet": [ + { + "id": 7315036 + } + ], + "url": "TuttaBella.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "restaurant" + }, + { + "nameLocale": "en-US", + "name": "pizza" + } + ] + } + ] + }, + "address": { + "streetNumber": "15600", + "streetName": "NE 8th St", + "municipalitySubdivision": "Bellevue, Crossroads", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98008", + "extendedPostalCode": "980084084", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "15600 NE 8th St, Bellevue, WA 98008", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.61705, + "lon": -122.13228 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.61795, + "lon": -122.13361 + }, + "btmRightPoint": { + "lat": 47.61615, + "lon": -122.13095 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.61701, + "lon": -122.13228 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p1/205464", + "score": 4, + "info": "search:decarta:ta:840539000714286-US", + "poi": { + "name": "Q & S Food Co LLC", + "phone": "+(1)-(425)-7464764", + "categorySet": [ + { + "id": 7315036 + } + ], + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "restaurant" + }, + { + "nameLocale": "en-US", + "name": "pizza" + } + ] + } + ] + }, + "address": { + "streetNumber": "511", + "streetName": "141st Ave SE", + "municipalitySubdivision": "Bellevue, West Lake Hills", + "municipality": "Bellevue, Eastgate", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States Of America", + "countryCodeISO3": "USA", + "freeformAddress": "511 141st Ave SE, Bellevue, WA 98007", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.6051, + "lon": -122.15226 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.606, + "lon": -122.15359 + }, + "btmRightPoint": { + "lat": 47.6042, + "lon": -122.15093 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.6051, + "lon": -122.15219 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/PostSearchInsideGeometry.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideGeometry.json new file mode 100644 index 000000000000..91505d07f5db --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideGeometry.json @@ -0,0 +1,247 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "burger", + "limit": 2, + "subscription-key": "[subscription-key]", + "searchInsideGeometryRequestBody": { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.43576049804686, + 37.7524152343544 + ], + [ + -122.43301391601562, + 37.70660472542312 + ], + [ + -122.36434936523438, + 37.712059855877314 + ], + [ + -122.43576049804686, + 37.7524152343544 + ] + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "pizza", + "queryType": "NON_NEAR", + "queryTime": 9, + "numResults": 2, + "offset": 0, + "totalResults": 18, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/8596331", + "score": 2.226, + "info": "search:ta:840539000722333-US", + "poi": { + "name": "Mod Pizza", + "phone": "+(1)-(425)-2149903", + "brands": [ + { + "name": "Mod Pizza" + } + ], + "categorySet": [ + { + "id": 7315036 + } + ], + "url": "https://modpizza.com/locations/bellevue-overlake", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "pizza" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "14309", + "streetName": "NE 20th St", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "14309 NE 20th St, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62779, + "lon": -122.14971 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62869, + "lon": -122.15104 + }, + "btmRightPoint": { + "lat": 47.62689, + "lon": -122.14838 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62789, + "lon": -122.14977 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/8596385", + "score": 2.226, + "info": "search:ta:840539000366535-US", + "poi": { + "name": "Pizza Hut", + "phone": "+(1)-(425)-8619900", + "brands": [ + { + "name": "Pizza Hut" + } + ], + "categorySet": [ + { + "id": 7315036 + } + ], + "url": "www.pizzahut.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "pizza" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "2560", + "streetName": "152nd Ave NE", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "9805207", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "2560 152nd Ave NE, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63255, + "lon": -122.137 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63345, + "lon": -122.13833 + }, + "btmRightPoint": { + "lat": 47.63165, + "lon": -122.13567 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.63255, + "lon": -122.1377 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/examples/PostSearchInsideGeometryCollection.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideGeometryCollection.json new file mode 100644 index 000000000000..d7b8f93a7da9 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchInsideGeometryCollection.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "pizza", + "limit": 2, + "subscription-key": "[subscription-key]", + "searchInsideGeometryRequestBody": { + "geometry": { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.43576049804686, + 37.7524152343544 + ], + [ + -122.43301391601563, + 37.706604725423119 + ], + [ + -122.36434936523438, + 37.712059855877314 + ], + [ + -122.43576049804686, + 37.7524152343544 + ] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [ + -123.43576049804686, + 37.7524152343544 + ], + [ + -123.43301391601563, + 37.706604725423119 + ], + [ + -123.36434936523438, + 37.712059855877314 + ], + [ + -123.43576049804686, + 37.7524152343544 + ] + ] + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "summary": { + "query": "pizza", + "queryType": "NON_NEAR", + "queryTime": 9, + "numResults": 2, + "offset": 0, + "totalResults": 18, + "fuzzyLevel": 1 + }, + "results": [ + { + "type": "POI", + "id": "US/POI/p0/8596331", + "score": 2.226, + "info": "search:ta:840539000722333-US", + "poi": { + "name": "Mod Pizza", + "phone": "+(1)-(425)-2149903", + "brands": [ + { + "name": "Mod Pizza" + } + ], + "categorySet": [ + { + "id": 7315036 + } + ], + "url": "https://modpizza.com/locations/bellevue-overlake", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "pizza" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "14309", + "streetName": "NE 20th St", + "municipalitySubdivision": "Crossroads, Bellevue", + "municipality": "Bellevue", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98007", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "14309 NE 20th St, Bellevue, WA 98007", + "localName": "Bellevue", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.62779, + "lon": -122.14971 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.62869, + "lon": -122.15104 + }, + "btmRightPoint": { + "lat": 47.62689, + "lon": -122.14838 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.62789, + "lon": -122.14977 + } + } + ] + }, + { + "type": "POI", + "id": "US/POI/p0/8596385", + "score": 2.226, + "info": "search:ta:840539000366535-US", + "poi": { + "name": "Pizza Hut", + "phone": "+(1)-(425)-8619900", + "brands": [ + { + "name": "Pizza Hut" + } + ], + "categorySet": [ + { + "id": 7315036 + } + ], + "url": "www.pizzahut.com", + "classifications": [ + { + "code": "RESTAURANT", + "names": [ + { + "nameLocale": "en-US", + "name": "pizza" + }, + { + "nameLocale": "en-US", + "name": "restaurant" + } + ] + } + ] + }, + "address": { + "streetNumber": "2560", + "streetName": "152nd Ave NE", + "municipalitySubdivision": "Redmond", + "municipality": "Redmond", + "countrySecondarySubdivision": "King", + "countryTertiarySubdivision": "Seattle East", + "countrySubdivision": "WA", + "postalCode": "98052", + "extendedPostalCode": "9805207", + "countryCode": "US", + "country": "United States", + "countryCodeISO3": "USA", + "freeformAddress": "2560 152nd Ave NE, Redmond, WA 98052", + "localName": "Redmond", + "countrySubdivisionName": "Washington" + }, + "position": { + "lat": 47.63255, + "lon": -122.137 + }, + "viewport": { + "topLeftPoint": { + "lat": 47.63345, + "lon": -122.13833 + }, + "btmRightPoint": { + "lat": 47.63165, + "lon": -122.13567 + } + }, + "entryPoints": [ + { + "type": "main", + "position": { + "lat": 47.63255, + "lon": -122.1377 + } + } + ] + } + ] + } + }, + "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/Search/preview/1.0/search.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json new file mode 100644 index 000000000000..8546751c3d02 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json @@ -0,0 +1,3580 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Search Service", + "version": "1.0", + "description": "Azure Maps Search REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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" + } + }, + "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": { + "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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TextFormat": { + "name": "format", + "description": "Desired format of the response. Value can be either _json_ or _xml_.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "json", + "xml" + ], + "x-ms-enum": { + "name": "TextFormat", + "modelAsString": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + }, + { + "value": "xml", + "description": "[The Extensible Markup Language](https://www.w3.org/TR/xml/)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "LimitSearch": { + "name": "limit", + "in": "query", + "description": "Maximum number of responses that will be returned. Default: 10, minimum: 1 and maximum: 100", + "required": false, + "type": "integer", + "default": 10, + "minimum": 1, + "maximum": 100, + "x-ms-parameter-location": "method" + }, + "Offset": { + "name": "ofs", + "in": "query", + "description": "Starting offset of the returned results within the full result set. Default: 0, minimum: 0 and maximum: 1900", + "required": false, + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 1900, + "x-ms-parameter-location": "method" + }, + "OptionalBiasLat": { + "name": "lat", + "in": "query", + "description": "Latitude where results should be biased. E.g. 37.337", + "required": false, + "type": "number", + "x-ms-parameter-location": "method" + }, + "OptionalBiasLon": { + "name": "lon", + "in": "query", + "description": "Longitude where results should be biased. E.g. -121.89", + "required": false, + "type": "number", + "x-ms-parameter-location": "method" + }, + "BoundingBoxTopLeft": { + "x-client-name": "BoundingBoxTopLeft", + "name": "topLeft", + "in": "query", + "description": "Top left position of the bounding box. E.g. 37.553,-122.453", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BoundingBoxBottomRight": { + "x-client-name": "BoundingBoxBottomRight", + "name": "btmRight", + "in": "query", + "description": "Bottom right position of the bounding box. E.g. 37.553,-122.453", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RequiredBiasLat": { + "name": "lat", + "in": "query", + "description": "Latitude where results should be biased. E.g. 37.337.", + "required": true, + "type": "number", + "x-ms-parameter-location": "method" + }, + "RequiredBiasLon": { + "name": "lon", + "in": "query", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Query": { + "name": "query", + "in": "query", + "description": "The applicable query string. Must be properly URL encoded.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "query", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SearchIndexSet": { + "name": "idxSet", + "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)", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "Addr", + "Geo", + "PAD", + "POI", + "Str", + "Xstr" + ], + "x-ms-enum": { + "name": "SearchIndexSet", + "modelAsString": false, + "values": [ + { + "value": "Addr", + "description": "Address range interpolation" + }, + { + "value": "Geo", + "description": "Geographies" + }, + { + "value": "PAD", + "description": "Point Addresses" + }, + { + "value": "POI", + "description": "Points of interest" + }, + { + "value": "Str", + "description": "Streets" + }, + { + "value": "Xstr", + "description": "Cross Streets (Intersections)" + } + ] + } + }, + "collectionFormat": "csv", + "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.", + "required": false, + "type": "string", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Typeahead": { + "name": "typeahead", + "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", + "required": false, + "type": "boolean", + "default": false, + "x-ms-parameter-location": "method" + }, + "CategorySet": { + "name": "categorySet", + "in": "query", + "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) ", + "required": false, + "type": "array", + "items": { + "type": "integer" + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "CountrySet": { + "name": "countrySet", + "in": "query", + "description": "Comma separated string of country codes, e.g. FR,ES. This will limit the search to the specified countries", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "Radius": { + "name": "radius", + "in": "query", + "description": "The radius in meters to for the results to be constrained to the defined area", + "required": false, + "type": "number", + "x-ms-parameter-location": "method" + }, + "PoiQuery": { + "name": "query", + "in": "query", + "description": "The POI name to search for (e.g., \"statue of liberty\", \"starbucks\", \"pizza\"). Must be properly URL encoded.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BrandSet": { + "name": "brandSet", + "in": "query", + "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", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "ConnectorSet": { + "name": "connectorSet", + "in": "query", + "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", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "StandardHouseholdCountrySpecific", + "IEC62196Type1", + "IEC62196Type1CCS", + "IEC62196Type2CableAttached", + "IEC62196Type2Outlet", + "IEC62196Type2CCS", + "IEC62196Type3", + "Chademo", + "IEC60309AC1PhaseBlue", + "IEC60309DCWhite", + "Tesla" + ], + "x-ms-enum": { + "name": "ConnectorSet", + "modelAsString": false, + "values": [ + { + "value": "StandardHouseholdCountrySpecific", + "description": "These are the standard household connectors for a certain region. They are all AC single phase and the standard Voltage and standard Amperage.\n\nSee also: [Plug & socket types - World Standards](https://www.worldstandards.eu/electricity/plugs-and-sockets)" + }, + { + "value": "IEC62196Type1", + "description": "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." + }, + { + "value": "IEC62196Type1CCS", + "description": "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." + }, + { + "value": "IEC62196Type2CableAttached", + "description": "Type 2 connector as defined in the IEC 62196-2 standard. Provided as a cable and plug attached to the charging point" + }, + { + "value": "IEC62196Type2Outlet", + "description": "Type 2 connector as defined in the IEC 62196-2 standard. Provided as a socket set into the charging point." + }, + { + "value": "IEC62196Type2CCS", + "description": "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." + }, + { + "value": "IEC62196Type3", + "description": "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." + }, + { + "value": "Chademo", + "description": "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." + }, + { + "value": "IEC60309AC1PhaseBlue", + "description": "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." + }, + { + "value": "IEC60309DCWhite", + "description": "Industrial White connector is a DC connector defined in the IEC 60309 standard." + }, + { + "value": "Tesla", + "description": "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." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-parameter-location": "method" + }, + "OpeningHours": { + "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", + "type": "string", + "in": "query", + "required": false, + "enum": [ + "nextSevenDays" + ], + "x-ms-enum": { + "name": "OpeningHours", + "modelAsString": false, + "values": [ + { + "value": "nextSevenDays", + "description": "Shows the hours of operation for the next week, starting with the current day in the local time of the POI." + } + ] + }, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/search/polygon/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchPolygon", + "x-ms-examples": { + "Get the Geometry using the geometry id returned by the previous Search": { + "$ref": "./examples/GetSearchPolygon.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "geometries", + "in": "query", + "description": "Comma separated list of geometry UUIDs, previously retrieved from an Online Search request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchPolygonResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/search/fuzzy/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchFuzzy", + "x-ms-examples": { + "Search City Seattle": { + "$ref": "./examples/GetSearchFuzzy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "query", + "in": "query", + "description": "The applicable query string (e.g., \"seattle\", \"pizza\"). Can _also_ be specified as a comma separated string composed by latitude followed by longitude (e.g., \"47.641268, -122.125679\"). Must be properly URL encoded.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/Typeahead" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/CountrySet" + }, + { + "$ref": "#/parameters/OptionalBiasLat" + }, + { + "$ref": "#/parameters/OptionalBiasLon" + }, + { + "$ref": "#/parameters/Radius" + }, + { + "$ref": "#/parameters/BoundingBoxTopLeft" + }, + { + "$ref": "#/parameters/BoundingBoxBottomRight" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "name": "minFuzzyLevel", + "in": "query", + "description": "Minimum fuzziness level to be used. Default: 1, minimum: 1 and maximum: 4\n\n* Level 1 has no spell checking.\n\n* Level 2 uses normal n-gram spell checking. For example, query \"restrant\" can be matched to \"restaurant.\"\n\n* Level 3 uses sound-like spell checking, and shingle spell checking. Sound-like spell checking is for \"rstrnt\" to \"restaurant\" matching. Shingle spell checking is for \"mountainview\" to \"mountain view\" matching.\n\n* Level 4 doesn’t add any more spell checking functions.\n\n\n\nThe search engine will start looking for a match on the level defined by minFuzzyLevel, and will stop searching at the level specified by maxFuzzyLevel.", + "required": false, + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 4 + }, + { + "name": "maxFuzzyLevel", + "in": "query", + "description": "Maximum fuzziness level to be used. Default: 2, minimum: 1 and maximum: 4\n\n* Level 1 has no spell checking.\n\n* Level 2 uses normal n-gram spell checking. For example, query \"restrant\" can be matched to \"restaurant.\"\n\n* Level 3 uses sound-like spell checking, and shingle spell checking. Sound-like spell checking is for \"rstrnt\" to \"restaurant\" matching. Shingle spell checking is for \"mountainview\" to \"mountain view\" matching.\n\n* Level 4 doesn’t add any more spell checking functions.\n\n\n\nThe search engine will start looking for a match on the level defined by minFuzzyLevel, and will stop searching at the level specified by maxFuzzyLevel.", + "required": false, + "type": "integer", + "default": 2, + "minimum": 1, + "maximum": 4 + }, + { + "$ref": "#/parameters/SearchIndexSet" + }, + { + "$ref": "#/parameters/BrandSet" + }, + { + "$ref": "#/parameters/ConnectorSet" + }, + { + "$ref": "#/parameters/View" + }, + { + "$ref": "#/parameters/OpeningHours" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchFuzzyResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/poi/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchPOI", + "x-ms-examples": { + "Search for juice bars within 5 miles of Seattle Downtown and limit the response to 5 results": { + "$ref": "./examples/GetSearchPOI.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "query", + "in": "query", + "description": "The POI name to search for (e.g., \"statue of liberty\", \"starbucks\"), must be properly URL encoded.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/Typeahead" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/CountrySet" + }, + { + "$ref": "#/parameters/OptionalBiasLat" + }, + { + "$ref": "#/parameters/OptionalBiasLon" + }, + { + "$ref": "#/parameters/Radius" + }, + { + "$ref": "#/parameters/BoundingBoxTopLeft" + }, + { + "$ref": "#/parameters/BoundingBoxBottomRight" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesForPoi" + }, + { + "$ref": "#/parameters/BrandSet" + }, + { + "$ref": "#/parameters/ConnectorSet" + }, + { + "$ref": "#/parameters/View" + }, + { + "$ref": "#/parameters/OpeningHours" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchPoiResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/nearby/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchNearby", + "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" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/RequiredBiasLat" + }, + { + "$ref": "#/parameters/RequiredBiasLon" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/CountrySet" + }, + { + "name": "radius", + "in": "query", + "description": "The radius in meters to for the results to be constrained to the defined area, Min value is 1, Max Value is 50000.", + "required": false, + "type": "number" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "$ref": "#/parameters/BrandSet" + }, + { + "$ref": "#/parameters/ConnectorSet" + }, + { + "$ref": "#/parameters/View" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchNearbyResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/poi/category/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchPOICategory", + "x-ms-examples": { + "Search for atm's within 2 miles of Times Square NY and return the top 3 results": { + "$ref": "./examples/GetSearchPOICategory.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "query", + "in": "query", + "description": "The POI category to search for (e.g., \"AIRPORT\", \"RESTAURANT\"), must be properly URL encoded. Supported main categories can be requested by calling [Get Search POI Category Tree API](https://aka.ms/AzureMapsPOICategoryTree). List of available categories can also be found [here](https://docs.microsoft.com/azure/azure-maps/supported-search-categories). We recommend to use POI Search Category Tree API to request the supported categories.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/Typeahead" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/CountrySet" + }, + { + "$ref": "#/parameters/OptionalBiasLat" + }, + { + "$ref": "#/parameters/OptionalBiasLon" + }, + { + "$ref": "#/parameters/Radius" + }, + { + "$ref": "#/parameters/BoundingBoxTopLeft" + }, + { + "$ref": "#/parameters/BoundingBoxBottomRight" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "$ref": "#/parameters/BrandSet" + }, + { + "$ref": "#/parameters/ConnectorSet" + }, + { + "$ref": "#/parameters/View" + }, + { + "$ref": "#/parameters/OpeningHours" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchPoiCategoryResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/poi/category/tree/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchPOICategoryTreePreview", + "x-ms-examples": { + "Get the POI Category Tree (only partial response shown below)": { + "$ref": "./examples/GetPOICategoryTree.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "language", + "in": "query", + "description": "Language in which search results should be returned. Should be one of supported IETF language tags, except NGT and NGT-Latn. Language tag is case insensitive. When data in specified language is not available for a specific field, default language is used (English).\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PoiCategoryResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/address/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchAddress", + "x-ms-examples": { + "Search detail address 15127 NE 24th Street, Redmond, WA 98052": { + "$ref": "./examples/GetSearchAddress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "query", + "in": "query", + "description": "The address to search for (e.g., \"1 Microsoft way, Redmond, WA\"), must be properly URL encoded.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/Typeahead" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "$ref": "#/parameters/CountrySet" + }, + { + "$ref": "#/parameters/OptionalBiasLat" + }, + { + "$ref": "#/parameters/OptionalBiasLon" + }, + { + "$ref": "#/parameters/Radius" + }, + { + "$ref": "#/parameters/BoundingBoxTopLeft" + }, + { + "$ref": "#/parameters/BoundingBoxBottomRight" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "$ref": "#/parameters/View" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchAddressResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/address/reverse/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchAddressReverse", + "x-ms-examples": { + "GetSearchAddressReverse": { + "$ref": "./examples/GetSearchAddressReverse.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Language" + }, + { + "name": "returnSpeedLimit", + "in": "query", + "description": "Boolean. To enable return of the posted speed limit", + "required": false, + "type": "boolean", + "default": false + }, + { + "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", + "required": false, + "type": "number", + "minimum": -360, + "maximum": 360 + }, + { + "$ref": "#/parameters/Radius" + }, + { + "name": "number", + "in": "query", + "description": "If a number is sent in along with the request, the response may include the side of the street (Left/Right) and also an offset position for that number", + "required": false, + "type": "string" + }, + { + "name": "returnRoadUse", + "in": "query", + "description": "Boolean. To enable return of the road use array for reverse geocodes at street level", + "required": false, + "type": "boolean", + "default": false + }, + { + "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", + "required": false, + "type": "string" + }, + { + "name": "allowFreeformNewline", + "in": "query", + "description": "Format of newlines in the formatted address.\n\nIf true, the address will contain newlines.\nIf false, newlines will be converted to commas.", + "required": false, + "type": "boolean" + }, + { + "name": "returnMatchType", + "in": "query", + "description": "Include information on the type of match the geocoder achieved in the response.", + "required": false, + "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", + "required": false, + "type": "string", + "enum": [ + "Country", + "CountrySubdivision", + "CountrySecondarySubdivision", + "CountryTertiarySubdivision", + "Municipality", + "MunicipalitySubdivision", + "Neighbourhood", + "PostalCodeArea" + ], + "x-ms-enum": { + "name": "EntityType", + "modelAsString": false, + "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" + } + ] + }, + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/View" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchAddressReverseResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/address/reverse/crossStreet/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchAddressReverseCrossStreet", + "x-ms-examples": { + "GetSearchAddressReverseCrossStreet": { + "$ref": "./examples/GetSearchAddressReverseCrossStreet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "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", + "required": false, + "type": "number", + "minimum": -360, + "maximum": 360 + }, + { + "$ref": "#/parameters/Radius" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/View" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchAddressReverseCrossStreetResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/address/structured/{format}": { + "get": { + "x-publish": true, + "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": "Search_GetSearchAddressStructured", + "x-ms-examples": { + "GetSearchAddressStructured": { + "$ref": "./examples/GetSearchAddressStructured.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/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" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Offset" + }, + { + "name": "streetNumber", + "in": "query", + "description": "The street number portion of an address", + "required": false, + "type": "string" + }, + { + "name": "streetName", + "in": "query", + "description": "The street name portion of an address", + "required": false, + "type": "string" + }, + { + "name": "crossStreet", + "in": "query", + "description": "The cross street name for the structured address", + "required": false, + "type": "string" + }, + { + "name": "municipality", + "in": "query", + "description": "The municipality portion of an address", + "required": false, + "type": "string" + }, + { + "name": "municipalitySubdivision", + "in": "query", + "description": "The municipality subdivision (sub/super city) for the structured address", + "required": false, + "type": "string" + }, + { + "name": "countryTertiarySubdivision", + "in": "query", + "description": "The named area for the structured address", + "required": false, + "type": "string" + }, + { + "name": "countrySecondarySubdivision", + "in": "query", + "description": "The county for the structured address", + "required": false, + "type": "string" + }, + { + "name": "countrySubdivision", + "in": "query", + "description": "The country subdivision portion of an address", + "required": false, + "type": "string" + }, + { + "name": "postalCode", + "in": "query", + "description": "The postal code portion of an address", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "$ref": "#/parameters/View" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchAddressStructuredResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/geometry/{format}": { + "post": { + "x-publish": true, + "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": "Search_PostSearchInsideGeometry", + "x-ms-examples": { + "Search for pizza places inside a geometry represented as a GeoJSON FeatureCollection type": { + "$ref": "./examples/PostSearchInsideFeatureCollection.json" + }, + "Search for burger joints inside a geometry represented as a GeoJSON GeometryCollection type": { + "$ref": "./examples/PostSearchInsideGeometryCollection.json" + }, + "Search for subs joints inside a geometry represented as a GeoJSON Polygon type": { + "$ref": "./examples/PostSearchInsideGeometry.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/PoiQuery" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "$ref": "#/parameters/LimitSearch" + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/ExtendedPostalCodesFor" + }, + { + "$ref": "#/parameters/SearchIndexSet" + }, + { + "name": "searchInsideGeometryRequestBody", + "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": "#/parameters/View" + }, + { + "$ref": "#/parameters/OpeningHours" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchGeometryResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/alongRoute/{format}": { + "post": { + "x-publish": true, + "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": "Search_PostSearchAlongRoute", + "x-ms-examples": { + "Search for burger joints along a route": { + "$ref": "./examples/PostSearchAlongRoute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/CategorySet" + }, + { + "$ref": "#/parameters/PoiQuery" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "maxDetourTime", + "description": "Maximum detour time of the point of interest in seconds. Max value is 3600 seconds", + "required": true, + "type": "integer", + "in": "query", + "maximum": 3600 + }, + { + "name": "limit", + "description": "Maximum number of responses that will be returned. Default value is 10. Max value is 20", + "required": false, + "type": "integer", + "in": "query", + "default": 10, + "maximum": 20 + }, + { + "$ref": "#/parameters/BrandSet" + }, + { + "$ref": "#/parameters/ConnectorSet" + }, + { + "$ref": "#/parameters/View" + }, + { + "$ref": "#/parameters/OpeningHours" + }, + { + "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" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SearchAlongRouteResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/search/fuzzy/batch/{format}": { + "post": { + "x-publish": true, + "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/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/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 - [`SearchFuzzyResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchfuzzyresponse) - 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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "A Search Fuzzy Batch API call containing 5 Search Fuzzy API queries": { + "$ref": "./examples/PostSearchFuzzyBatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "searchFuzzyBatchRequestBody", + "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": "#/definitions/BatchRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BatchResponse" + } + }, + "202": { + "$ref": "#/responses/202Async" + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/search/address/batch/{format}": { + "post": { + "x-publish": true, + "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/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/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/en-us/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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "An Address Geocoding Batch API call containing 5 Address Geocoding API queries": { + "$ref": "./examples/PostSearchAddressBatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "searchAddressBatchRequestBody", + "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": "#/definitions/BatchRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BatchResponse" + } + }, + "202": { + "$ref": "#/responses/202Async" + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/search/address/reverse/batch/{format}": { + "post": { + "x-publish": true, + "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/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/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": "Search_PostSearchAddressReverseBatch", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "A Reverse Geocoding Batch API call containing 5 Reverse Geocoding API queries": { + "$ref": "./examples/PostSearchAddressReverseBatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "searchAddressReverseBatchRequestBody", + "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": "#/definitions/BatchRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BatchResponse" + } + }, + "202": { + "$ref": "#/responses/202Async" + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + } + }, + "definitions": { + "ODataErrorResponse": { + "type": "object", + "description": "This response object is returned when an error occurs in the Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "BatchResponse": { + "description": "This object is returned from a successful Batch service call", + "type": "object", + "properties": { + "summary": { + "description": "Summary for the batch request", + "type": "object", + "readOnly": true, + "properties": { + "successfulRequests": { + "description": "Number of successful requests in the batch", + "type": "integer", + "readOnly": true + }, + "totalRequests": { + "description": "Total number of requests in the batch", + "type": "integer", + "readOnly": true + } + } + }, + "batchItems": { + "description": "Array containing the batch results", + "type": "array", + "readOnly": true, + "items": { + "type": "object" + } + } + } + }, + "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" + }, + "BatchRequestBody": { + "description": "This type represents the request body for the Batch service.", + "type": "object", + "properties": { + "batchItems": { + "description": "The list of queries/requests to process", + "type": "array", + "items": { + "description": "Batch Query object", + "type": "object", + "properties": { + "query": { + "description": "Partial query string", + "type": "string" + } + } + } + } + } + }, + "CoordinateAbbreviated": { + "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 + } + } + }, + "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": false, + "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." + } + ] + } + } + } + }, + "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" + ] + } + ] + }, + "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" + } + }, + "PoiCategoryResponse": { + "description": "This object is returned from a successful POI Category Tree call", + "type": "object", + "properties": { + "poiCategories": { + "description": "Categories array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PoiCategoryResult" + } + } + } + }, + "PoiCategoryResult": { + "description": "POI category result", + "type": "object", + "properties": { + "id": { + "description": "Unique ID for the category. ID can be used to restrict search results to specific categories through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).", + "type": "integer", + "readOnly": true + }, + "name": { + "description": "Name of the category", + "type": "string", + "readOnly": true + }, + "childCategoryIds": { + "description": "Array of child category ids", + "type": "array", + "items": { + "type": "integer", + "readOnly": true + }, + "readOnly": true + }, + "synonyms": { + "description": "Array of alternative names of the category", + "type": "array", + "items": { + "type": "string", + "readOnly": true + }, + "readOnly": true + } + } + }, + "SearchPolygonResponse": { + "description": "This object is returned from a successful Search Polygon call", + "type": "object", + "properties": { + "additionalData": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchPolygonResult" + } + } + } + }, + "SearchPolygonResult": { + "type": "object", + "properties": { + "providerID": { + "description": "ID of the returned entity", + "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": "#/definitions/Geometry" + } + } + }, + "SearchFuzzyResponse": { + "description": "This object is returned from a successful Search Fuzzy call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchFuzzySummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchFuzzyResult" + } + } + } + }, + "SearchFuzzySummary": { + "description": "Summary object for a Search Fuzzy response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchFuzzyResult": { + "type": "object", + "properties": { + "type": { + "description": "One of:\n* POI\n* Street\n* Geography\n* Point Address\n* Address Range\n* Cross Street", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + }, + "addressRanges": { + "$ref": "#/definitions/SearchResultAddressRanges" + }, + "dataSources": { + "$ref": "#/definitions/DataSources" + } + } + }, + "SearchPoiResponse": { + "description": "This object is returned from a successful Search POI call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchPoiSummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchPoiResult" + } + } + } + }, + "SearchPoiSummary": { + "description": "Summary object for a Search POI response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + }, + "geoBias": { + "$ref": "#/definitions/SearchSummaryGeoBias" + } + } + }, + "SearchPoiResult": { + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "dist": { + "$ref": "#/definitions/SearchResultDistance" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + } + } + }, + "SearchNearbyResponse": { + "description": "This object is returned from a successful Search Nearby call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchNearbySummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchNearbyResult" + } + } + } + }, + "SearchNearbySummary": { + "description": "Summary object for a Search Nearby response", + "type": "object", + "readOnly": true, + "properties": { + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + }, + "geoBias": { + "$ref": "#/definitions/SearchSummaryGeoBias" + } + } + }, + "SearchNearbyResult": { + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "dist": { + "$ref": "#/definitions/SearchResultDistance" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + } + } + }, + "SearchPoiCategoryResponse": { + "description": "This object is returned from a successful Search POI Category call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchPoiCategorySummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchPoiCategoryResult" + } + } + } + }, + "SearchPoiCategorySummary": { + "description": "Summary object for a Search POI Category response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + }, + "geoBias": { + "$ref": "#/definitions/SearchSummaryGeoBias" + } + } + }, + "SearchPoiCategoryResult": { + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "dist": { + "$ref": "#/definitions/SearchResultDistance" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + } + } + }, + "SearchAddressResponse": { + "description": "This object is returned from a successful Search Address call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchAddressSummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAddressResult" + } + } + } + }, + "SearchAddressSummary": { + "description": "Summary object for a Search Address response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchAddressResult": { + "type": "object", + "properties": { + "type": { + "description": "One of:\n* POI\n* Street\n* Geography\n* Point Address\n* Address Range\n* Cross Street", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + }, + "dataSources": { + "$ref": "#/definitions/DataSources" + } + } + }, + "SearchAddressReverseResponse": { + "description": "This object is returned from a successful Search Address Reverse call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchAddressReverseSummary" + }, + "addresses": { + "description": "Addresses array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAddressReverseResult" + } + } + } + }, + "SearchAddressReverseSummary": { + "description": "Summary object for a Search Address Reverse response", + "type": "object", + "readOnly": true, + "properties": { + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchAddressReverseResult": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "type": "string", + "readOnly": true, + "description": "Position property in the form of \"{latitude},{longitude}\"" + }, + "matchType": { + "type": "string", + "readOnly": true, + "description": "Information on the type of match.\n\nOne of:\n * AddressPoint\n * HouseNumberRange\n * Street" + } + } + }, + "SearchAddressReverseCrossStreetResponse": { + "description": "This object is returned from a successful Search Address Reverse CrossStreet call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchAddressReverseCrossStreetSummary" + }, + "addresses": { + "description": "Addresses array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAddressReverseCrossStreetResult" + } + } + } + }, + "SearchAddressReverseCrossStreetSummary": { + "description": "Summary object for a Search Address Reverse Cross Street response", + "type": "object", + "readOnly": true, + "properties": { + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchAddressReverseCrossStreetResult": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "type": "string", + "readOnly": true, + "description": "Position property in the form of \"{latitude},{longitude}\"" + } + } + }, + "SearchAddressStructuredResponse": { + "description": "This object is returned from a successful Search Address Structured call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchAddressStructuredSummary" + }, + "results": { + "description": "Results array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAddressStructuredResult" + } + } + } + }, + "SearchAddressStructuredSummary": { + "description": "Summary object for a Search Address Structured response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "limit": { + "description": "Maximum number of responses that will be returned", + "readOnly": true, + "type": "integer" + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + }, + "geoBias": { + "$ref": "#/definitions/SearchSummaryGeoBias" + } + } + }, + "SearchAddressStructuredResult": { + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "dist": { + "$ref": "#/definitions/SearchResultDistance" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + }, + "addressRanges": { + "$ref": "#/definitions/SearchResultAddressRanges" + } + } + }, + "SearchGeometryResponse": { + "description": "This object is returned from a successful Search By Geometry call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchGeometrySummary" + }, + "results": { + "description": "A list of Search Inside Geometry results.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchGeometryResult" + } + } + } + }, + "SearchGeometrySummary": { + "description": "Summary object for a Search Geometry response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchGeometryResult": { + "description": "This type represents the Search Inside Geometry result object.", + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + } + } + }, + "SearchAlongRouteResponse": { + "description": "This object is returned from a successful Search Along Route call.", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/SearchAlongRouteSummary" + }, + "results": { + "description": "A list of Search Along Route results.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAlongRouteResult" + } + } + } + }, + "SearchAlongRouteSummary": { + "description": "Summary object for a Search Along Route response", + "type": "object", + "readOnly": true, + "properties": { + "query": { + "description": "Query property", + "type": "string", + "readOnly": true + }, + "queryType": { + "description": "QueryType property", + "type": "string", + "readOnly": true + }, + "queryTime": { + "description": "QueryTime property", + "type": "integer", + "readOnly": true + }, + "numResults": { + "description": "NumResults property", + "type": "integer", + "readOnly": true + }, + "offset": { + "description": "Offset property", + "type": "integer", + "readOnly": true + }, + "totalResults": { + "description": "TotalResults property", + "type": "integer", + "readOnly": true + }, + "fuzzyLevel": { + "description": "FuzzyLevel property", + "type": "integer", + "readOnly": true + } + } + }, + "SearchAlongRouteResult": { + "description": "This type represents the Search Along Route result object.", + "type": "object", + "properties": { + "type": { + "description": "Type property", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "score": { + "$ref": "#/definitions/SearchResultScore" + }, + "info": { + "description": "Info property", + "type": "string", + "readOnly": true + }, + "entityType": { + "$ref": "#/definitions/EntityType" + }, + "poi": { + "$ref": "#/definitions/SearchResultPoi" + }, + "address": { + "$ref": "#/definitions/SearchResultAddress" + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "viewport": { + "$ref": "#/definitions/SearchResultViewport" + }, + "entryPoints": { + "description": "Entry Points array", + "type": "array", + "items": { + "$ref": "#/definitions/SearchResultEntryPoint" + } + }, + "dist": { + "$ref": "#/definitions/SearchResultDistance" + }, + "detourTime": { + "description": "Detour time in seconds", + "type": "number", + "readOnly": true + } + } + }, + "SearchInsideGeometryRequestBody": { + "description": "This type represents the request body for the Search Inside Geometry service.", + "type": "object", + "properties": { + "geometry": { + "$ref": "#/definitions/Geometry" + } + } + }, + "SearchAlongRouteRequestBody": { + "description": "This type represents the request body for the Search Along Route service.", + "type": "object", + "properties": { + "route": { + "$ref": "#/definitions/LineString" + } + } + }, + "SearchResultPoi": { + "description": "Details of the returned POI including information such as the name, phone, url address, and classifications.", + "type": "object", + "properties": { + "name": { + "description": "Name of the POI property", + "type": "string", + "readOnly": true + }, + "phone": { + "description": "Telephone number property", + "type": "string", + "readOnly": true + }, + "url": { + "description": "Website URL property", + "type": "string", + "readOnly": true + }, + "categorySet": { + "description": "The list of the most specific POI categories", + "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 + } + }, + "classifications": { + "description": "Classification array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchResultPoiClassification" + } + }, + "brands": { + "description": "Brands array. The name of the brand for the POI being returned.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchResultPoiBrand" + } + }, + "openingHours": { + "$ref": "#/definitions/SearchResultPoiOpeningHours" + } + } + }, + "SearchResultPoiCategorySet": { + "description": "POI category", + "type": "object", + "properties": { + "id": { + "description": "Category ID", + "type": "integer", + "readOnly": true + } + } + }, + "SearchResultPoiClassification": { + "description": "The classification for the POI being returned", + "type": "object", + "properties": { + "code": { + "description": "Code property", + "type": "string", + "readOnly": true + }, + "names": { + "description": "Names array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchResultPoiClassificationName" + } + } + } + }, + "SearchResultPoiClassificationName": { + "description": "Name for the classification", + "type": "object", + "properties": { + "nameLocale": { + "description": "Name Locale property", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name property", + "type": "string", + "readOnly": true + } + } + }, + "SearchResultPoiOpeningHours": { + "description": "Opening hours for a POI (Points of Interest).", + "type": "object", + "properties": { + "mode": { + "description": "Value used in the Request", + "type": "string", + "readOnly": true + }, + "timeRanges": { + "description": "List of time ranges for the next 7 days", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRange" + } + } + } + }, + "SearchResultPoiOpeningHoursTimeRange": { + "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" + }, + "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" + } + } + }, + "SearchResultPoiOpeningHoursTimeRangeTime": { + "description": "Represents a date and time", + "type": "object", + "properties": { + "date": { + "description": "Represents current day in calendar year in POI time zone.", + "type": "string", + "readOnly": true + }, + "hour": { + "description": "Hours are in the 24 hour format in the local time of a POI; possible values are 0 - 23.", + "type": "integer", + "readOnly": true + }, + "minute": { + "description": "Minutes are in the local time of a POI; possible values are 0 - 59.", + "type": "integer", + "readOnly": true + } + } + }, + "SearchResultPoiBrand": { + "description": "The name of the brand for the POI being returned", + "type": "object", + "properties": { + "name": { + "description": "Name of the brand", + "type": "string", + "readOnly": true + } + } + }, + "SearchResultAddress": { + "description": "The address of the result", + "type": "object", + "properties": { + "buildingNumber": { + "description": "Building Number property", + "type": "string", + "readOnly": true + }, + "street": { + "description": "Street property", + "type": "string", + "readOnly": true + }, + "crossStreet": { + "description": "Cross Street property", + "type": "string", + "readOnly": true + }, + "streetNumber": { + "description": "Street Number property", + "type": "string", + "readOnly": true + }, + "routeNumbers": { + "description": "number of routes", + "type": "array", + "items": { + "type": "integer", + "readOnly": true + }, + "readOnly": true + }, + "streetName": { + "description": "Street Name property", + "type": "string", + "readOnly": true + }, + "streetNameAndNumber": { + "description": "Street Name and Number property", + "type": "string", + "readOnly": true + }, + "municipality": { + "description": "Municipality property", + "type": "string", + "readOnly": true + }, + "municipalitySubdivision": { + "description": "Municipality Subdivision property", + "type": "string", + "readOnly": true + }, + "countryTertiarySubdivision": { + "description": "Country Tertiary Subdivision property", + "type": "string", + "readOnly": true + }, + "countrySecondarySubdivision": { + "description": "Country Secondary Subdivision property", + "type": "string", + "readOnly": true + }, + "countrySubdivision": { + "description": "Country Subdivision property", + "type": "string", + "readOnly": true + }, + "postalCode": { + "description": "Postal Code property", + "type": "string", + "readOnly": true + }, + "extendedPostalCode": { + "description": "Extended Postal Code property", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "Country Code property", + "type": "string", + "readOnly": true + }, + "country": { + "description": "Country property", + "type": "string", + "readOnly": true + }, + "countryCodeISO3": { + "description": "Country Code ISO3 property", + "type": "string", + "readOnly": true + }, + "freeformAddress": { + "description": "Free form Address property", + "type": "string", + "readOnly": true + }, + "countrySubdivisionName": { + "description": "Country Subdivision Name property", + "type": "string", + "readOnly": true + }, + "localName": { + "description": "An address component which represents the name of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit. This field is used to build the `freeformAddress` property.", + "type": "string", + "readOnly": true + } + } + }, + "SearchResultViewport": { + "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/CoordinateAbbreviated" + }, + "btmRightPoint": { + "$ref": "#/definitions/CoordinateAbbreviated" + } + } + }, + "SearchResultEntryPoint": { + "description": "The entry point for the POI being returned.", + "type": "object", + "properties": { + "type": { + "description": "The type of entry point. Value can be either _main_ or _minor_.", + "type": "string", + "readOnly": true, + "enum": [ + "main", + "minor" + ] + }, + "position": { + "$ref": "#/definitions/CoordinateAbbreviated" + } + } + }, + "SearchResultAddressRanges": { + "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", + "properties": { + "rangeLeft": { + "type": "string" + }, + "rangeRight": { + "type": "string" + }, + "from": { + "$ref": "#/definitions/CoordinateAbbreviated" + }, + "to": { + "$ref": "#/definitions/CoordinateAbbreviated" + } + } + }, + "SearchResultScore": { + "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", + "readOnly": true + }, + "SearchResultDistance": { + "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", + "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", + "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 + } + } + }, + "EntityType": { + "description": "Geography entity type. Present only when entityType was requested and is available.", + "type": "string", + "enum": [ + "Country", + "CountrySubdivision", + "CountrySecondarySubdivision", + "CountryTertiarySubdivision", + "Municipality", + "MunicipalitySubdivision", + "Neighbourhood", + "PostalCodeArea" + ], + "x-ms-enum": { + "name": "EntityType", + "modelAsString": false, + "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" + } + ] + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetBuffer.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetBuffer.json new file mode 100644 index 000000000000..43e7e0727837 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetBuffer.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "[udid]", + "distances": "176.3" + }, + "responses": { + "200": { + "body": { + "summary": { + "udid": "[udid from request]", + "information": "1 feature processed in user data" + }, + "result": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "geometryId": "ExampleId", + "bufferDist": 176.3 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -111.92483859605078, + 33.5362475 + ], + [ + -111.92487510409389, + 33.53587682761772 + ], + [ + -111.92498322523961, + 33.535520399967204 + ], + [ + -111.92515880445296, + 33.535191914363196 + ], + [ + -111.92539509432322, + 33.53490399432323 + ], + [ + -111.92568301436319, + 33.534667704452971 + ], + [ + -111.9260114999672, + 33.53449212523963 + ], + [ + -111.9263679276177, + 33.5343840040939 + ], + [ + -111.9267386, + 33.534347496050785 + ], + [ + -111.92710927238228, + 33.5343840040939 + ], + [ + -111.92746570003278, + 33.53449212523963 + ], + [ + -111.9277941856368, + 33.534667704452971 + ], + [ + -111.92808210567676, + 33.53490399432323 + ], + [ + -111.92831839554702, + 33.535191914363196 + ], + [ + -111.92849397476037, + 33.535520399967204 + ], + [ + -111.9286020959061, + 33.53587682761772 + ], + [ + -111.92863860394921, + 33.5362475 + ], + [ + -111.9286020959061, + 33.536618172382283 + ], + [ + -111.92849397476037, + 33.5369746000328 + ], + [ + -111.92831839554702, + 33.537303085636808 + ], + [ + -111.92808210567676, + 33.537591005676774 + ], + [ + -111.9277941856368, + 33.537827295547032 + ], + [ + -111.92746570003278, + 33.538002874760373 + ], + [ + -111.92710927238228, + 33.5381109959061 + ], + [ + -111.9267386, + 33.538147503949219 + ], + [ + -111.9263679276177, + 33.5381109959061 + ], + [ + -111.9260114999672, + 33.538002874760373 + ], + [ + -111.92568301436319, + 33.537827295547032 + ], + [ + -111.92539509432322, + 33.537591005676774 + ], + [ + -111.92515880445296, + 33.537303085636808 + ], + [ + -111.92498322523961, + 33.5369746000328 + ], + [ + -111.92487510409389, + 33.536618172382283 + ], + [ + -111.92483859605078, + 33.5362475 + ] + ] + ] + } + } + ] + } + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "One or more parameters are missing.", + "innererror": { + "code": "MissingQueryParameter", + "message": "Input parameter udid is missing." + } + } + } + }, + "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/Spatial/preview/1.0/examples/GetClosestPoint.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetClosestPoint.json new file mode 100644 index 000000000000..556e7a33ae6e --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetClosestPoint.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "[udid]", + "lat": 47.622942, + "lon": -122.316456 + }, + "responses": { + "200": { + "body": { + "summary": { + "sourcePoint": { + "lat": 47.622942, + "lon": -122.316456 + }, + "udid": "[udid from request]", + "information": "10 points processed in user data" + }, + "result": [ + { + "distanceInMeters": 1587492.66, + "position": { + "lat": 40.516153406773952, + "lon": -105.02860293715861 + }, + "geometryId": "1001" + } + ] + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "One or more parameters are missing.", + "innererror": { + "code": "MissingQueryParameter", + "message": "Input parameter lon is missing." + } + } + } + }, + "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/Spatial/preview/1.0/examples/GetGeofence.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetGeofence.json new file mode 100644 index 000000000000..6d01b0c8a0ca --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetGeofence.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "deviceId": "unique_device_name_under_account", + "udId": "[udId]", + "lat": 48.36, + "lon": -124.63, + "searchBuffer": 50, + "userTime": "2018-09-10T10:00:00", + "isAsync": true, + "mode": "EnterAndExit", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "geometries": [ + { + "deviceId": "unique_device_name_under_account", + "udId": "[udId]", + "geometryId": "2", + "distance": 999, + "nearestLat": 47.621954, + "nearestLon": -122.131841 + }, + { + "deviceId": "unique_device_name_under_account", + "udId": "[udId]", + "geometryId": "1", + "distance": -999, + "nearestLat": 47.609833, + "nearestLon": -122.148274 + } + ], + "expiredGeofenceGeometryId": [ + "5" + ], + "invalidPeriodGeofenceGeometryId": [ + "3", + "4" + ], + "isEventPublished": true + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "BadRequest", + "message": "Can't find user geofencing data with provided udid.", + "innererror": { + "code": "NoUserDataWithUdid" + } + } + } + }, + "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/Spatial/preview/1.0/examples/GetGreatCircleDistance.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetGreatCircleDistance.json new file mode 100644 index 000000000000..e309dad87a26 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetGreatCircleDistance.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "query": "47.622942,-122.316456:47.610378,-122.200676" + }, + "responses": { + "200": { + "body": { + "summary": { + "sourcePoint": { + "lat": 47.622942, + "lon": -122.316456 + }, + "targetPoint": { + "lat": 47.610378, + "lon": -122.200676 + } + }, + "result": { + "distanceInMeters": 8797.62 + } + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "Lat and/or lon parameters are invalid.", + "innererror": { + "code": "InvalidLatLon", + "message": "The provided coordinates '-122.316456,47.622942:47.610378,-122.200676' in query paramter are invalid, out of range, or not in the expected format" + } + } + } + }, + "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/Spatial/preview/1.0/examples/GetPointInPolygon.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetPointInPolygon.json new file mode 100644 index 000000000000..88c4357c221c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/GetPointInPolygon.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "udid": "[udid]", + "lat": 47.622942, + "lon": -122.316456 + }, + "responses": { + "200": { + "body": { + "summary": { + "sourcePoint": { + "lat": 33.5362475, + "lon": -111.9267386 + }, + "udid": "[udid from request]", + "information": "4 polygons processed in user data" + }, + "result": { + "pointInPolygons": true, + "intersectingGeometries": [ + "1001", + "1003" + ] + } + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "Udid should be acquired from user data ingestion API.", + "innererror": { + "code": "UdidWrongFormat" + } + } + } + }, + "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/Spatial/preview/1.0/examples/PostBuffer.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostBuffer.json new file mode 100644 index 000000000000..00d7798d1c99 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostBuffer.json @@ -0,0 +1,240 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "bufferRequestBody": { + "geometries": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "geometryId": "ExampleId" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -111.9267386, + 33.5362475 + ] + } + } + ] + }, + "distances": [ + 176.3 + ] + } + }, + "responses": { + "200": { + "body": { + "summary": { + "udid": null, + "information": "1 feature processed in user data" + }, + "result": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "geometryId": "ExampleId", + "bufferDist": 176.3 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -111.92483859605078, + 33.5362475 + ], + [ + -111.92487510409389, + 33.53587682761772 + ], + [ + -111.92498322523961, + 33.535520399967204 + ], + [ + -111.92515880445296, + 33.535191914363196 + ], + [ + -111.92539509432322, + 33.53490399432323 + ], + [ + -111.92568301436319, + 33.534667704452971 + ], + [ + -111.9260114999672, + 33.53449212523963 + ], + [ + -111.9263679276177, + 33.5343840040939 + ], + [ + -111.9267386, + 33.534347496050785 + ], + [ + -111.92710927238228, + 33.5343840040939 + ], + [ + -111.92746570003278, + 33.53449212523963 + ], + [ + -111.9277941856368, + 33.534667704452971 + ], + [ + -111.92808210567676, + 33.53490399432323 + ], + [ + -111.92831839554702, + 33.535191914363196 + ], + [ + -111.92849397476037, + 33.535520399967204 + ], + [ + -111.9286020959061, + 33.53587682761772 + ], + [ + -111.92863860394921, + 33.5362475 + ], + [ + -111.9286020959061, + 33.536618172382283 + ], + [ + -111.92849397476037, + 33.5369746000328 + ], + [ + -111.92831839554702, + 33.537303085636808 + ], + [ + -111.92808210567676, + 33.537591005676774 + ], + [ + -111.9277941856368, + 33.537827295547032 + ], + [ + -111.92746570003278, + 33.538002874760373 + ], + [ + -111.92710927238228, + 33.5381109959061 + ], + [ + -111.9267386, + 33.538147503949219 + ], + [ + -111.9263679276177, + 33.5381109959061 + ], + [ + -111.9260114999672, + 33.538002874760373 + ], + [ + -111.92568301436319, + 33.537827295547032 + ], + [ + -111.92539509432322, + 33.537591005676774 + ], + [ + -111.92515880445296, + 33.537303085636808 + ], + [ + -111.92498322523961, + 33.5369746000328 + ], + [ + -111.92487510409389, + 33.536618172382283 + ], + [ + -111.92483859605078, + 33.5362475 + ] + ] + ] + } + } + ] + } + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "Request body is not a valid json.", + "innererror": { + "code": "InvalidJson", + "message": "Only 2 Json Objects accepted; Received: 1 JSON Objects" + } + } + } + }, + "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/Spatial/preview/1.0/examples/PostClosestPoint.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostClosestPoint.json new file mode 100644 index 000000000000..2d9b965497f2 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostClosestPoint.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "lat": 47.622942, + "lon": -122.316456, + "closestPointRequestBody": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "geometryId": 1001 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -105.02860293715861, + 40.516153406773952 + ] + } + }, + { + "type": "Feature", + "properties": { + "geometryId": 1002 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -105.02860381672178, + 40.515990990037309 + ] + } + }, + { + "type": "Feature", + "properties": { + "geometryId": 1003 + }, + "geometry": { + "type": "Point", + "coordinates": [ + -105.02812292879467, + 40.516058678088562 + ] + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "summary": { + "sourcePoint": { + "lat": 47.622942, + "lon": -122.316456 + }, + "udid": null, + "information": "3 points processed in user data" + }, + "result": [ + { + "distanceInMeters": 1587492.66, + "position": { + "lat": 40.516153406773952, + "lon": -105.02860293715861 + }, + "geometryId": "1001" + } + ] + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "One or more parameters are missing.", + "innererror": { + "code": "MissingQueryParameter", + "message": "Input parameter lon is missing." + } + } + } + }, + "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/Spatial/preview/1.0/examples/PostGeofence.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostGeofence.json new file mode 100644 index 000000000000..d638ff7b7c6f --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostGeofence.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "deviceId": "unique_device_name_under_account", + "lat": 48.36, + "lon": -124.63, + "searchBuffer": 50, + "usertime": "2018-09-10T10:00:00", + "isAsync": true, + "mode": "EnterAndExit", + "subscription-key": "[subscription-key]", + "searchGeofenceRequestBody": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.13241226662022, + 47.61701140091722 + ], + [ + -122.12810106940353, + 47.6169969269402 + ], + [ + -122.12824948956276, + 47.61907683751349 + ], + [ + -122.12833297981392, + 47.621929787055336 + ], + [ + -122.12971398040168, + 47.62184100705295 + ], + [ + -122.1318413862121, + 47.62195364373008 + ], + [ + -122.13231034769727, + 47.61716332618121 + ], + [ + -122.13241226662022, + 47.61701140091722 + ] + ] + ] + }, + "properties": { + "geometryId": "2", + "name": "Crossroad Mall" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -122.1534220563239, + 47.60981818546625 + ], + [ + -122.153451623509, + 47.60628733146004 + ], + [ + -122.14971782206638, + 47.606250040787046 + ], + [ + -122.14817354810637, + 47.606391046012305 + ], + [ + -122.1482735128807, + 47.60983316796356 + ], + [ + -122.15225500989803, + 47.60982613678752 + ], + [ + -122.1534220563239, + 47.60981818546625 + ] + ] + ] + }, + "properties": { + "geometryId": "1", + "name": "Sammamish High school" + } + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "geometries": [ + { + "deviceId": "unique_device_name_under_account", + "geometryId": "2", + "distance": -999, + "nearestLat": 47.621954, + "nearestLon": -122.131841 + }, + { + "deviceId": "unique_device_name_under_account", + "geometryId": "1", + "distance": 999, + "nearestLat": 47.609833, + "nearestLon": -122.148274 + } + ], + "expiredGeofenceGeometryId": [], + "invalidPeriodGeofenceGeometryId": [], + "isEventPublished": true + } + }, + "400": { + "headers": { + "X-Correlation-ID": "80575fa1-2c1e-4738-834a-fcf45b58dd7c" + }, + "body": { + "error": { + "code": "BadRequest", + "message": "Lat and/or lon parameters are invalid.", + "innererror": { + "code": "InvalidLatLon" + } + } + } + }, + "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/Spatial/preview/1.0/examples/PostPointInPolygon.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostPointInPolygon.json new file mode 100644 index 000000000000..5677897e923c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/examples/PostPointInPolygon.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "lat": 33.5362475, + "lon": -111.9267386, + "pointInPolygonRequestBody": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "geometryId": 1001 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -111.9267386, + 33.5362475 + ], + [ + -111.9627875, + 33.5104882 + ], + [ + -111.9027061, + 33.5004686 + ], + [ + -111.9267386, + 33.5362475 + ] + ] + ] + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "summary": { + "sourcePoint": { + "lat": 33.5362475, + "lon": -111.9267386 + }, + "udid": null, + "information": "1 polygons processed in user data" + }, + "result": { + "pointInPolygons": true, + "intersectingGeometries": [ + "1001" + ] + } + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "ClientParams", + "message": "Lat and/or lon parameters are invalid.", + "innererror": { + "code": "InvalidLatLon", + "message": "lon parameter value should between -180 and 180 inclusive" + } + } + } + }, + "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/Spatial/preview/1.0/spatial.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json new file mode 100644 index 000000000000..06acf54d01db --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json @@ -0,0 +1,1604 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Spatial Service", + "version": "1.0", + "description": "Azure Maps Spatial REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TextFormat": { + "name": "format", + "description": "Desired format of the response. Value can be either _json_ or _xml_.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "json", + "xml" + ], + "x-ms-enum": { + "name": "TextFormat", + "modelAsString": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + }, + { + "value": "xml", + "description": "[The Extensible Markup Language](https://www.w3.org/TR/xml/)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "Mode": { + "name": "mode", + "in": "query", + "description": "Mode of the geofencing async event mechanism.", + "required": false, + "type": "string", + "enum": [ + "All", + "EnterAndExit" + ], + "x-ms-enum": { + "name": "GeofenceMode", + "modelAsString": false, + "values": [ + { + "value": "All", + "description": "Publish all the query results to Azure Maps account event subscription." + }, + { + "value": "EnterAndExit", + "description": "Only publish result when user location is considered as crossing geofencing boarder." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "UdidSpatial": { + "name": "udid", + "in": "query", + "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.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SpatialDataUploadFormat": { + "name": "dataFormat", + "description": "Data format of the content being uploaded. Currently, only `geojson` format is supported.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "geojson" + ], + "x-ms-enum": { + "name": "SpatialDataUploadFormat", + "modelAsString": false, + "values": [ + { + "value": "geojson", + "description": "[GeoJSON](https://tools.ietf.org/html/rfc7946) is a JSON based geospatial data interchange format." + } + ] + }, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/spatial/geofence/{format}": { + "get": { + "x-publish": true, + "description": "**Search Geofence Get API**\n\n**Applies to:** S1 Pricing tier.\n\nThe Geofence Get API allows you to retrieve the proximity of a coordinate to a \ngeofence that has been uploaded to the Data service. You can use the \n[Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) to upload \na geofence or set of fences. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) \nfor more details on the geofence data format. To query the proximity of a coordinate, you supply the location of the object you are tracking as well\nas the ID for the fence or set of fences, and the response will contain information about\nthe distance from the outer edge of the geofence. A negative value signifies that the \ncoordinate is inside of the fence while a positive value means that it is outside of the\nfence.

    This API can be used for a variety of scenarios that include things like asset \ntracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).\nTo test this API, you can upload the sample data from Post Geofence API examples(Request Body) via Data Upload API and replace the [udid] from the sample request below with the udid returned by Data Upload API.\n\n\n### Geofencing InnerError code\n\nIn geofencing response error contract, `innererror` is an object containing service specific information about the error. `code` is a property in `innererror` which can map to a specific geofencing error type. The table belows shows the code mapping between all the known client error type to the corresponding geofencing error `message`.\n\ninnererror.code | error.message\n---------------------------- | -------------------------------------- \nNullDeviceId | Device Id should not be null.\nNullUdid\t | Udid should not be null.\nUdidWrongFormat| Udid should be acquired from user data ingestion API.\nInvalidUserTime| Usertime is invalid.\nInvalidSearchBuffer| Searchbuffer is invalid.\nInvalidSearchRange| The value range of searchbuffer should be from 0 to 500 meters.\nInvalidLatLon| Lat and/or lon parameters are invalid.\nInvalidIsAsyncValue| The IsAsync parameter is invalid.\nInvalidModeValue| The mode parameter invalid.\nInvalidJson| Geofencing data is not a valid json file.\nNotSupportedGeoJson| Geofencing data can't be read as a Feature or FeatureCollections.\nInvalidGeoJson| Geofencing data is invalid.\nNoUserDataWithAccountOrSubscription| Can't find user geofencing data with provided account-id and/or subscription-id.\nNoUserDataWithUdid|\tCan't find user geofencing data with provided udId.", + "operationId": "Spatial_GetGeofence", + "x-ms-examples": { + "Geofence": { + "$ref": "./examples/GetGeofence.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "deviceId", + "in": "query", + "description": "ID of the device", + "required": true, + "type": "string" + }, + { + "name": "udId", + "in": "query", + "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.", + "required": true, + "type": "string" + }, + { + "name": "lat", + "in": "query", + "description": "The latitude of the location being passed. Example: 48.36.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The longitude of the location being passed. Example: -124.63.", + "required": true, + "type": "number" + }, + { + "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.", + "required": false, + "type": "number" + }, + { + "name": "userTime", + "in": "query", + "description": "The user request time. If not presented in the request, the default value is DateTime.Now.", + "required": false, + "type": "string" + }, + { + "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.", + "required": false, + "type": "number", + "minimum": 0, + "maximum": 500, + "default": 50 + }, + { + "name": "isAsync", + "in": "query", + "description": "If true, the request will use async event mechanism; if false, the request will be synchronized and do not trigger any event. The default value is false.", + "required": false, + "type": "boolean", + "default": false + }, + { + "$ref": "#/parameters/Mode" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK The X-Correlation-id header value is present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.", + "headers": { + "X-Correlation-id": { + "description": "Value present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/GeofenceResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + }, + "post": { + "x-publish": true, + "description": "**Search Geofence Post API**\n**Applies to:** S1 Pricing tier.\nThe Geofence Post API allows you to retrieve the proximity of a coordinate to a provided geofence or set of fences. With POST call, you do not have to upload the fence data in advance, instead you supply the location of the object you are tracking in query parameters as well as the fence or set of fences data in post request body. See [Geofencing GeoJSON data](https://docs.microsoft.com/en-us/azure/azure-maps/geofence-geojson) for more details on the geofence data format. The response will contain information about the distance from the outer edge of the geofence. A negative value signifies that the coordinate is inside of the fence while a positive value means that it is outside of the fence.

    This API can be used for a variety of scenarios that include things like asset tracking, fleet management, or setting up alerts for moving objects.\n\nThe API supports [integration with Event Grid](https://docs.microsoft.com/azure/azure-maps/azure-maps-event-grid-integration). The isAsync parameter is used to enable integration with Event Grid (disabled by default).", + "operationId": "Spatial_PostGeofence", + "x-ms-examples": { + "Geofence": { + "$ref": "./examples/PostGeofence.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "deviceId", + "in": "query", + "description": "ID of the device", + "required": true, + "type": "string" + }, + { + "name": "lat", + "in": "query", + "description": "The latitude of the location being passed. Example: 48.36.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The longitude of the location being passed. Example: -124.63.", + "required": true, + "type": "number" + }, + { + "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.", + "required": false, + "type": "number" + }, + { + "name": "userTime", + "in": "query", + "description": "The user request time. If not presented in the request, the default value is DateTime.UtcNow.", + "required": false, + "type": "string" + }, + { + "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.", + "required": false, + "type": "number", + "minimum": 0, + "maximum": 500, + "default": 50 + }, + { + "name": "isAsync", + "in": "query", + "description": "If true, the request will use async event mechanism; if false, the request will be synchronized and do not trigger any event. The default value is false.", + "required": false, + "type": "boolean", + "default": false + }, + { + "$ref": "#/parameters/Mode" + }, + { + "name": "searchGeofenceRequestBody", + "in": "body", + "description": "The geofencing GeoJSON data.", + "required": true, + "schema": { + "$ref": "#/definitions/GeoJSONFeatureCollection" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK The X-Correlation-id header value is present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.", + "headers": { + "X-Correlation-id": { + "description": "Value present in an async call's response and the Event Grid event data. It helps correlate the async call’s response with the corresponding Event Grid event.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/GeofenceResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/spatial/buffer/{format}": { + "post": { + "x-publish": true, + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input may contain a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided.", + "operationId": "Spatial_PostBuffer", + "x-ms-examples": { + "PostBuffer": { + "$ref": "./examples/PostBuffer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "bufferRequestBody", + "in": "body", + "description": "The FeatureCollection and the list of distances (one per feature or one for all features).", + "required": true, + "schema": { + "$ref": "#/definitions/BufferRequestBody" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BufferResponse" + } + }, + "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": "**Applies to**: S1 pricing tier.\n\nThis API returns a FeatureCollection where each Feature is a buffer around the corresponding indexed Feature of the input. The buffer could be either on the outside or the inside of the provided Feature, depending on the distance provided in the input. There must be either one distance provided per Feature in the FeatureCollection input, or if only one distance is provided, then that distance is applied to every Feature in the collection. The positive (or negative) buffer of a geometry is defined as the Minkowski sum (or difference) of the geometry with a circle of radius equal to the absolute value of the buffer distance. The buffer API always returns a polygonal result. The negative or zero-distance buffer of lines and points is always an empty polygon. The input features are 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 a collection of Point, MultiPoint, Polygon, MultiPolygon, LineString and MultiLineString. GeometryCollection will be ignored if provided. \n\nTo test this API, you can upload the sample data from [Post Buffer API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postbuffer#examples) examples(Request Body without distances array) 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/getbuffer#examples) with the udid returned by Data Upload API.", + "operationId": "Spatial_GetBuffer", + "x-ms-examples": { + "GetBuffer": { + "$ref": "./examples/GetBuffer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "$ref": "#/parameters/UdidSpatial" + }, + { + "name": "distances", + "in": "query", + "description": "The list of distances (one per feature or one for all features), delimited by semicolons. For example, 12.34;-56.78. Positive distance will generate a buffer outside of the feature, whereas negative distance will generate a buffer inside of the feature. If the negative distance larger than the geometry itself, an empty polygon will be returned.", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BufferResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/spatial/closestPoint/{format}": { + "post": { + "x-publish": true, + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of target points. The set of target points is provided by user data in post request body. The user data may only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The algorithm does not take into account routing or traffic. The maximum number of points accepted is 100,000. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.", + "operationId": "Spatial_PostClosestPoint", + "x-ms-examples": { + "PostClosestPoint": { + "$ref": "./examples/PostClosestPoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "lat", + "in": "query", + "description": "The base point latitude of the location being passed. Example: 47.622942.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The base point longitude of the location being passed. Example: -122.316456.", + "required": true, + "type": "number" + }, + { + "name": "numberOfClosestPoints", + "in": "query", + "description": "The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50", + "required": false, + "type": "integer" + }, + { + "name": "closestPointRequestBody", + "in": "body", + "description": "The FeatureCollection of Point geometries from which closest point to source point should be determined. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", + "required": true, + "schema": { + "$ref": "#/definitions/GeoJSONFeatureCollection" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostClosestPointResponse" + } + }, + "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": "**Applies to**: S1 pricing tier.\n\nThis API returns the closest point between a base point and a given set of points in the user uploaded data set identified by udid. The set of target points 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 only contain a collection of Point geometry. MultiPoint or other geometries will be ignored if provided. The maximum number of points accepted is 100,000. The algorithm does not take into account routing or traffic. Information returned includes closest point latitude, longitude, and distance in meters from the closest point.\n\nTo test this API, you can upload the sample data from [Post Closest Point API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postclosestpoint#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/getclosestpoint#examples) with the udid returned by Data Upload API.", + "operationId": "Spatial_GetClosestPoint", + "x-ms-examples": { + "GetClosestPoint": { + "$ref": "./examples/GetClosestPoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "$ref": "#/parameters/UdidSpatial" + }, + { + "name": "lat", + "in": "query", + "description": "The base point latitude of the location being passed. Example: 47.622942.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The base point longitude of the location being passed. Example: -122.316456.", + "required": true, + "type": "number" + }, + { + "name": "numberOfClosestPoints", + "in": "query", + "description": "The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50", + "required": false, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetClosestPointResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/spatial/pointInPolygon/{format}": { + "post": { + "x-publish": true, + "description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The user data 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.", + "operationId": "Spatial_PostPointInPolygon", + "x-ms-examples": { + "PostPointInPolygon": { + "$ref": "./examples/PostPointInPolygon.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "lat", + "in": "query", + "description": "The base point latitude of the location being passed. Example: 47.622942.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The base point longitude of the location being passed. Example: -122.316456.", + "required": true, + "type": "number" + }, + { + "name": "pointInPolygonRequestBody", + "in": "body", + "description": "A FeatureCollection with a set of Polygon/MultiPolygon geometries. The maximum number of vertices accepted to form a Polygon is 10,000. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", + "required": true, + "schema": { + "$ref": "#/definitions/GeoJSONFeatureCollection" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PostPointInPolygonResponse" + } + }, + "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": "**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", + "x-ms-examples": { + "GetPointInPolygon": { + "$ref": "./examples/GetPointInPolygon.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "$ref": "#/parameters/UdidSpatial" + }, + { + "name": "lat", + "in": "query", + "description": "The base point latitude of the location being passed. Example: 47.622942.", + "required": true, + "type": "number" + }, + { + "name": "lon", + "in": "query", + "description": "The base point longitude of the location being passed. Example: -122.316456.", + "required": true, + "type": "number" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetPointInPolygonResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/spatial/greatCircleDistance/{format}": { + "get": { + "x-publish": true, + "description": "**Applies to**: S1 pricing tier.\n\nThis API will return the great-circle or shortest distance between two points on the surface of a sphere, measured along the surface of the sphere. This differs from calculating a straight line through the sphere's interior. This method is helpful for estimating travel distances for airplanes by calculating the shortest distance between airports.", + "operationId": "Spatial_GetGreatCircleDistance", + "x-ms-examples": { + "GetGreatCircleDistance": { + "$ref": "./examples/GetGreatCircleDistance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "query", + "in": "query", + "description": "The Coordinates through which the distance is calculated, delimited by a colon. Two coordinates are required. The first one is the source point coordinate and the last is the target point coordinate. For example, 47.622942,122.316456:57.673988,127.121513", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GreatCircleDistanceResponse" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "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 + } + } + }, + "GeoJSONFeatureCollection": { + "description": "A valid `GeoJSON FeatureCollection` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details.", + "type": "object", + "properties": { + "type": { + "description": "Specifies the `type` for the object. Value should always be equal to \"FeatureCollection\".", + "type": "string" + }, + "features": { + "description": "Contains a list of valid `GeoJSON Feature` objects.", + "type": "array", + "items": { + "description": "A valid `GeoJSON Feature` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.2) for details.", + "type": "object", + "properties": { + "type": { + "description": "Specifies the `type` for the object. Value should always be equal to \"Feature\".", + "type": "string" + }, + "geometry": { + "$ref": "#/definitions/GeoJSONGeometry" + }, + "properties": { + "description": "Properties can contain any additional metadata about the `Feature`. Value can be any JSON object or a JSON null value", + "type": "object" + } + } + } + } + }, + "required": [ + "features", + "type" + ] + }, + "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": false, + "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." + } + ] + } + } + } + }, + "Point": { + "description": "A valid `GeoJSON Point` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.2) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the geometry. Value should always be equal to \"Point\".", + "type": "string" + }, + "coordinates": { + "$ref": "#/definitions/GeoJSONPosition" + } + }, + "required": [ + "coordinates" + ] + } + ] + }, + "MultiLineString": { + "description": "A valid `GeoJSON MultiLineString` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.5) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the geometry. Value should always be equal to \"MultiLineString\".", + "type": "string" + }, + "coordinates": { + "description": "Coordinates for the `MultiLineString` geometry.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/GeoJSONPosition" + } + } + } + }, + "required": [ + "coordinates" + ] + } + ] + }, + "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" + ] + } + ] + }, + "MultiPolygon": { + "description": "A valid `GeoJSON MultiPolygon` object type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.7) for details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GeoJSONGeometry" + }, + { + "properties": { + "type": { + "description": "Specifies the `type` for the object. Value should always be equal to \"MultiPolygon\".", + "type": "string" + }, + "coordinates": { + "description": "Contains a list of valid `GeoJSON` Polygon objects. **Note** that coordinates in GeoJSON are in x, y order (longitude, latitude).", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/GeoJSONLinearRing" + } + } + } + }, + "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" + } + }, + "GeofenceGeometry": { + "description": "The geofencing geometry.", + "type": "object", + "readOnly": true, + "properties": { + "deviceId": { + "description": "ID of the device.", + "type": "string", + "readOnly": true + }, + "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 + }, + "geometryId": { + "description": "The unique id identifies a geometry.", + "type": "string", + "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.", + "type": "number", + "readOnly": true + }, + "nearestLat": { + "description": "Latitude of the nearest point of the geometry.", + "type": "number", + "readOnly": true + }, + "nearestLon": { + "description": "Longitude of the nearest point of the geometry.", + "type": "number", + "readOnly": true + }, + "nearestZ": { + "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": { + "description": "This object is returned from a geofence proximity call.", + "type": "object", + "properties": { + "geometries": { + "description": "Lists the fence geometries that contain the coordinate position or overlap the searchBuffer around the position.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GeofenceGeometry" + } + }, + "expiredGeofenceGeometryId": { + "description": "Lists of the geometry ID of the geofence which is expired relative to the user time in the request.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "invalidPeriodGeofenceGeometryId": { + "description": "Lists of the geometry ID of the geofence which is in invalid period relative to the user time in the request.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "isEventPublished": { + "description": "True if at least one event is published to the Azure Maps event subscriber, false if no event is published to the Azure Maps event subscriber. This will only be presented in response when 'isAsync' query parameter is set to true.", + "type": "boolean", + "readOnly": true + } + } + }, + "BufferRequestBody": { + "description": "An object with a FeatureCollection and a list of distances. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.", + "type": "object", + "properties": { + "geometries": { + "$ref": "#/definitions/GeoJSONFeatureCollection" + }, + "distances": { + "description": "List of the distances to compute the buffer for, one-to-one per Feature in the collection, or one for all Features in the collection.", + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "BufferResponse": { + "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 + } + } + }, + "result": { + "description": "The FeatureCollection of buffers for the input.", + "$ref": "#/definitions/GeoJSONFeatureCollection" + } + } + }, + "BoundingBoxResponse": { + "description": "This object is returned from a successful Spatial BoundingBox 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 + } + } + }, + "result": { + "description": "The bounding box of the input feature collection.", + "type": "object", + "readOnly": true, + "properties": { + "feature": { + "description": "The resulting feature with bounding box geometry", + "type": "object", + "readOnly": true + } + } + } + } + }, + "GetClosestPointResponse": { + "description": "This object is returned from a successful Get Spatial Closest Point call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/GetClosestPointSummary" + }, + "result": { + "$ref": "#/definitions/ClosestPointResult" + } + } + }, + "PostClosestPointResponse": { + "description": "This object is returned from a successful Post Spatial Closest Point call", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/PostClosestPointSummary" + }, + "result": { + "$ref": "#/definitions/ClosestPointResult" + } + } + }, + "GetClosestPointSummary": { + "description": "Get Closest Point Summary object", + "type": "object", + "readOnly": true, + "properties": { + "sourcePoint": { + "$ref": "#/definitions/SpatialCoordinate" + }, + "udid": { + "description": "A unique data id (udid) for the uploaded content", + "type": "string", + "readOnly": true + }, + "information": { + "description": "Processing information", + "type": "string", + "readOnly": true + } + } + }, + "PostClosestPointSummary": { + "description": "Post Closest Point Summary object", + "type": "object", + "readOnly": true, + "properties": { + "sourcePoint": { + "$ref": "#/definitions/SpatialCoordinate" + }, + "udid": { + "description": "A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)", + "type": "string", + "readOnly": true + }, + "information": { + "description": "Processing information", + "type": "string", + "readOnly": true + } + } + }, + "ClosestPointResult": { + "description": "Closest Point Result Array", + "type": "array", + "items": { + "$ref": "#/definitions/ClosestPointResultEntry" + } + }, + "ClosestPointResultEntry": { + "description": "Closest Point Result Entry Object", + "type": "object", + "readOnly": true, + "properties": { + "distanceInMeters": { + "description": "The distance in meters from the source point to the closest point", + "type": "number", + "readOnly": true + }, + "position": { + "$ref": "#/definitions/SpatialCoordinate" + }, + "geometryId": { + "description": "The unique id identifies a geometry", + "type": "string", + "readOnly": true + } + } + }, + "GetPointInPolygonResponse": { + "description": "Returns true if point is within the polygon, false otherwise", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/GetPointInPolygonSummary" + }, + "result": { + "$ref": "#/definitions/PointInPolygonResult" + } + } + }, + "PostPointInPolygonResponse": { + "description": "Returns true if point is within the polygon, false otherwise", + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/PostPointInPolygonSummary" + }, + "result": { + "$ref": "#/definitions/PointInPolygonResult" + } + } + }, + "GetPointInPolygonSummary": { + "description": "Point In Polygon Summary object", + "type": "object", + "readOnly": true, + "properties": { + "sourcePoint": { + "$ref": "#/definitions/SpatialCoordinate" + }, + "udid": { + "description": "A unique data id (udid) for the uploaded content", + "type": "string", + "readOnly": true + }, + "information": { + "description": "Processing information", + "type": "string", + "readOnly": true + } + } + }, + "PostPointInPolygonSummary": { + "description": "Point In Polygon Summary object", + "type": "object", + "readOnly": true, + "properties": { + "sourcePoint": { + "$ref": "#/definitions/SpatialCoordinate" + }, + "udid": { + "description": "A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)", + "type": "string", + "readOnly": true + }, + "information": { + "description": "Processing information", + "type": "string", + "readOnly": true + } + } + }, + "PointInPolygonResult": { + "description": "Point In Polygon Result Object", + "type": "object", + "properties": { + "pointInPolygons": { + "description": "Point In Polygons Property", + "type": "boolean", + "readOnly": true + }, + "intersectingGeometries": { + "description": "Geometries array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GeometryId" + } + } + } + }, + "GeometryId": { + "description": "The Spatial geometry", + "type": "string", + "readOnly": true + }, + "GreatCircleDistanceResponse": { + "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" + } + } + }, + "result": { + "description": "Result Object", + "type": "object", + "readOnly": true, + "properties": { + "distanceInMeters": { + "description": "The great circle distance in meters from the source point to the target point", + "type": "number", + "readOnly": true + } + } + } + } + }, + "UploadDataRequestBody": { + "description": "This type represents the request body for Spatial Data Upload.", + "type": "object" + }, + "UploadDataResponse": { + "description": "The response model for the spatial data upload API. Returns a unique data id (udid) for the uploaded content.", + "type": "object", + "properties": { + "udid": { + "description": "A unique data id (udid) for the uploaded content.", + "type": "string", + "readOnly": true + } + } + }, + "UploadDataAcceptedResponse": { + "description": "The response model for the spatial data upload API. Returns the current status and a status URI.", + "type": "object", + "properties": { + "status": { + "description": "Current status of the long running upload operation.", + "type": "string", + "readOnly": true + } + } + } + } +} 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 new file mode 100644 index 000000000000..8767d242b699 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "1.0", + "subscription-key": "[subscription-key]", + "datasetId": "[dataset-Id]" + }, + "responses": { + "201": { + "headers": { + "Location": "https://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://atlas.microsoft.com/tileset/{tilesetId}?api-version=1.0" + } + }, + "202": { + "headers": { + "Location": "https://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 new file mode 100644 index 000000000000..8f36f5a7d813 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..382cb4025edf --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..fa4aaaf6ef44 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json @@ -0,0 +1,479 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Tileset Service", + "version": "1.0", + "description": "APIs for managing Tilesets." + }, + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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": { + "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 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": false, + "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": "**Tileset Create API**\n\n**Applies to**: S1 pricing tier.\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. The Tileset API is part of 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": "**Tileset List API**\n\n**Applies to:** S1 pricing tier.\n
    \n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Tileset API is part of 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": "**Tileset Delete API**\n\n**Applies to:** S1 pricing tier.\n
    \n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Tileset API is part of 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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": false, + "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/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json new file mode 100644 index 000000000000..da8cab2ca4b5 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "47.0,-122", + "options": "all", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "Version": "2019a", + "ReferenceUtcTimestamp": "2019-06-17T22:16:59.0765556Z", + "TimeZones": [ + { + "Id": "America/Los_Angeles", + "Aliases": [ + "US/Pacific", + "US/Pacific-New" + ], + "Countries": [ + { + "Name": "United States", + "Code": "US" + } + ], + "Names": { + "ISO6391LanguageCode": "en", + "Generic": "Pacific Time", + "Standard": "Pacific Standard Time", + "Daylight": "Pacific Daylight Time" + }, + "ReferenceTime": { + "Tag": "PDT", + "StandardOffset": "-08:00:00", + "DaylightSavings": "01:00:00", + "WallTime": "2019-06-17T15:16:59.0765556-07:00", + "PosixTzValidYear": 2019, + "PosixTz": "PST+8PDT,M3.2.0,M11.1.0", + "Sunrise": "2019-06-17T05:12:21.267-07:00", + "Sunset": "2019-06-17T21:05:18.017-07:00" + }, + "RepresentativePoint": { + "Latitude": 34.05222222222222, + "Longitude": -118.24277777777777 + }, + "TimeTransitions": [ + { + "Tag": "PDT", + "StandardOffset": "-08:00:00", + "DaylightSavings": "01:00:00", + "UtcStart": "2019-03-10T10:00:00Z", + "UtcEnd": "2019-11-03T09:00:00Z" + }, + { + "Tag": "PST", + "StandardOffset": "-08:00:00", + "DaylightSavings": "00:00:00", + "UtcStart": "2019-11-03T09:00:00Z", + "UtcEnd": "2020-03-08T10:00:00Z" + }, + { + "Tag": "PDT", + "StandardOffset": "-08:00:00", + "DaylightSavings": "01:00:00", + "UtcStart": "2020-03-08T10:00:00Z", + "UtcEnd": "2020-11-01T09:00:00Z" + } + ] + } + ] + } + }, + "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/Timezone/preview/1.0/examples/GetTimezoneByID.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneByID.json new file mode 100644 index 000000000000..e3b6480a99cb --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneByID.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "Asia/Bahrain", + "options": "all", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "Version": "2018c", + "ReferenceUtcTimestamp": "2018-01-31T00:03:15.1349348Z", + "TimeZones": [ + { + "Id": "Asia/Qatar", + "Aliases": [ + "Asia/Bahrain" + ], + "Countries": [ + { + "Name": "Qatar", + "Code": "QA" + }, + { + "Name": "Bahrain", + "Code": "BH" + } + ], + "Names": { + "ISO6391LanguageCode": "en", + "Generic": "Arabian Time", + "Standard": "Arabian Standard Time", + "Daylight": "Arabian Daylight Time" + }, + "ReferenceTime": { + "Tag": "+03", + "StandardOffset": "03:00:00", + "DaylightSavings": "00:00:00", + "WallTime": "2018-01-31T03:03:15.1349348+03:00", + "PosixTzValidYear": 2018, + "PosixTz": "<+03>-3" + }, + "RepresentativePoint": { + "Latitude": 25.283333333333335, + "Longitude": 51.533333333333331 + }, + "TimeTransitions": [ + { + "Tag": "+03", + "StandardOffset": "03:00:00", + "DaylightSavings": "00:00:00", + "UtcStart": "1972-05-31T20:00:00Z", + "UtcEnd": "9999-12-31T23:59:59.9999999Z" + } + ] + } + ] + } + }, + "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/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json new file mode 100644 index 000000000000..ff08c465adf7 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json @@ -0,0 +1,3231 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": [ + { + "id": "Africa/Bamako", + "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/Dakar", + "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/Nouakchott", + "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": "Atlantic/St_Helena", + "isAlias": true, + "aliasOf": "Africa/Abidjan", + "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/Dar_es_Salaam", + "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/Mogadishu", + "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/Mayotte", + "isAlias": true, + "aliasOf": "Africa/Nairobi", + "hasZone1970Location": true + }, + { + "id": "Africa/Blantyre", + "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/Harare", + "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/Lusaka", + "isAlias": true, + "aliasOf": "Africa/Maputo", + "hasZone1970Location": true + }, + { + "id": "Africa/Bangui", + "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/Kinshasa", + "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/Malabo", + "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/Maseru", + "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": "Europe/Nicosia", + "isAlias": true, + "aliasOf": "Asia/Nicosia", + "hasZone1970Location": true + }, + { + "id": "Asia/Bahrain", + "isAlias": true, + "aliasOf": "Asia/Qatar", + "hasZone1970Location": true + }, + { + "id": "Asia/Aden", + "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/Vientiane", + "isAlias": true, + "aliasOf": "Asia/Bangkok", + "hasZone1970Location": true + }, + { + "id": "Asia/Muscat", + "isAlias": true, + "aliasOf": "Asia/Dubai", + "hasZone1970Location": true + }, + { + "id": "Pacific/Saipan", + "isAlias": true, + "aliasOf": "Pacific/Guam", + "hasZone1970Location": true + }, + { + "id": "Antarctica/McMurdo", + "isAlias": true, + "aliasOf": "Pacific/Auckland", + "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/Guernsey", + "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/Busingen", + "isAlias": true, + "aliasOf": "Europe/Zurich", + "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/Vaduz", + "isAlias": true, + "aliasOf": "Europe/Zurich", + "hasZone1970Location": true + }, + { + "id": "Arctic/Longyearbyen", + "isAlias": true, + "aliasOf": "Europe/Oslo", + "hasZone1970Location": true + }, + { + "id": "Europe/Ljubljana", + "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/Skopje", + "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": "Asia/Istanbul", + "isAlias": true, + "aliasOf": "Europe/Istanbul", + "hasZone1970Location": true + }, + { + "id": "America/Cayman", + "isAlias": true, + "aliasOf": "America/Panama", + "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/Kralendijk", + "isAlias": true, + "aliasOf": "America/Curacao", + "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/Dominica", + "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/Marigot", + "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_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_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/Tortola", + "isAlias": true, + "aliasOf": "America/Port_of_Spain", + "hasZone1970Location": true + }, + { + "id": "US/Pacific-New", + "isAlias": true, + "aliasOf": "America/Los_Angeles", + "hasZone1970Location": true + }, + { + "id": "GMT", + "isAlias": true, + "aliasOf": "Etc/GMT", + "hasZone1970Location": false + }, + { + "id": "Etc/Universal", + "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/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": "Africa/Asmera", + "isAlias": true, + "aliasOf": "Africa/Nairobi", + "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/Atka", + "isAlias": true, + "aliasOf": "America/Adak", + "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/Coral_Harbour", + "isAlias": true, + "aliasOf": "America/Atikokan", + "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/Fort_Wayne", + "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/Knox_IN", + "isAlias": true, + "aliasOf": "America/Indiana/Knox", + "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/Montreal", + "isAlias": true, + "aliasOf": "America/Toronto", + "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/Santa_Isabel", + "isAlias": true, + "aliasOf": "America/Tijuana", + "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": "Antarctica/South_Pole", + "isAlias": true, + "aliasOf": "Pacific/Auckland", + "hasZone1970Location": true + }, + { + "id": "Asia/Ashkhabad", + "isAlias": true, + "aliasOf": "Asia/Ashgabat", + "hasZone1970Location": true + }, + { + "id": "Asia/Calcutta", + "isAlias": true, + "aliasOf": "Asia/Kolkata", + "hasZone1970Location": true + }, + { + "id": "Asia/Chongqing", + "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/Harbin", + "isAlias": true, + "aliasOf": "Asia/Shanghai", + "hasZone1970Location": true + }, + { + "id": "Asia/Kashgar", + "isAlias": true, + "aliasOf": "Asia/Urumqi", + "hasZone1970Location": true + }, + { + "id": "Asia/Katmandu", + "isAlias": true, + "aliasOf": "Asia/Kathmandu", + "hasZone1970Location": true + }, + { + "id": "Asia/Macao", + "isAlias": true, + "aliasOf": "Asia/Macau", + "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/Tel_Aviv", + "isAlias": true, + "aliasOf": "Asia/Jerusalem", + "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/Ulan_Bator", + "isAlias": true, + "aliasOf": "Asia/Ulaanbaatar", + "hasZone1970Location": true + }, + { + "id": "Atlantic/Faeroe", + "isAlias": true, + "aliasOf": "Atlantic/Faroe", + "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/Canberra", + "isAlias": true, + "aliasOf": "Australia/Sydney", + "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/North", + "isAlias": true, + "aliasOf": "Australia/Darwin", + "hasZone1970Location": true + }, + { + "id": "Australia/Queensland", + "isAlias": true, + "aliasOf": "Australia/Brisbane", + "hasZone1970Location": true + }, + { + "id": "Australia/South", + "isAlias": true, + "aliasOf": "Australia/Adelaide", + "hasZone1970Location": true + }, + { + "id": "Australia/Tasmania", + "isAlias": true, + "aliasOf": "Australia/Hobart", + "hasZone1970Location": true + }, + { + "id": "Australia/Victoria", + "isAlias": true, + "aliasOf": "Australia/Melbourne", + "hasZone1970Location": true + }, + { + "id": "Australia/West", + "isAlias": true, + "aliasOf": "Australia/Perth", + "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/DeNoronha", + "isAlias": true, + "aliasOf": "America/Noronha", + "hasZone1970Location": true + }, + { + "id": "Brazil/East", + "isAlias": true, + "aliasOf": "America/Sao_Paulo", + "hasZone1970Location": true + }, + { + "id": "Brazil/West", + "isAlias": true, + "aliasOf": "America/Manaus", + "hasZone1970Location": true + }, + { + "id": "Canada/Atlantic", + "isAlias": true, + "aliasOf": "America/Halifax", + "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/Eastern", + "isAlias": true, + "aliasOf": "America/Toronto", + "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/Pacific", + "isAlias": true, + "aliasOf": "America/Vancouver", + "hasZone1970Location": true + }, + { + "id": "Canada/Saskatchewan", + "isAlias": true, + "aliasOf": "America/Regina", + "hasZone1970Location": true + }, + { + "id": "Canada/Yukon", + "isAlias": true, + "aliasOf": "America/Whitehorse", + "hasZone1970Location": true + }, + { + "id": "Chile/Continental", + "isAlias": true, + "aliasOf": "America/Santiago", + "hasZone1970Location": true + }, + { + "id": "Chile/EasterIsland", + "isAlias": true, + "aliasOf": "Pacific/Easter", + "hasZone1970Location": true + }, + { + "id": "Cuba", + "isAlias": true, + "aliasOf": "America/Havana", + "hasZone1970Location": true + }, + { + "id": "Egypt", + "isAlias": true, + "aliasOf": "Africa/Cairo", + "hasZone1970Location": true + }, + { + "id": "Eire", + "isAlias": true, + "aliasOf": "Europe/Dublin", + "hasZone1970Location": true + }, + { + "id": "Europe/Belfast", + "isAlias": true, + "aliasOf": "Europe/London", + "hasZone1970Location": true + }, + { + "id": "Europe/Tiraspol", + "isAlias": true, + "aliasOf": "Europe/Chisinau", + "hasZone1970Location": true + }, + { + "id": "GB", + "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": "GMT0", + "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": "Iceland", + "isAlias": true, + "aliasOf": "Atlantic/Reykjavik", + "hasZone1970Location": true + }, + { + "id": "Iran", + "isAlias": true, + "aliasOf": "Asia/Tehran", + "hasZone1970Location": true + }, + { + "id": "Israel", + "isAlias": true, + "aliasOf": "Asia/Jerusalem", + "hasZone1970Location": true + }, + { + "id": "Jamaica", + "isAlias": true, + "aliasOf": "America/Jamaica", + "hasZone1970Location": true + }, + { + "id": "Japan", + "isAlias": true, + "aliasOf": "Asia/Tokyo", + "hasZone1970Location": true + }, + { + "id": "Kwajalein", + "isAlias": true, + "aliasOf": "Pacific/Kwajalein", + "hasZone1970Location": true + }, + { + "id": "Libya", + "isAlias": true, + "aliasOf": "Africa/Tripoli", + "hasZone1970Location": true + }, + { + "id": "Mexico/BajaNorte", + "isAlias": true, + "aliasOf": "America/Tijuana", + "hasZone1970Location": true + }, + { + "id": "Mexico/BajaSur", + "isAlias": true, + "aliasOf": "America/Mazatlan", + "hasZone1970Location": true + }, + { + "id": "Mexico/General", + "isAlias": true, + "aliasOf": "America/Mexico_City", + "hasZone1970Location": true + }, + { + "id": "NZ", + "isAlias": true, + "aliasOf": "Pacific/Auckland", + "hasZone1970Location": true + }, + { + "id": "NZ-CHAT", + "isAlias": true, + "aliasOf": "Pacific/Chatham", + "hasZone1970Location": true + }, + { + "id": "Navajo", + "isAlias": true, + "aliasOf": "America/Denver", + "hasZone1970Location": true + }, + { + "id": "PRC", + "isAlias": true, + "aliasOf": "Asia/Shanghai", + "hasZone1970Location": true + }, + { + "id": "Pacific/Johnston", + "isAlias": true, + "aliasOf": "Pacific/Honolulu", + "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/Truk", + "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": "Portugal", + "isAlias": true, + "aliasOf": "Europe/Lisbon", + "hasZone1970Location": true + }, + { + "id": "ROC", + "isAlias": true, + "aliasOf": "Asia/Taipei", + "hasZone1970Location": true + }, + { + "id": "ROK", + "isAlias": true, + "aliasOf": "Asia/Seoul", + "hasZone1970Location": true + }, + { + "id": "Singapore", + "isAlias": true, + "aliasOf": "Asia/Singapore", + "hasZone1970Location": true + }, + { + "id": "Turkey", + "isAlias": true, + "aliasOf": "Europe/Istanbul", + "hasZone1970Location": true + }, + { + "id": "UCT", + "isAlias": true, + "aliasOf": "Etc/UCT", + "hasZone1970Location": false + }, + { + "id": "US/Alaska", + "isAlias": true, + "aliasOf": "America/Anchorage", + "hasZone1970Location": true + }, + { + "id": "US/Aleutian", + "isAlias": true, + "aliasOf": "America/Adak", + "hasZone1970Location": true + }, + { + "id": "US/Arizona", + "isAlias": true, + "aliasOf": "America/Phoenix", + "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/Eastern", + "isAlias": true, + "aliasOf": "America/New_York", + "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/Michigan", + "isAlias": true, + "aliasOf": "America/Detroit", + "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/Samoa", + "isAlias": true, + "aliasOf": "Pacific/Pago_Pago", + "hasZone1970Location": true + }, + { + "id": "UTC", + "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": "Zulu", + "isAlias": true, + "aliasOf": "Etc/UTC", + "hasZone1970Location": false + }, + { + "id": "Africa/Abidjan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Accra", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Algiers", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Bissau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Cairo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Casablanca", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Ceuta", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/El_Aaiun", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Johannesburg", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Khartoum", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Lagos", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Maputo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Monrovia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Nairobi", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Ndjamena", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Tripoli", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Tunis", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Africa/Windhoek", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Adak", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Anchorage", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Araguaina", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Buenos_Aires", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Catamarca", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Cordoba", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Jujuy", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/La_Rioja", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Mendoza", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Rio_Gallegos", + "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_Luis", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Tucuman", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Argentina/Ushuaia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Asuncion", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Atikokan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Bahia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Bahia_Banderas", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Barbados", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Belem", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Belize", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Blanc-Sablon", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Boa_Vista", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Bogota", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Boise", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Cambridge_Bay", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Campo_Grande", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Cancun", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Caracas", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Cayenne", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Chicago", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Chihuahua", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Costa_Rica", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Creston", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Cuiaba", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Curacao", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Danmarkshavn", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Dawson", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Dawson_Creek", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Denver", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Detroit", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Edmonton", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Eirunepe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/El_Salvador", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Fort_Nelson", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Fortaleza", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Glace_Bay", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Godthab", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Goose_Bay", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Grand_Turk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Guatemala", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Guayaquil", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Guyana", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Halifax", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Havana", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Hermosillo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Indianapolis", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Knox", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Marengo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Petersburg", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Tell_City", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Vevay", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Vincennes", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Indiana/Winamac", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Inuvik", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Iqaluit", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Jamaica", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Juneau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Kentucky/Louisville", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Kentucky/Monticello", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/La_Paz", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Lima", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Los_Angeles", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Maceio", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Managua", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Manaus", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Martinique", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Matamoros", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Mazatlan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Menominee", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Merida", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Metlakatla", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Mexico_City", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Miquelon", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Moncton", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Monterrey", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Montevideo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Nassau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/New_York", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Nipigon", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Nome", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Noronha", + "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/New_Salem", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Ojinaga", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Panama", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Pangnirtung", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Paramaribo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Phoenix", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Port-au-Prince", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Port_of_Spain", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Porto_Velho", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Puerto_Rico", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Punta_Arenas", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Rainy_River", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Rankin_Inlet", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Recife", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Regina", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Resolute", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Rio_Branco", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Santarem", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Santiago", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Santo_Domingo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Sao_Paulo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Scoresbysund", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Sitka", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/St_Johns", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Swift_Current", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Tegucigalpa", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Thule", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Thunder_Bay", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Tijuana", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Toronto", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Vancouver", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Whitehorse", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Winnipeg", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Yakutat", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "America/Yellowknife", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Casey", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Davis", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/DumontDUrville", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Macquarie", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Mawson", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Palmer", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Rothera", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Syowa", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Troll", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Antarctica/Vostok", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Almaty", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Amman", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Anadyr", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Aqtau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Aqtobe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Ashgabat", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Atyrau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Baghdad", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Baku", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Bangkok", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Barnaul", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Beirut", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Bishkek", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Brunei", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Chita", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Choibalsan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Colombo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Damascus", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Dhaka", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Dili", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Dubai", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Dushanbe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Famagusta", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Gaza", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Hebron", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Ho_Chi_Minh", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Hong_Kong", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Hovd", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Irkutsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Jakarta", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Jayapura", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Jerusalem", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kabul", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kamchatka", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Karachi", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kathmandu", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Khandyga", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kolkata", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Krasnoyarsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kuala_Lumpur", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Kuching", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Macau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Magadan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Makassar", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Manila", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Nicosia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Novokuznetsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Novosibirsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Omsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Oral", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Pontianak", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Pyongyang", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Qatar", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Qyzylorda", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Riyadh", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Sakhalin", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Samarkand", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Seoul", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Shanghai", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Singapore", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Srednekolymsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Taipei", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Tashkent", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Tbilisi", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Tehran", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Thimphu", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Tokyo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Tomsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Ulaanbaatar", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Urumqi", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Ust-Nera", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Vladivostok", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Yakutsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Yangon", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Yekaterinburg", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Asia/Yerevan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Azores", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Bermuda", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Canary", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Cape_Verde", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Faroe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Madeira", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Reykjavik", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/South_Georgia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Atlantic/Stanley", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Adelaide", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Brisbane", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Broken_Hill", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Currie", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Darwin", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Eucla", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Hobart", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Lindeman", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Lord_Howe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Melbourne", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Perth", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Australia/Sydney", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "CET", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "CST6CDT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "EET", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "EST", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "EST5EDT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+1", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+10", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+11", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+12", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+2", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+3", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+4", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+5", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+6", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+7", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+8", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT+9", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-1", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-10", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-11", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-12", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-13", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-14", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-2", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-3", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-4", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-5", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-6", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-7", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-8", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/GMT-9", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/UCT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Etc/UTC", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Europe/Amsterdam", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Andorra", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Astrakhan", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Athens", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Belgrade", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Berlin", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Brussels", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Bucharest", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Budapest", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Chisinau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Copenhagen", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Dublin", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Gibraltar", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Helsinki", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Istanbul", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Kaliningrad", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Kiev", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Kirov", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Lisbon", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/London", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Luxembourg", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Madrid", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Malta", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Minsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Monaco", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Moscow", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Oslo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Paris", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Prague", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Riga", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Rome", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Samara", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Saratov", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Simferopol", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Sofia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Stockholm", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Tallinn", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Tirane", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Ulyanovsk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Uzhgorod", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Vienna", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Vilnius", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Volgograd", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Warsaw", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Zaporozhye", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Europe/Zurich", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "HST", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Indian/Chagos", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Christmas", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Cocos", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Kerguelen", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Mahe", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Maldives", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Mauritius", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Indian/Reunion", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "MET", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "MST", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "MST7MDT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "PST8PDT", + "isAlias": false, + "hasZone1970Location": false + }, + { + "id": "Pacific/Apia", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Auckland", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Bougainville", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Chatham", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Chuuk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Easter", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Efate", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Enderbury", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Fakaofo", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Fiji", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Funafuti", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Galapagos", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Gambier", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Guadalcanal", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Guam", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Honolulu", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Kiritimati", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Kosrae", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Kwajalein", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Majuro", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Marquesas", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Nauru", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Niue", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Norfolk", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Noumea", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Pago_Pago", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Palau", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Pitcairn", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Pohnpei", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Port_Moresby", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Rarotonga", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Tahiti", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Tarawa", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Tongatapu", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Wake", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "Pacific/Wallis", + "isAlias": false, + "hasZone1970Location": true + }, + { + "id": "WET", + "isAlias": false, + "hasZone1970Location": false + } + ] + }, + "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/Timezone/preview/1.0/examples/GetTimezoneEnumWindows.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneEnumWindows.json new file mode 100644 index 000000000000..e6d21bab33b3 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneEnumWindows.json @@ -0,0 +1,3649 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": [ + { + "WindowsId": "Dateline Standard Time", + "Territory": "001", + "IanaIds": [ + "Etc/GMT+12" + ] + }, + { + "WindowsId": "Dateline Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+12" + ] + }, + { + "WindowsId": "UTC-11", + "Territory": "001", + "IanaIds": [ + "Etc/GMT+11" + ] + }, + { + "WindowsId": "UTC-11", + "Territory": "AS", + "IanaIds": [ + "Pacific/Pago_Pago" + ] + }, + { + "WindowsId": "UTC-11", + "Territory": "NU", + "IanaIds": [ + "Pacific/Niue" + ] + }, + { + "WindowsId": "UTC-11", + "Territory": "UM", + "IanaIds": [ + "Pacific/Midway" + ] + }, + { + "WindowsId": "UTC-11", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+11" + ] + }, + { + "WindowsId": "Aleutian Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Adak" + ] + }, + { + "WindowsId": "Aleutian Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Adak" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Honolulu" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "CK", + "IanaIds": [ + "Pacific/Rarotonga" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "PF", + "IanaIds": [ + "Pacific/Tahiti" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "UM", + "IanaIds": [ + "Pacific/Johnston" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "US", + "IanaIds": [ + "Pacific/Honolulu" + ] + }, + { + "WindowsId": "Hawaiian Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+10" + ] + }, + { + "WindowsId": "Marquesas Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Marquesas" + ] + }, + { + "WindowsId": "Marquesas Standard Time", + "Territory": "PF", + "IanaIds": [ + "Pacific/Marquesas" + ] + }, + { + "WindowsId": "Alaskan Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Anchorage" + ] + }, + { + "WindowsId": "Alaskan Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Anchorage", + "America/Juneau", + "America/Metlakatla", + "America/Nome", + "America/Sitka", + "America/Yakutat" + ] + }, + { + "WindowsId": "UTC-09", + "Territory": "001", + "IanaIds": [ + "Etc/GMT+9" + ] + }, + { + "WindowsId": "UTC-09", + "Territory": "PF", + "IanaIds": [ + "Pacific/Gambier" + ] + }, + { + "WindowsId": "UTC-09", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+9" + ] + }, + { + "WindowsId": "Pacific Standard Time (Mexico)", + "Territory": "001", + "IanaIds": [ + "America/Tijuana" + ] + }, + { + "WindowsId": "Pacific Standard Time (Mexico)", + "Territory": "MX", + "IanaIds": [ + "America/Tijuana", + "America/Santa_Isabel" + ] + }, + { + "WindowsId": "UTC-08", + "Territory": "001", + "IanaIds": [ + "Etc/GMT+8" + ] + }, + { + "WindowsId": "UTC-08", + "Territory": "PN", + "IanaIds": [ + "Pacific/Pitcairn" + ] + }, + { + "WindowsId": "UTC-08", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+8" + ] + }, + { + "WindowsId": "Pacific Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Los_Angeles" + ] + }, + { + "WindowsId": "Pacific Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Vancouver", + "America/Dawson", + "America/Whitehorse" + ] + }, + { + "WindowsId": "Pacific Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Los_Angeles" + ] + }, + { + "WindowsId": "Pacific Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "PST8PDT" + ] + }, + { + "WindowsId": "US Mountain Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Phoenix" + ] + }, + { + "WindowsId": "US Mountain Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Dawson_Creek", + "America/Creston", + "America/Fort_Nelson" + ] + }, + { + "WindowsId": "US Mountain Standard Time", + "Territory": "MX", + "IanaIds": [ + "America/Hermosillo" + ] + }, + { + "WindowsId": "US Mountain Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Phoenix" + ] + }, + { + "WindowsId": "US Mountain Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+7" + ] + }, + { + "WindowsId": "Mountain Standard Time (Mexico)", + "Territory": "001", + "IanaIds": [ + "America/Chihuahua" + ] + }, + { + "WindowsId": "Mountain Standard Time (Mexico)", + "Territory": "MX", + "IanaIds": [ + "America/Chihuahua", + "America/Mazatlan" + ] + }, + { + "WindowsId": "Mountain Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Denver" + ] + }, + { + "WindowsId": "Mountain Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Edmonton", + "America/Cambridge_Bay", + "America/Inuvik", + "America/Yellowknife" + ] + }, + { + "WindowsId": "Mountain Standard Time", + "Territory": "MX", + "IanaIds": [ + "America/Ojinaga" + ] + }, + { + "WindowsId": "Mountain Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Denver", + "America/Boise" + ] + }, + { + "WindowsId": "Mountain Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "MST7MDT" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Guatemala" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "BZ", + "IanaIds": [ + "America/Belize" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "CR", + "IanaIds": [ + "America/Costa_Rica" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "EC", + "IanaIds": [ + "Pacific/Galapagos" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "GT", + "IanaIds": [ + "America/Guatemala" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "HN", + "IanaIds": [ + "America/Tegucigalpa" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "NI", + "IanaIds": [ + "America/Managua" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "SV", + "IanaIds": [ + "America/El_Salvador" + ] + }, + { + "WindowsId": "Central America Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+6" + ] + }, + { + "WindowsId": "Central Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Chicago" + ] + }, + { + "WindowsId": "Central Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Winnipeg", + "America/Rainy_River", + "America/Rankin_Inlet", + "America/Resolute" + ] + }, + { + "WindowsId": "Central Standard Time", + "Territory": "MX", + "IanaIds": [ + "America/Matamoros" + ] + }, + { + "WindowsId": "Central Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Chicago", + "America/Indiana/Knox", + "America/Indiana/Tell_City", + "America/Menominee", + "America/North_Dakota/Beulah", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem" + ] + }, + { + "WindowsId": "Central Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "CST6CDT" + ] + }, + { + "WindowsId": "Easter Island Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Easter" + ] + }, + { + "WindowsId": "Easter Island Standard Time", + "Territory": "CL", + "IanaIds": [ + "Pacific/Easter" + ] + }, + { + "WindowsId": "Central Standard Time (Mexico)", + "Territory": "001", + "IanaIds": [ + "America/Mexico_City" + ] + }, + { + "WindowsId": "Central Standard Time (Mexico)", + "Territory": "MX", + "IanaIds": [ + "America/Mexico_City", + "America/Bahia_Banderas", + "America/Merida", + "America/Monterrey" + ] + }, + { + "WindowsId": "Canada Central Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Regina" + ] + }, + { + "WindowsId": "Canada Central Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Regina", + "America/Swift_Current" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Bogota" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Rio_Branco", + "America/Eirunepe" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Coral_Harbour" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "CO", + "IanaIds": [ + "America/Bogota" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "EC", + "IanaIds": [ + "America/Guayaquil" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "JM", + "IanaIds": [ + "America/Jamaica" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "KY", + "IanaIds": [ + "America/Cayman" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "PA", + "IanaIds": [ + "America/Panama" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "PE", + "IanaIds": [ + "America/Lima" + ] + }, + { + "WindowsId": "SA Pacific Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+5" + ] + }, + { + "WindowsId": "Eastern Standard Time (Mexico)", + "Territory": "001", + "IanaIds": [ + "America/Cancun" + ] + }, + { + "WindowsId": "Eastern Standard Time (Mexico)", + "Territory": "MX", + "IanaIds": [ + "America/Cancun" + ] + }, + { + "WindowsId": "Eastern Standard Time", + "Territory": "001", + "IanaIds": [ + "America/New_York" + ] + }, + { + "WindowsId": "Eastern Standard Time", + "Territory": "BS", + "IanaIds": [ + "America/Nassau" + ] + }, + { + "WindowsId": "Eastern Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Toronto", + "America/Iqaluit", + "America/Montreal", + "America/Nipigon", + "America/Pangnirtung", + "America/Thunder_Bay" + ] + }, + { + "WindowsId": "Eastern Standard Time", + "Territory": "US", + "IanaIds": [ + "America/New_York", + "America/Detroit", + "America/Indiana/Petersburg", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Kentucky/Monticello", + "America/Louisville" + ] + }, + { + "WindowsId": "Eastern Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "EST5EDT" + ] + }, + { + "WindowsId": "Haiti Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Port-au-Prince" + ] + }, + { + "WindowsId": "Haiti Standard Time", + "Territory": "HT", + "IanaIds": [ + "America/Port-au-Prince" + ] + }, + { + "WindowsId": "Cuba Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Havana" + ] + }, + { + "WindowsId": "Cuba Standard Time", + "Territory": "CU", + "IanaIds": [ + "America/Havana" + ] + }, + { + "WindowsId": "US Eastern Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Indianapolis" + ] + }, + { + "WindowsId": "US Eastern Standard Time", + "Territory": "US", + "IanaIds": [ + "America/Indianapolis", + "America/Indiana/Marengo", + "America/Indiana/Vevay" + ] + }, + { + "WindowsId": "Paraguay Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Asuncion" + ] + }, + { + "WindowsId": "Paraguay Standard Time", + "Territory": "PY", + "IanaIds": [ + "America/Asuncion" + ] + }, + { + "WindowsId": "Atlantic Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Halifax" + ] + }, + { + "WindowsId": "Atlantic Standard Time", + "Territory": "BM", + "IanaIds": [ + "Atlantic/Bermuda" + ] + }, + { + "WindowsId": "Atlantic Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Halifax", + "America/Glace_Bay", + "America/Goose_Bay", + "America/Moncton" + ] + }, + { + "WindowsId": "Atlantic Standard Time", + "Territory": "GL", + "IanaIds": [ + "America/Thule" + ] + }, + { + "WindowsId": "Venezuela Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Caracas" + ] + }, + { + "WindowsId": "Venezuela Standard Time", + "Territory": "VE", + "IanaIds": [ + "America/Caracas" + ] + }, + { + "WindowsId": "Central Brazilian Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Cuiaba" + ] + }, + { + "WindowsId": "Central Brazilian Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Cuiaba", + "America/Campo_Grande" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "001", + "IanaIds": [ + "America/La_Paz" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "AG", + "IanaIds": [ + "America/Antigua" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "AI", + "IanaIds": [ + "America/Anguilla" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "AW", + "IanaIds": [ + "America/Aruba" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "BB", + "IanaIds": [ + "America/Barbados" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "BL", + "IanaIds": [ + "America/St_Barthelemy" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "BO", + "IanaIds": [ + "America/La_Paz" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "BQ", + "IanaIds": [ + "America/Kralendijk" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Manaus", + "America/Boa_Vista", + "America/Porto_Velho" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/Blanc-Sablon" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "CW", + "IanaIds": [ + "America/Curacao" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "DM", + "IanaIds": [ + "America/Dominica" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "DO", + "IanaIds": [ + "America/Santo_Domingo" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "GD", + "IanaIds": [ + "America/Grenada" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "GP", + "IanaIds": [ + "America/Guadeloupe" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "GY", + "IanaIds": [ + "America/Guyana" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "KN", + "IanaIds": [ + "America/St_Kitts" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "LC", + "IanaIds": [ + "America/St_Lucia" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "MF", + "IanaIds": [ + "America/Marigot" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "MQ", + "IanaIds": [ + "America/Martinique" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "MS", + "IanaIds": [ + "America/Montserrat" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "PR", + "IanaIds": [ + "America/Puerto_Rico" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "SX", + "IanaIds": [ + "America/Lower_Princes" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "TT", + "IanaIds": [ + "America/Port_of_Spain" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "VC", + "IanaIds": [ + "America/St_Vincent" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "VG", + "IanaIds": [ + "America/Tortola" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "VI", + "IanaIds": [ + "America/St_Thomas" + ] + }, + { + "WindowsId": "SA Western Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+4" + ] + }, + { + "WindowsId": "Pacific SA Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Santiago" + ] + }, + { + "WindowsId": "Pacific SA Standard Time", + "Territory": "CL", + "IanaIds": [ + "America/Santiago" + ] + }, + { + "WindowsId": "Turks And Caicos Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Grand_Turk" + ] + }, + { + "WindowsId": "Turks And Caicos Standard Time", + "Territory": "TC", + "IanaIds": [ + "America/Grand_Turk" + ] + }, + { + "WindowsId": "Newfoundland Standard Time", + "Territory": "001", + "IanaIds": [ + "America/St_Johns" + ] + }, + { + "WindowsId": "Newfoundland Standard Time", + "Territory": "CA", + "IanaIds": [ + "America/St_Johns" + ] + }, + { + "WindowsId": "Tocantins Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Araguaina" + ] + }, + { + "WindowsId": "Tocantins Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Araguaina" + ] + }, + { + "WindowsId": "E. South America Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Sao_Paulo" + ] + }, + { + "WindowsId": "E. South America Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Sao_Paulo" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Cayenne" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Rothera" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Fortaleza", + "America/Belem", + "America/Maceio", + "America/Recife", + "America/Santarem" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "FK", + "IanaIds": [ + "Atlantic/Stanley" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "GF", + "IanaIds": [ + "America/Cayenne" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "SR", + "IanaIds": [ + "America/Paramaribo" + ] + }, + { + "WindowsId": "SA Eastern Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+3" + ] + }, + { + "WindowsId": "Argentina Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Buenos_Aires" + ] + }, + { + "WindowsId": "Argentina Standard Time", + "Territory": "AR", + "IanaIds": [ + "America/Buenos_Aires", + "America/Argentina/La_Rioja", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Salta", + "America/Argentina/San_Juan", + "America/Argentina/San_Luis", + "America/Argentina/Tucuman", + "America/Argentina/Ushuaia", + "America/Catamarca", + "America/Cordoba", + "America/Jujuy", + "America/Mendoza" + ] + }, + { + "WindowsId": "Greenland Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Godthab" + ] + }, + { + "WindowsId": "Greenland Standard Time", + "Territory": "GL", + "IanaIds": [ + "America/Godthab" + ] + }, + { + "WindowsId": "Montevideo Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Montevideo" + ] + }, + { + "WindowsId": "Montevideo Standard Time", + "Territory": "UY", + "IanaIds": [ + "America/Montevideo" + ] + }, + { + "WindowsId": "Magallanes Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Punta_Arenas" + ] + }, + { + "WindowsId": "Magallanes Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Palmer" + ] + }, + { + "WindowsId": "Magallanes Standard Time", + "Territory": "CL", + "IanaIds": [ + "America/Punta_Arenas" + ] + }, + { + "WindowsId": "Saint Pierre Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Miquelon" + ] + }, + { + "WindowsId": "Saint Pierre Standard Time", + "Territory": "PM", + "IanaIds": [ + "America/Miquelon" + ] + }, + { + "WindowsId": "Bahia Standard Time", + "Territory": "001", + "IanaIds": [ + "America/Bahia" + ] + }, + { + "WindowsId": "Bahia Standard Time", + "Territory": "BR", + "IanaIds": [ + "America/Bahia" + ] + }, + { + "WindowsId": "UTC-02", + "Territory": "001", + "IanaIds": [ + "Etc/GMT+2" + ] + }, + { + "WindowsId": "UTC-02", + "Territory": "BR", + "IanaIds": [ + "America/Noronha" + ] + }, + { + "WindowsId": "UTC-02", + "Territory": "GS", + "IanaIds": [ + "Atlantic/South_Georgia" + ] + }, + { + "WindowsId": "UTC-02", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+2" + ] + }, + { + "WindowsId": "Azores Standard Time", + "Territory": "001", + "IanaIds": [ + "Atlantic/Azores" + ] + }, + { + "WindowsId": "Azores Standard Time", + "Territory": "GL", + "IanaIds": [ + "America/Scoresbysund" + ] + }, + { + "WindowsId": "Azores Standard Time", + "Territory": "PT", + "IanaIds": [ + "Atlantic/Azores" + ] + }, + { + "WindowsId": "Cape Verde Standard Time", + "Territory": "001", + "IanaIds": [ + "Atlantic/Cape_Verde" + ] + }, + { + "WindowsId": "Cape Verde Standard Time", + "Territory": "CV", + "IanaIds": [ + "Atlantic/Cape_Verde" + ] + }, + { + "WindowsId": "Cape Verde Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT+1" + ] + }, + { + "WindowsId": "UTC", + "Territory": "001", + "IanaIds": [ + "Etc/GMT" + ] + }, + { + "WindowsId": "UTC", + "Territory": "GL", + "IanaIds": [ + "America/Danmarkshavn" + ] + }, + { + "WindowsId": "UTC", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT", + "Etc/UTC" + ] + }, + { + "WindowsId": "Morocco Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Casablanca" + ] + }, + { + "WindowsId": "Morocco Standard Time", + "Territory": "EH", + "IanaIds": [ + "Africa/El_Aaiun" + ] + }, + { + "WindowsId": "Morocco Standard Time", + "Territory": "MA", + "IanaIds": [ + "Africa/Casablanca" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/London" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "ES", + "IanaIds": [ + "Atlantic/Canary" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "FO", + "IanaIds": [ + "Atlantic/Faeroe" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "GB", + "IanaIds": [ + "Europe/London" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "GG", + "IanaIds": [ + "Europe/Guernsey" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "IE", + "IanaIds": [ + "Europe/Dublin" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "IM", + "IanaIds": [ + "Europe/Isle_of_Man" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "JE", + "IanaIds": [ + "Europe/Jersey" + ] + }, + { + "WindowsId": "GMT Standard Time", + "Territory": "PT", + "IanaIds": [ + "Europe/Lisbon", + "Atlantic/Madeira" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "001", + "IanaIds": [ + "Atlantic/Reykjavik" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "BF", + "IanaIds": [ + "Africa/Ouagadougou" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "CI", + "IanaIds": [ + "Africa/Abidjan" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "GH", + "IanaIds": [ + "Africa/Accra" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "GM", + "IanaIds": [ + "Africa/Banjul" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "GN", + "IanaIds": [ + "Africa/Conakry" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "GW", + "IanaIds": [ + "Africa/Bissau" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "IS", + "IanaIds": [ + "Atlantic/Reykjavik" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "LR", + "IanaIds": [ + "Africa/Monrovia" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "ML", + "IanaIds": [ + "Africa/Bamako" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "MR", + "IanaIds": [ + "Africa/Nouakchott" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "SH", + "IanaIds": [ + "Atlantic/St_Helena" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "SL", + "IanaIds": [ + "Africa/Freetown" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "SN", + "IanaIds": [ + "Africa/Dakar" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "ST", + "IanaIds": [ + "Africa/Sao_Tome" + ] + }, + { + "WindowsId": "Greenwich Standard Time", + "Territory": "TG", + "IanaIds": [ + "Africa/Lome" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Berlin" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "AD", + "IanaIds": [ + "Europe/Andorra" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "AT", + "IanaIds": [ + "Europe/Vienna" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "CH", + "IanaIds": [ + "Europe/Zurich" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "DE", + "IanaIds": [ + "Europe/Berlin", + "Europe/Busingen" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "GI", + "IanaIds": [ + "Europe/Gibraltar" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "IT", + "IanaIds": [ + "Europe/Rome" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "LI", + "IanaIds": [ + "Europe/Vaduz" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "LU", + "IanaIds": [ + "Europe/Luxembourg" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "MC", + "IanaIds": [ + "Europe/Monaco" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "MT", + "IanaIds": [ + "Europe/Malta" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "NL", + "IanaIds": [ + "Europe/Amsterdam" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "NO", + "IanaIds": [ + "Europe/Oslo" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "SE", + "IanaIds": [ + "Europe/Stockholm" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "SJ", + "IanaIds": [ + "Arctic/Longyearbyen" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "SM", + "IanaIds": [ + "Europe/San_Marino" + ] + }, + { + "WindowsId": "W. Europe Standard Time", + "Territory": "VA", + "IanaIds": [ + "Europe/Vatican" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Budapest" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "AL", + "IanaIds": [ + "Europe/Tirane" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "CZ", + "IanaIds": [ + "Europe/Prague" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "HU", + "IanaIds": [ + "Europe/Budapest" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "ME", + "IanaIds": [ + "Europe/Podgorica" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "RS", + "IanaIds": [ + "Europe/Belgrade" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "SI", + "IanaIds": [ + "Europe/Ljubljana" + ] + }, + { + "WindowsId": "Central Europe Standard Time", + "Territory": "SK", + "IanaIds": [ + "Europe/Bratislava" + ] + }, + { + "WindowsId": "Romance Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Paris" + ] + }, + { + "WindowsId": "Romance Standard Time", + "Territory": "BE", + "IanaIds": [ + "Europe/Brussels" + ] + }, + { + "WindowsId": "Romance Standard Time", + "Territory": "DK", + "IanaIds": [ + "Europe/Copenhagen" + ] + }, + { + "WindowsId": "Romance Standard Time", + "Territory": "ES", + "IanaIds": [ + "Europe/Madrid", + "Africa/Ceuta" + ] + }, + { + "WindowsId": "Romance Standard Time", + "Territory": "FR", + "IanaIds": [ + "Europe/Paris" + ] + }, + { + "WindowsId": "Central European Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Warsaw" + ] + }, + { + "WindowsId": "Central European Standard Time", + "Territory": "BA", + "IanaIds": [ + "Europe/Sarajevo" + ] + }, + { + "WindowsId": "Central European Standard Time", + "Territory": "HR", + "IanaIds": [ + "Europe/Zagreb" + ] + }, + { + "WindowsId": "Central European Standard Time", + "Territory": "MK", + "IanaIds": [ + "Europe/Skopje" + ] + }, + { + "WindowsId": "Central European Standard Time", + "Territory": "PL", + "IanaIds": [ + "Europe/Warsaw" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Lagos" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "AO", + "IanaIds": [ + "Africa/Luanda" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "BJ", + "IanaIds": [ + "Africa/Porto-Novo" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "CD", + "IanaIds": [ + "Africa/Kinshasa" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "CF", + "IanaIds": [ + "Africa/Bangui" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "CG", + "IanaIds": [ + "Africa/Brazzaville" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "CM", + "IanaIds": [ + "Africa/Douala" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "DZ", + "IanaIds": [ + "Africa/Algiers" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "GA", + "IanaIds": [ + "Africa/Libreville" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "GQ", + "IanaIds": [ + "Africa/Malabo" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "NE", + "IanaIds": [ + "Africa/Niamey" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "NG", + "IanaIds": [ + "Africa/Lagos" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "TD", + "IanaIds": [ + "Africa/Ndjamena" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "TN", + "IanaIds": [ + "Africa/Tunis" + ] + }, + { + "WindowsId": "W. Central Africa Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-1" + ] + }, + { + "WindowsId": "Namibia Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Windhoek" + ] + }, + { + "WindowsId": "Namibia Standard Time", + "Territory": "NA", + "IanaIds": [ + "Africa/Windhoek" + ] + }, + { + "WindowsId": "Jordan Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Amman" + ] + }, + { + "WindowsId": "Jordan Standard Time", + "Territory": "JO", + "IanaIds": [ + "Asia/Amman" + ] + }, + { + "WindowsId": "GTB Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Bucharest" + ] + }, + { + "WindowsId": "GTB Standard Time", + "Territory": "CY", + "IanaIds": [ + "Asia/Nicosia" + ] + }, + { + "WindowsId": "GTB Standard Time", + "Territory": "GR", + "IanaIds": [ + "Europe/Athens" + ] + }, + { + "WindowsId": "GTB Standard Time", + "Territory": "RO", + "IanaIds": [ + "Europe/Bucharest" + ] + }, + { + "WindowsId": "Middle East Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Beirut" + ] + }, + { + "WindowsId": "Middle East Standard Time", + "Territory": "LB", + "IanaIds": [ + "Asia/Beirut" + ] + }, + { + "WindowsId": "Egypt Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Cairo" + ] + }, + { + "WindowsId": "Egypt Standard Time", + "Territory": "EG", + "IanaIds": [ + "Africa/Cairo" + ] + }, + { + "WindowsId": "E. Europe Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Chisinau" + ] + }, + { + "WindowsId": "E. Europe Standard Time", + "Territory": "MD", + "IanaIds": [ + "Europe/Chisinau" + ] + }, + { + "WindowsId": "Syria Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Damascus" + ] + }, + { + "WindowsId": "Syria Standard Time", + "Territory": "SY", + "IanaIds": [ + "Asia/Damascus" + ] + }, + { + "WindowsId": "West Bank Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Hebron" + ] + }, + { + "WindowsId": "West Bank Standard Time", + "Territory": "PS", + "IanaIds": [ + "Asia/Hebron", + "Asia/Gaza" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Johannesburg" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "BI", + "IanaIds": [ + "Africa/Bujumbura" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "BW", + "IanaIds": [ + "Africa/Gaborone" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "CD", + "IanaIds": [ + "Africa/Lubumbashi" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "LS", + "IanaIds": [ + "Africa/Maseru" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "MW", + "IanaIds": [ + "Africa/Blantyre" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "MZ", + "IanaIds": [ + "Africa/Maputo" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "RW", + "IanaIds": [ + "Africa/Kigali" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "SZ", + "IanaIds": [ + "Africa/Mbabane" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "ZA", + "IanaIds": [ + "Africa/Johannesburg" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "ZM", + "IanaIds": [ + "Africa/Lusaka" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "ZW", + "IanaIds": [ + "Africa/Harare" + ] + }, + { + "WindowsId": "South Africa Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-2" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Kiev" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "AX", + "IanaIds": [ + "Europe/Mariehamn" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "BG", + "IanaIds": [ + "Europe/Sofia" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "EE", + "IanaIds": [ + "Europe/Tallinn" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "FI", + "IanaIds": [ + "Europe/Helsinki" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "LT", + "IanaIds": [ + "Europe/Vilnius" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "LV", + "IanaIds": [ + "Europe/Riga" + ] + }, + { + "WindowsId": "FLE Standard Time", + "Territory": "UA", + "IanaIds": [ + "Europe/Kiev", + "Europe/Uzhgorod", + "Europe/Zaporozhye" + ] + }, + { + "WindowsId": "Israel Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Jerusalem" + ] + }, + { + "WindowsId": "Israel Standard Time", + "Territory": "IL", + "IanaIds": [ + "Asia/Jerusalem" + ] + }, + { + "WindowsId": "Kaliningrad Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Kaliningrad" + ] + }, + { + "WindowsId": "Kaliningrad Standard Time", + "Territory": "RU", + "IanaIds": [ + "Europe/Kaliningrad" + ] + }, + { + "WindowsId": "Libya Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Tripoli" + ] + }, + { + "WindowsId": "Libya Standard Time", + "Territory": "LY", + "IanaIds": [ + "Africa/Tripoli" + ] + }, + { + "WindowsId": "Arabic Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Baghdad" + ] + }, + { + "WindowsId": "Arabic Standard Time", + "Territory": "IQ", + "IanaIds": [ + "Asia/Baghdad" + ] + }, + { + "WindowsId": "Turkey Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Istanbul" + ] + }, + { + "WindowsId": "Turkey Standard Time", + "Territory": "CY", + "IanaIds": [ + "Asia/Famagusta" + ] + }, + { + "WindowsId": "Turkey Standard Time", + "Territory": "TR", + "IanaIds": [ + "Europe/Istanbul" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Riyadh" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "BH", + "IanaIds": [ + "Asia/Bahrain" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "KW", + "IanaIds": [ + "Asia/Kuwait" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "QA", + "IanaIds": [ + "Asia/Qatar" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "SA", + "IanaIds": [ + "Asia/Riyadh" + ] + }, + { + "WindowsId": "Arab Standard Time", + "Territory": "YE", + "IanaIds": [ + "Asia/Aden" + ] + }, + { + "WindowsId": "Belarus Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Minsk" + ] + }, + { + "WindowsId": "Belarus Standard Time", + "Territory": "BY", + "IanaIds": [ + "Europe/Minsk" + ] + }, + { + "WindowsId": "Russian Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Moscow" + ] + }, + { + "WindowsId": "Russian Standard Time", + "Territory": "RU", + "IanaIds": [ + "Europe/Moscow", + "Europe/Kirov", + "Europe/Volgograd" + ] + }, + { + "WindowsId": "Russian Standard Time", + "Territory": "UA", + "IanaIds": [ + "Europe/Simferopol" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "001", + "IanaIds": [ + "Africa/Nairobi" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Syowa" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "DJ", + "IanaIds": [ + "Africa/Djibouti" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "ER", + "IanaIds": [ + "Africa/Asmera" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "ET", + "IanaIds": [ + "Africa/Addis_Ababa" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "KE", + "IanaIds": [ + "Africa/Nairobi" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "KM", + "IanaIds": [ + "Indian/Comoro" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "MG", + "IanaIds": [ + "Indian/Antananarivo" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "SD", + "IanaIds": [ + "Africa/Khartoum" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "SO", + "IanaIds": [ + "Africa/Mogadishu" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "SS", + "IanaIds": [ + "Africa/Juba" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "TZ", + "IanaIds": [ + "Africa/Dar_es_Salaam" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "UG", + "IanaIds": [ + "Africa/Kampala" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "YT", + "IanaIds": [ + "Indian/Mayotte" + ] + }, + { + "WindowsId": "E. Africa Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-3" + ] + }, + { + "WindowsId": "Iran Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Tehran" + ] + }, + { + "WindowsId": "Iran Standard Time", + "Territory": "IR", + "IanaIds": [ + "Asia/Tehran" + ] + }, + { + "WindowsId": "Arabian Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Dubai" + ] + }, + { + "WindowsId": "Arabian Standard Time", + "Territory": "AE", + "IanaIds": [ + "Asia/Dubai" + ] + }, + { + "WindowsId": "Arabian Standard Time", + "Territory": "OM", + "IanaIds": [ + "Asia/Muscat" + ] + }, + { + "WindowsId": "Arabian Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-4" + ] + }, + { + "WindowsId": "Astrakhan Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Astrakhan" + ] + }, + { + "WindowsId": "Astrakhan Standard Time", + "Territory": "RU", + "IanaIds": [ + "Europe/Astrakhan", + "Europe/Ulyanovsk" + ] + }, + { + "WindowsId": "Azerbaijan Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Baku" + ] + }, + { + "WindowsId": "Azerbaijan Standard Time", + "Territory": "AZ", + "IanaIds": [ + "Asia/Baku" + ] + }, + { + "WindowsId": "Russia Time Zone 3", + "Territory": "001", + "IanaIds": [ + "Europe/Samara" + ] + }, + { + "WindowsId": "Russia Time Zone 3", + "Territory": "RU", + "IanaIds": [ + "Europe/Samara" + ] + }, + { + "WindowsId": "Mauritius Standard Time", + "Territory": "001", + "IanaIds": [ + "Indian/Mauritius" + ] + }, + { + "WindowsId": "Mauritius Standard Time", + "Territory": "MU", + "IanaIds": [ + "Indian/Mauritius" + ] + }, + { + "WindowsId": "Mauritius Standard Time", + "Territory": "RE", + "IanaIds": [ + "Indian/Reunion" + ] + }, + { + "WindowsId": "Mauritius Standard Time", + "Territory": "SC", + "IanaIds": [ + "Indian/Mahe" + ] + }, + { + "WindowsId": "Saratov Standard Time", + "Territory": "001", + "IanaIds": [ + "Europe/Saratov" + ] + }, + { + "WindowsId": "Saratov Standard Time", + "Territory": "RU", + "IanaIds": [ + "Europe/Saratov" + ] + }, + { + "WindowsId": "Georgian Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Tbilisi" + ] + }, + { + "WindowsId": "Georgian Standard Time", + "Territory": "GE", + "IanaIds": [ + "Asia/Tbilisi" + ] + }, + { + "WindowsId": "Caucasus Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Yerevan" + ] + }, + { + "WindowsId": "Caucasus Standard Time", + "Territory": "AM", + "IanaIds": [ + "Asia/Yerevan" + ] + }, + { + "WindowsId": "Afghanistan Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Kabul" + ] + }, + { + "WindowsId": "Afghanistan Standard Time", + "Territory": "AF", + "IanaIds": [ + "Asia/Kabul" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Tashkent" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Mawson" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "KZ", + "IanaIds": [ + "Asia/Oral", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Atyrau" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "MV", + "IanaIds": [ + "Indian/Maldives" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "TF", + "IanaIds": [ + "Indian/Kerguelen" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "TJ", + "IanaIds": [ + "Asia/Dushanbe" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "TM", + "IanaIds": [ + "Asia/Ashgabat" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "UZ", + "IanaIds": [ + "Asia/Tashkent", + "Asia/Samarkand" + ] + }, + { + "WindowsId": "West Asia Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-5" + ] + }, + { + "WindowsId": "Ekaterinburg Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Yekaterinburg" + ] + }, + { + "WindowsId": "Ekaterinburg Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Yekaterinburg" + ] + }, + { + "WindowsId": "Pakistan Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Karachi" + ] + }, + { + "WindowsId": "Pakistan Standard Time", + "Territory": "PK", + "IanaIds": [ + "Asia/Karachi" + ] + }, + { + "WindowsId": "India Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Calcutta" + ] + }, + { + "WindowsId": "India Standard Time", + "Territory": "IN", + "IanaIds": [ + "Asia/Calcutta" + ] + }, + { + "WindowsId": "Sri Lanka Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Colombo" + ] + }, + { + "WindowsId": "Sri Lanka Standard Time", + "Territory": "LK", + "IanaIds": [ + "Asia/Colombo" + ] + }, + { + "WindowsId": "Nepal Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Katmandu" + ] + }, + { + "WindowsId": "Nepal Standard Time", + "Territory": "NP", + "IanaIds": [ + "Asia/Katmandu" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Almaty" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Vostok" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "CN", + "IanaIds": [ + "Asia/Urumqi" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "IO", + "IanaIds": [ + "Indian/Chagos" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "KG", + "IanaIds": [ + "Asia/Bishkek" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "KZ", + "IanaIds": [ + "Asia/Almaty", + "Asia/Qyzylorda" + ] + }, + { + "WindowsId": "Central Asia Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-6" + ] + }, + { + "WindowsId": "Bangladesh Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Dhaka" + ] + }, + { + "WindowsId": "Bangladesh Standard Time", + "Territory": "BD", + "IanaIds": [ + "Asia/Dhaka" + ] + }, + { + "WindowsId": "Bangladesh Standard Time", + "Territory": "BT", + "IanaIds": [ + "Asia/Thimphu" + ] + }, + { + "WindowsId": "Omsk Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Omsk" + ] + }, + { + "WindowsId": "Omsk Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Omsk" + ] + }, + { + "WindowsId": "Myanmar Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Rangoon" + ] + }, + { + "WindowsId": "Myanmar Standard Time", + "Territory": "CC", + "IanaIds": [ + "Indian/Cocos" + ] + }, + { + "WindowsId": "Myanmar Standard Time", + "Territory": "MM", + "IanaIds": [ + "Asia/Rangoon" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Bangkok" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Davis" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "CX", + "IanaIds": [ + "Indian/Christmas" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "ID", + "IanaIds": [ + "Asia/Jakarta", + "Asia/Pontianak" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "KH", + "IanaIds": [ + "Asia/Phnom_Penh" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "LA", + "IanaIds": [ + "Asia/Vientiane" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "TH", + "IanaIds": [ + "Asia/Bangkok" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "VN", + "IanaIds": [ + "Asia/Saigon" + ] + }, + { + "WindowsId": "SE Asia Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-7" + ] + }, + { + "WindowsId": "Altai Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Barnaul" + ] + }, + { + "WindowsId": "Altai Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Barnaul" + ] + }, + { + "WindowsId": "W. Mongolia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Hovd" + ] + }, + { + "WindowsId": "W. Mongolia Standard Time", + "Territory": "MN", + "IanaIds": [ + "Asia/Hovd" + ] + }, + { + "WindowsId": "North Asia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Krasnoyarsk" + ] + }, + { + "WindowsId": "North Asia Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Krasnoyarsk", + "Asia/Novokuznetsk" + ] + }, + { + "WindowsId": "N. Central Asia Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Novosibirsk" + ] + }, + { + "WindowsId": "N. Central Asia Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Novosibirsk" + ] + }, + { + "WindowsId": "Tomsk Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Tomsk" + ] + }, + { + "WindowsId": "Tomsk Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Tomsk" + ] + }, + { + "WindowsId": "China Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Shanghai" + ] + }, + { + "WindowsId": "China Standard Time", + "Territory": "CN", + "IanaIds": [ + "Asia/Shanghai" + ] + }, + { + "WindowsId": "China Standard Time", + "Territory": "HK", + "IanaIds": [ + "Asia/Hong_Kong" + ] + }, + { + "WindowsId": "China Standard Time", + "Territory": "MO", + "IanaIds": [ + "Asia/Macau" + ] + }, + { + "WindowsId": "North Asia East Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Irkutsk" + ] + }, + { + "WindowsId": "North Asia East Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Irkutsk" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Singapore" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "BN", + "IanaIds": [ + "Asia/Brunei" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "ID", + "IanaIds": [ + "Asia/Makassar" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "MY", + "IanaIds": [ + "Asia/Kuala_Lumpur", + "Asia/Kuching" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "PH", + "IanaIds": [ + "Asia/Manila" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "SG", + "IanaIds": [ + "Asia/Singapore" + ] + }, + { + "WindowsId": "Singapore Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-8" + ] + }, + { + "WindowsId": "W. Australia Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Perth" + ] + }, + { + "WindowsId": "W. Australia Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Perth" + ] + }, + { + "WindowsId": "Taipei Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Taipei" + ] + }, + { + "WindowsId": "Taipei Standard Time", + "Territory": "TW", + "IanaIds": [ + "Asia/Taipei" + ] + }, + { + "WindowsId": "Ulaanbaatar Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Ulaanbaatar" + ] + }, + { + "WindowsId": "Ulaanbaatar Standard Time", + "Territory": "MN", + "IanaIds": [ + "Asia/Ulaanbaatar", + "Asia/Choibalsan" + ] + }, + { + "WindowsId": "North Korea Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Pyongyang" + ] + }, + { + "WindowsId": "North Korea Standard Time", + "Territory": "KP", + "IanaIds": [ + "Asia/Pyongyang" + ] + }, + { + "WindowsId": "Aus Central W. Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Eucla" + ] + }, + { + "WindowsId": "Aus Central W. Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Eucla" + ] + }, + { + "WindowsId": "Transbaikal Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Chita" + ] + }, + { + "WindowsId": "Transbaikal Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Chita" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Tokyo" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "ID", + "IanaIds": [ + "Asia/Jayapura" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "JP", + "IanaIds": [ + "Asia/Tokyo" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "PW", + "IanaIds": [ + "Pacific/Palau" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "TL", + "IanaIds": [ + "Asia/Dili" + ] + }, + { + "WindowsId": "Tokyo Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-9" + ] + }, + { + "WindowsId": "Korea Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Seoul" + ] + }, + { + "WindowsId": "Korea Standard Time", + "Territory": "KR", + "IanaIds": [ + "Asia/Seoul" + ] + }, + { + "WindowsId": "Yakutsk Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Yakutsk" + ] + }, + { + "WindowsId": "Yakutsk Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Yakutsk", + "Asia/Khandyga" + ] + }, + { + "WindowsId": "Cen. Australia Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Adelaide" + ] + }, + { + "WindowsId": "Cen. Australia Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Adelaide", + "Australia/Broken_Hill" + ] + }, + { + "WindowsId": "AUS Central Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Darwin" + ] + }, + { + "WindowsId": "AUS Central Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Darwin" + ] + }, + { + "WindowsId": "E. Australia Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Brisbane" + ] + }, + { + "WindowsId": "E. Australia Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Brisbane", + "Australia/Lindeman" + ] + }, + { + "WindowsId": "AUS Eastern Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Sydney" + ] + }, + { + "WindowsId": "AUS Eastern Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Sydney", + "Australia/Melbourne" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Port_Moresby" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/DumontDUrville" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "FM", + "IanaIds": [ + "Pacific/Truk" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "GU", + "IanaIds": [ + "Pacific/Guam" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "MP", + "IanaIds": [ + "Pacific/Saipan" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "PG", + "IanaIds": [ + "Pacific/Port_Moresby" + ] + }, + { + "WindowsId": "West Pacific Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-10" + ] + }, + { + "WindowsId": "Tasmania Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Hobart" + ] + }, + { + "WindowsId": "Tasmania Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Hobart", + "Australia/Currie" + ] + }, + { + "WindowsId": "Vladivostok Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Vladivostok" + ] + }, + { + "WindowsId": "Vladivostok Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Vladivostok", + "Asia/Ust-Nera" + ] + }, + { + "WindowsId": "Lord Howe Standard Time", + "Territory": "001", + "IanaIds": [ + "Australia/Lord_Howe" + ] + }, + { + "WindowsId": "Lord Howe Standard Time", + "Territory": "AU", + "IanaIds": [ + "Australia/Lord_Howe" + ] + }, + { + "WindowsId": "Bougainville Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Bougainville" + ] + }, + { + "WindowsId": "Bougainville Standard Time", + "Territory": "PG", + "IanaIds": [ + "Pacific/Bougainville" + ] + }, + { + "WindowsId": "Russia Time Zone 10", + "Territory": "001", + "IanaIds": [ + "Asia/Srednekolymsk" + ] + }, + { + "WindowsId": "Russia Time Zone 10", + "Territory": "RU", + "IanaIds": [ + "Asia/Srednekolymsk" + ] + }, + { + "WindowsId": "Magadan Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Magadan" + ] + }, + { + "WindowsId": "Magadan Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Magadan" + ] + }, + { + "WindowsId": "Norfolk Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Norfolk" + ] + }, + { + "WindowsId": "Norfolk Standard Time", + "Territory": "NF", + "IanaIds": [ + "Pacific/Norfolk" + ] + }, + { + "WindowsId": "Sakhalin Standard Time", + "Territory": "001", + "IanaIds": [ + "Asia/Sakhalin" + ] + }, + { + "WindowsId": "Sakhalin Standard Time", + "Territory": "RU", + "IanaIds": [ + "Asia/Sakhalin" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Guadalcanal" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/Casey" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "AU", + "IanaIds": [ + "Antarctica/Macquarie" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "FM", + "IanaIds": [ + "Pacific/Ponape", + "Pacific/Kosrae" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "NC", + "IanaIds": [ + "Pacific/Noumea" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "SB", + "IanaIds": [ + "Pacific/Guadalcanal" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "VU", + "IanaIds": [ + "Pacific/Efate" + ] + }, + { + "WindowsId": "Central Pacific Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-11" + ] + }, + { + "WindowsId": "Russia Time Zone 11", + "Territory": "001", + "IanaIds": [ + "Asia/Kamchatka" + ] + }, + { + "WindowsId": "Russia Time Zone 11", + "Territory": "RU", + "IanaIds": [ + "Asia/Kamchatka", + "Asia/Anadyr" + ] + }, + { + "WindowsId": "New Zealand Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Auckland" + ] + }, + { + "WindowsId": "New Zealand Standard Time", + "Territory": "AQ", + "IanaIds": [ + "Antarctica/McMurdo" + ] + }, + { + "WindowsId": "New Zealand Standard Time", + "Territory": "NZ", + "IanaIds": [ + "Pacific/Auckland" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "001", + "IanaIds": [ + "Etc/GMT-12" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "KI", + "IanaIds": [ + "Pacific/Tarawa" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "MH", + "IanaIds": [ + "Pacific/Majuro", + "Pacific/Kwajalein" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "NR", + "IanaIds": [ + "Pacific/Nauru" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "TV", + "IanaIds": [ + "Pacific/Funafuti" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "UM", + "IanaIds": [ + "Pacific/Wake" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "WF", + "IanaIds": [ + "Pacific/Wallis" + ] + }, + { + "WindowsId": "UTC+12", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-12" + ] + }, + { + "WindowsId": "Fiji Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Fiji" + ] + }, + { + "WindowsId": "Fiji Standard Time", + "Territory": "FJ", + "IanaIds": [ + "Pacific/Fiji" + ] + }, + { + "WindowsId": "Chatham Islands Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Chatham" + ] + }, + { + "WindowsId": "Chatham Islands Standard Time", + "Territory": "NZ", + "IanaIds": [ + "Pacific/Chatham" + ] + }, + { + "WindowsId": "UTC+13", + "Territory": "001", + "IanaIds": [ + "Etc/GMT-13" + ] + }, + { + "WindowsId": "UTC+13", + "Territory": "KI", + "IanaIds": [ + "Pacific/Enderbury" + ] + }, + { + "WindowsId": "UTC+13", + "Territory": "TK", + "IanaIds": [ + "Pacific/Fakaofo" + ] + }, + { + "WindowsId": "UTC+13", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-13" + ] + }, + { + "WindowsId": "Tonga Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Tongatapu" + ] + }, + { + "WindowsId": "Tonga Standard Time", + "Territory": "TO", + "IanaIds": [ + "Pacific/Tongatapu" + ] + }, + { + "WindowsId": "Samoa Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Apia" + ] + }, + { + "WindowsId": "Samoa Standard Time", + "Territory": "WS", + "IanaIds": [ + "Pacific/Apia" + ] + }, + { + "WindowsId": "Line Islands Standard Time", + "Territory": "001", + "IanaIds": [ + "Pacific/Kiritimati" + ] + }, + { + "WindowsId": "Line Islands Standard Time", + "Territory": "KI", + "IanaIds": [ + "Pacific/Kiritimati" + ] + }, + { + "WindowsId": "Line Islands Standard Time", + "Territory": "ZZ", + "IanaIds": [ + "Etc/GMT-14" + ] + } + ] + }, + "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/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json new file mode 100644 index 000000000000..9c1d1d21cd58 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "version": "2017b" + } + }, + "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/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json new file mode 100644 index 000000000000..7bdd480909fb --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "format": "json", + "api-version": "1.0", + "query": "pacific standard time", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": [ + { + "id": "America/Los_Angeles", + "isAlias": false, + "hasZone1970Location": 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/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json new file mode 100644 index 000000000000..3ba00c93f71f --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json @@ -0,0 +1,1009 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Time Zone Service", + "version": "1.0", + "description": "Azure Maps Time Zone REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TimezoneAcceptLanguage": { + "name": "Accept-Language", + "in": "header", + "description": "Specifies the language code in which the timezone names should be returned. If no language code is provided, the response will be in \"EN\". Please refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TimezoneOptions": { + "name": "options", + "in": "query", + "description": "Alternatively, use alias \"o\". Options available for types of information returned in the result.", + "required": false, + "type": "string", + "enum": [ + "none", + "zoneInfo", + "transitions", + "all" + ], + "x-ms-enum": { + "name": "TimezoneOptions", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "Do not include zoneinfo or transitions in the result." + }, + { + "value": "zoneInfo", + "description": "Include additional time zone info in the result." + }, + { + "value": "transitions", + "description": "Include transition information in the result (The number of transitions is currently capped at 250)." + }, + { + "value": "all", + "description": "Include both zoneinfo and transitions in the result." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TimezoneTimeStamp": { + "name": "timeStamp", + "in": "query", + "description": "Alternatively, use alias \"stamp\", or \"s\". Reference time, if omitted, the API will use the machine time serving the request.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "format": "date-time" + }, + "TimezoneTransitionsFrom": { + "name": "transitionsFrom", + "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.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "format": "date-time" + }, + "TimezoneTransitionsYears": { + "name": "transitionsYears", + "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.", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/timezone/byId/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneByID", + "x-ms-examples": { + "GetTimezoneByID": { + "$ref": "./examples/GetTimezoneByID.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TimezoneAcceptLanguage" + }, + { + "$ref": "#/parameters/TimezoneOptions" + }, + { + "$ref": "#/parameters/TimezoneTimeStamp" + }, + { + "$ref": "#/parameters/TimezoneTransitionsFrom" + }, + { + "$ref": "#/parameters/TimezoneTransitionsYears" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "query", + "in": "query", + "description": "The IANA time zone ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneByIdResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/timezone/byCoordinates/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneByCoordinates", + "x-ms-examples": { + "GetTimezoneByCoordinates": { + "$ref": "./examples/GetTimezoneByCoordinates.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TimezoneAcceptLanguage" + }, + { + "$ref": "#/parameters/TimezoneOptions" + }, + { + "$ref": "#/parameters/TimezoneTimeStamp" + }, + { + "$ref": "#/parameters/TimezoneTransitionsFrom" + }, + { + "$ref": "#/parameters/TimezoneTransitionsYears" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "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\".", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneByCoordinatesResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/timezone/enumWindows/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneEnumWindows", + "x-ms-examples": { + "GetTimezoneEnumWindows": { + "$ref": "./examples/GetTimezoneEnumWindows.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneEnumWindowsResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/timezone/enumIana/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneEnumIANA", + "x-ms-examples": { + "GetTimezoneEnumIANA": { + "$ref": "./examples/GetTimezoneEnumIANA.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneEnumIanaResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/timezone/ianaVersion/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneIANAVersion", + "x-ms-examples": { + "GetTimezoneIANAVersion": { + "$ref": "./examples/GetTimezoneIANAVersion.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneIanaVersionResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/timezone/windowsToIana/{format}": { + "get": { + "x-publish": true, + "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": "Timezone_GetTimezoneWindowsToIANA", + "x-ms-examples": { + "GetTimezoneWindowsToIANA": { + "$ref": "./examples/GetTimezoneWindowsToIANA.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "query", + "in": "query", + "description": "The Windows time zone ID.", + "required": true, + "type": "string" + }, + { + "name": "territory", + "in": "query", + "description": "Windows Time Zone territory code.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TimezoneWindowToIanaResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + } + }, + "definitions": { + "ODataErrorResponse": { + "type": "object", + "description": "This response object is returned when an error occurs in the Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "Country": { + "type": "object", + "description": "A country record.", + "properties": { + "Name": { + "description": "Country Name", + "type": "string", + "readOnly": true + }, + "Code": { + "description": "ISO-3166 2-letter country code for the country.", + "type": "string", + "readOnly": true + } + } + }, + "TimeTransition": { + "type": "object", + "readOnly": true, + "properties": { + "Tag": { + "description": "Tag property", + "type": "string", + "readOnly": true + }, + "StandardOffset": { + "description": "StandardOffset property", + "type": "string", + "readOnly": true + }, + "DaylightSavings": { + "description": "DaylightSavings property", + "type": "string", + "readOnly": true + }, + "UtcStart": { + "description": "Start date, start time for this transition period", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "UtcEnd": { + "description": "End date, end time for this transition period", + "type": "string", + "readOnly": true, + "format": "date-time" + } + } + }, + "TimezoneByIdResult": { + "description": "This object is returned from a successful Timezone By ID 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/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" + } + } + }, + "TimezoneEnumWindowsResult": { + "description": "This object is returned from a successful Timezone Enum Windows call", + "type": "array", + "items": { + "$ref": "#/definitions/TimezoneEnumWindow" + } + }, + "TimezoneEnumWindow": { + "type": "object", + "properties": { + "WindowsId": { + "description": "Windows Id property", + "type": "string", + "readOnly": true + }, + "Territory": { + "description": "Territory property", + "type": "string", + "readOnly": true + }, + "IanaIds": { + "description": "IanaIds array", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + } + } + }, + "TimezoneEnumIanaResult": { + "description": "This object is returned from a successful Timezone Enum IANA call", + "type": "array", + "items": { + "$ref": "#/definitions/IanaId" + } + }, + "TimezoneIanaVersionResult": { + "description": "This object is returned from a successful Timezone IANA Version call", + "type": "object", + "properties": { + "version": { + "description": "Version property", + "type": "string", + "readOnly": true + } + } + }, + "TimezoneWindowToIanaResult": { + "description": "This object is returned from a successful Timezone Windows To IANA call", + "type": "array", + "items": { + "$ref": "#/definitions/IanaId" + } + }, + "IanaId": { + "type": "object", + "properties": { + "id": { + "description": "Id property", + "type": "string", + "readOnly": true + }, + "isAlias": { + "description": "IsAlias property", + "type": "boolean", + "readOnly": true + }, + "aliasOf": { + "description": "AliasOf property", + "type": "string", + "readOnly": true + }, + "hasZone1970Location": { + "description": "HasZone1970Location property", + "type": "boolean", + "readOnly": true + } + } + }, + "TimeZonesById": { + "description": "TimeZoneById array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TimezoneById" + } + }, + "TimeZonesByCoordinates": { + "description": "TimeZoneByCoordinates 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/Country" + } + }, + "Names": { + "$ref": "#/definitions/Names" + }, + "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" + } + } + } + }, + "TimeZoneByCoordinates": { + "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/Country" + } + }, + "Names": { + "$ref": "#/definitions/Names" + }, + "ReferenceTime": { + "$ref": "#/definitions/ReferenceTimeByCoordinates" + }, + "RepresentativePoint": { + "$ref": "#/definitions/RepresentativePoint" + }, + "TimeTransitions": { + "description": "Time zone DST transitions from [transitionsFrom] until timestamp + 1 year.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TimeTransition" + } + } + } + }, + "Names": { + "type": "object", + "description": "Timezone names object.", + "properties": { + "ISO6391LanguageCode": { + "description": "The ISO 639-1 language code of the Names", + "type": "string", + "readOnly": true + }, + "Generic": { + "description": "Generic Name", + "type": "string", + "readOnly": true + }, + "Standard": { + "description": "Standard Name", + "type": "string", + "readOnly": true + }, + "Daylight": { + "description": "Daylight Name", + "type": "string", + "readOnly": true + } + } + }, + "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": { + "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 + }, + "Sunrise": { + "description": "Sunrise at the given time zone as shown in the `Tag` property.", + "type": "string", + "readOnly": true + }, + "Sunset": { + "description": "Sunset at the given time zone as shown in the `Tag` property.", + "type": "string", + "readOnly": true + } + } + }, + "RepresentativePoint": { + "description": "Representative point property", + "type": "object", + "readOnly": true, + "properties": { + "Latitude": { + "description": "Latitude property", + "type": "number", + "readOnly": true + }, + "Longitude": { + "description": "Longitude property", + "type": "number", + "readOnly": true + } + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json new file mode 100644 index 000000000000..260df3e59fd3 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "style": "absolute", + "zoom": 10, + "query": "52.41072,4.84239", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "flowSegmentData": { + "frc": "FRC3", + "currentSpeed": 79, + "freeFlowSpeed": 79, + "currentTravelTime": 33, + "freeFlowTravelTime": 33, + "confidence": 0.5, + "coordinates": { + "coordinate": [ + { + "latitude": 52.404648, + "longitude": 4.8442388 + }, + { + "latitude": 52.408447, + "longitude": 4.8357286 + } + ] + }, + "openlr": null, + "@version": "1.0.53-mascoma" + } + } + }, + "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/Traffic/preview/1.0/examples/GetTrafficFlowTile.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficFlowTile.json new file mode 100644 index 000000000000..db22b3435096 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficFlowTile.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "style": "absolute", + "zoom": 12, + "x": 2044, + "y": 1360, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": "binary string image" + }, + "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/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json new file mode 100644 index 000000000000..69024b136001 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json @@ -0,0 +1,383 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "style": "s3", + "boundingbox": "6841263.950712,511972.674418,6886056.049288,582676.925582", + "boundingZoom": 11, + "trafficmodelid": "1335294634919", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "tm": { + "@id": "1521671948910", + "poi": [ + { + "id": "europe_HD_NL_TTR116377227776064", + "p": { + "x": 538636.9, + "y": 6842004.5 + }, + "ic": 9, + "ty": 1, + "cs": 0, + "d": "roadworks", + "c": "new roadworks layout", + "f": "Amstelveen/Vinkeveen - N201 (N196)", + "t": "Uithoorn-Centrum (N196)", + "l": 220, + "dl": 14, + "r": "N196" + }, + { + "id": "europe_CLUSTER_11_-34959639", + "p": { + "x": 528668.6, + "y": 6848897.9 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 528622.5, + "y": 6848661.2 + }, + "ctr": { + "x": 528714.7, + "y": 6849134.6 + }, + "cs": 2, + "l": 190 + }, + { + "id": "europe_CLUSTER_11_-1540737434", + "p": { + "x": 518277, + "y": 6852206.8 + }, + "ic": 9, + "ty": 1, + "cbl": { + "x": 517421.3, + "y": 6851776.4 + }, + "ctr": { + "x": 519132.8, + "y": 6852637.2 + }, + "cs": 2, + "l": 1620 + }, + { + "id": "europe_CLUSTER_11_-26712906", + "p": { + "x": 529902.2, + "y": 6855622.4 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 529524.6, + "y": 6855377.2 + }, + "ctr": { + "x": 530279.9, + "y": 6855867.7 + }, + "cs": 4, + "l": 660 + }, + { + "id": "europe_HD_NL_TTR116367997504816", + "p": { + "x": 568216, + "y": 6851287.6 + }, + "ic": 9, + "ty": 1, + "cs": 0, + "d": "roadworks", + "c": "new roadworks layout", + "f": "Ankeveen (N236)", + "t": "Weesp (N236)", + "l": 2760, + "dl": 73, + "r": "N236" + }, + { + "id": "europe_HD_NL_TTR116367997261488", + "p": { + "x": 561973.7, + "y": 6854259.4 + }, + "ic": 9, + "ty": 3, + "cs": 0, + "d": "roadworks", + "c": "new roadworks layout", + "f": "Weesp (N236)", + "t": "Ankeveen (N236)", + "l": 2650, + "r": "N236" + }, + { + "id": "europe_HD_NL_TTR116331064819392", + "p": { + "x": 571268.5, + "y": 6858435.4 + }, + "ic": 8, + "ty": 4, + "cs": 0, + "d": "closed", + "f": "IJsselmeerweg", + "t": "A6", + "l": 370 + }, + { + "id": "europe_CLUSTER_11_-1442937814", + "p": { + "x": 563934, + "y": 6859271.3 + }, + "ic": 9, + "ty": 1, + "cbl": { + "x": 563726.1, + "y": 6859250.4 + }, + "ctr": { + "x": 564141.9, + "y": 6859292.2 + }, + "cs": 2, + "l": 460 + }, + { + "id": "europe_CLUSTER_11_258400781", + "p": { + "x": 558055.6, + "y": 6861147.1 + }, + "ic": 13, + "ty": 1, + "cbl": { + "x": 557493.3, + "y": 6860514.8 + }, + "ctr": { + "x": 558618, + "y": 6861779.4 + }, + "cs": 3, + "l": 1030 + }, + { + "id": "europe_HD_NL_TTR116100227865681", + "p": { + "x": 542665, + "y": 6861959.7 + }, + "ic": 8, + "ty": 4, + "cs": 0, + "d": "closed", + "f": "Strawinskylaan", + "t": "Matthijs Vermeulenpad", + "l": 110 + }, + { + "id": "europe_CLUSTER_11_1438243625", + "p": { + "x": 545058.7, + "y": 6864571.6 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 543779.5, + "y": 6864070.7 + }, + "ctr": { + "x": 546337.8, + "y": 6865072.6 + }, + "cs": 5, + "l": 1590 + }, + { + "id": "europe_HD_NL_TTR116081762316976", + "p": { + "x": 547507.8, + "y": 6866259.3 + }, + "ic": 8, + "ty": 4, + "cs": 0, + "d": "closed", + "f": "Alexanderplein (s113)", + "t": "Stadhouderskade", + "l": 390, + "r": "S100" + }, + { + "id": "europe_CLUSTER_11_691732516", + "p": { + "x": 541448.7, + "y": 6867162.1 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 541160.1, + "y": 6866710.7 + }, + "ctr": { + "x": 541737.2, + "y": 6867613.5 + }, + "cs": 4, + "l": 430 + }, + { + "id": "europe_CLUSTER_11_1582351486", + "p": { + "x": 534709.6, + "y": 6865174.7 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 534562.2, + "y": 6865025.3 + }, + "ctr": { + "x": 534856.9, + "y": 6865324.2 + }, + "cs": 2, + "l": 380 + }, + { + "id": "europe_CLUSTER_11_-2070222267", + "p": { + "x": 536813.1, + "y": 6868188.3 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 536191.1, + "y": 6867699.7 + }, + "ctr": { + "x": 537435.1, + "y": 6868677 + }, + "cs": 7, + "l": 1380 + }, + { + "id": "europe_CLUSTER_11_-496866890", + "p": { + "x": 516025.5, + "y": 6871606.3 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 514115.1, + "y": 6870216.9 + }, + "ctr": { + "x": 517935.9, + "y": 6872995.7 + }, + "cs": 7, + "l": 1510 + }, + { + "id": "europe_HD_NL_TTR115675492352160", + "p": { + "x": 517835.3, + "y": 6883216.3 + }, + "ic": 8, + "ty": 4, + "cs": 0, + "d": "closed", + "f": "Amsterdamseweg", + "t": "A22", + "l": 710 + }, + { + "id": "europe_CLUSTER_11_834920993", + "p": { + "x": 543803.8, + "y": 6875659.8 + }, + "ic": 8, + "ty": 0, + "cbl": { + "x": 543474.7, + "y": 6875602.7 + }, + "ctr": { + "x": 544133, + "y": 6875716.9 + }, + "cs": 2, + "l": 760 + } + ] + } + } + }, + "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/Traffic/preview/1.0/examples/GetTrafficIncidentTile.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentTile.json new file mode 100644 index 000000000000..d191b8fedcb3 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentTile.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "png", + "style": "night", + "zoom": 10, + "x": 175, + "y": 408, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "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/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json new file mode 100644 index 000000000000..42994892b5dd --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "boundingbox": "-939584.4813015489,-23954526.723651607,14675583.153020501,25043442.895825107", + "boundingzoom": 2, + "overviewbox": "-939584.4813018347,-23954526.723651607,14675583.153020501,25043442.8958229083", + "overviewzoom": 2, + "copyright": true, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "viewpResp": { + "trafficState": { + "@trafficAge": 18895, + "@trafficModelId": "1504808593298" + }, + "copyrightIds": "© 2017 GeoSmart^© 2017 TomTom^© 2017 Whereis", + "@version": "1.0.51-mascoma", + "@maps": "europe,taiwan,latam,northamerica,israel,middleeast,iraq,guam,australia,newzealand,india,africa,world,southeastasia" + } + } + }, + "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/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json new file mode 100644 index 000000000000..ad56b8206ba0 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json @@ -0,0 +1,1173 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Traffic Service", + "version": "1.0", + "description": "Azure Maps Traffic REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TextFormat": { + "name": "format", + "description": "Desired format of the response. Value can be either _json_ or _xml_.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "json", + "xml" + ], + "x-ms-enum": { + "name": "TextFormat", + "modelAsString": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + }, + { + "value": "xml", + "description": "[The Extensible Markup Language](https://www.w3.org/TR/xml/)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "RasterTileFormat": { + "name": "format", + "description": "Desired format of the response. Possible value: png.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "png" + ], + "x-ms-enum": { + "name": "RasterTileFormat", + "modelAsString": false, + "values": [ + { + "value": "png", + "description": "An image in the png format. Supports zoom levels 0 through 18." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "TileFormat": { + "name": "format", + "description": "Desired format of the response. Possible values are png & pbf.", + "type": "string", + "in": "path", + "required": true, + "enum": [ + "png", + "pbf" + ], + "x-ms-enum": { + "name": "TileFormat", + "modelAsString": false, + "values": [ + { + "value": "png", + "description": "An image in the png format. Supports zoom levels 0 through 18." + }, + { + "value": "pbf", + "description": "Vector graphic in the pbf format. Supports zoom levels 0 through 22." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "RasterZoom": { + "name": "zoom", + "in": "query", + "description": "Zoom level for the desired tile. Zoom 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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "RasterVectorZoom": { + "name": "zoom", + "in": "query", + "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-22 (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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "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.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/traffic/flow/tile/{format}": { + "get": { + "x-publish": true, + "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": "Traffic_GetTrafficFlowTile", + "x-ms-examples": { + "GetTrafficFlowTile": { + "$ref": "./examples/GetTrafficFlowTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TileFormat" + }, + { + "name": "style", + "in": "query", + "description": "

    The style to be used to render the tile.

    • Absolute which returns colors reflecting the absolute speed measured.
    • Relative to which returns the speed relative to free-flow.
    • Relative-delay displays when relative speeds are different from the free-flow speeds.
    ", + "required": true, + "type": "string", + "enum": [ + "absolute", + "relative", + "relative-delay", + "reduced-sensitivity" + ], + "x-ms-enum": { + "name": "TrafficFlowTileStyle", + "modelAsString": false, + "values": [ + { + "value": "absolute", + "description": "Colors will reflect the absolute speed measured." + }, + { + "value": "relative", + "description": "Colors will reflect the speed relative to free-flow." + }, + { + "value": "relative-delay", + "description": "Displays relative colors only where they are different from the freeflow speeds." + }, + { + "value": "reduced-sensitivity", + "description": "Displays relative colors but a larger difference from freeflow is required for segments to change the color. This mode only valid when format is png." + } + ] + } + }, + { + "$ref": "#/parameters/RasterVectorZoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "thickness", + "in": "query", + "description": "The value of the width of the line representing traffic. This value is a multiplier and the accepted values range from 1 - 20. The default value is 10. This parameter is not valid when format is pbf.", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "default": 10 + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrafficFlowTileResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/traffic/flow/segment/{format}": { + "get": { + "x-publish": true, + "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": "Traffic_GetTrafficFlowSegment", + "x-ms-examples": { + "GetTrafficFlowSegment": { + "$ref": "./examples/GetTrafficFlowSegment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "style", + "in": "query", + "description": "The style to be used to render the tile. Valid values are absolute which returns colors reflecting the absolute speed measured, relative which returns the speed relative to free-flow, Relative-delay which displays relative speeds only where they are different from the freeflow speeds", + "required": true, + "type": "string", + "enum": [ + "absolute", + "relative", + "relative-delay" + ], + "x-ms-enum": { + "name": "TrafficFlowSegmentStyle", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/RasterZoom" + }, + { + "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.", + "required": true, + "type": "string" + }, + { + "name": "unit", + "in": "query", + "description": "Unit of speed in KMPH or MPH", + "required": false, + "type": "string", + "default": "KMPH", + "enum": [ + "KMPH", + "MPH" + ], + "x-ms-enum": { + "name": "SpeedUnit", + "modelAsString": false, + "values": [ + { + "value": "KMPH", + "description": "Kilometers Per Hour" + }, + { + "value": "MPH", + "description": "Miles Per Hour" + } + ] + } + }, + { + "name": "thickness", + "in": "query", + "description": "The value of the width of the line representing traffic. This value is a multiplier and the accepted values range from 1 - 20. The default value is 10.", + "required": false, + "type": "integer", + "format": "int32", + "default": 10, + "minimum": 1, + "maximum": 20 + }, + { + "name": "openLr", + "in": "query", + "description": "Boolean on whether the response should include OpenLR code", + "required": false, + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrafficFlowSegmentResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/traffic/incident/tile/{format}": { + "get": { + "x-publish": true, + "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": "Traffic_GetTrafficIncidentTile", + "x-ms-examples": { + "GetTrafficIncidentTile": { + "$ref": "./examples/GetTrafficIncidentTile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TileFormat" + }, + { + "name": "style", + "in": "query", + "description": "The style to be used to render the tile. This parameter is not valid when format is pbf.", + "required": true, + "type": "string", + "enum": [ + "s1", + "s2", + "s3", + "night" + ], + "x-ms-enum": { + "name": "TrafficIncidentTileStyle", + "modelAsString": false, + "values": [ + { + "value": "s1", + "description": "Creates traffic lines with colored chevrons indicating severity." + }, + { + "value": "s2", + "description": "Creates plain lines with certain degree of glow." + }, + { + "value": "s3", + "description": "Creates plain lines with certain degree of glow." + }, + { + "value": "night", + "description": "Night style." + } + ] + } + }, + { + "$ref": "#/parameters/RasterVectorZoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "t", + "x-ms-client-name": "trafficState", + "in": "query", + "description": "Reference value for the state of traffic at a particular time, obtained from the Viewport API call, trafficModelId attribute in trafficState field. It is updated every minute, and is valid for two minutes before it times out. Use -1 to get the most recent traffic information. Default: most recent traffic information.", + "required": false, + "type": "string", + "default": "-1" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrafficIncidentTileResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/traffic/incident/detail/{format}": { + "get": { + "x-publish": true, + "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": "Traffic_GetTrafficIncidentDetail", + "x-ms-examples": { + "GetTrafficIncidentDetail": { + "$ref": "./examples/GetTrafficIncidentDetail.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "name": "style", + "in": "query", + "description": "The style that will be used to render the tile in Traffic [Incident Tile API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). This will have an effect on the coordinates of traffic incidents in the reply.", + "required": true, + "type": "string", + "enum": [ + "s1", + "s2", + "s3", + "night" + ], + "x-ms-enum": { + "name": "TrafficIncidentDetailStyle", + "modelAsString": false, + "values": [ + { + "value": "s1", + "description": "Creates traffic lines with colored chevrons indicating severity." + }, + { + "value": "s2", + "description": "Creates plain lines with certain degree of glow." + }, + { + "value": "s3", + "description": "Creates plain lines with certain degree of glow." + }, + { + "value": "night", + "description": "Night style." + } + ] + } + }, + { + "name": "boundingbox", + "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" + }, + { + "name": "boundingZoom", + "in": "query", + "description": "Zoom level for desired tile. 0 to 22 for raster tiles, 0 through 22 for vector tiles", + "required": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 22 + }, + { + "name": "trafficmodelid", + "in": "query", + "description": "Number referencing traffic model. This can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport). It is updated every minute, and is valid for two minutes before it times out. If the wrong Traffic Model ID is specified, the correct one will be returned by the interface. A value of -1 will always invoke the most recent traffic model", + "required": true, + "type": "string" + }, + { + "name": "language", + "in": "query", + "description": "[ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the output language. Supported languages are ar, ca, cs, da, de, el, en, en-GB, en-US, es, et, fi, fr, he, hu, id, in*, it, lt, lv, nb, nl, no, pl, pt, ro, ru, sk, sv, th, tr, zh.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details. When invalid language code is provided response is returned in English. When incident cause or description does not have translation, English description is returned.", + "required": false, + "type": "string" + }, + { + "name": "projection", + "in": "query", + "description": "The projection used to specify the coordinates in the request and response. [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) (default) or [EPSG4326](http://spatialreference.org/ref/epsg/4326/)", + "required": false, + "type": "string", + "enum": [ + "EPSG900913", + "EPSG4326" + ] + }, + { + "name": "geometries", + "in": "query", + "description": "The type of vector geometry added to incidents (returned in the element of the response).", + "required": false, + "type": "string", + "enum": [ + "original", + "shifted" + ], + "x-ms-enum": { + "name": "IncidentGeometryType", + "modelAsString": false, + "values": [ + { + "value": "original", + "description": "Places incidents precisely on the road." + }, + { + "value": "shifted", + "description": "Moves the incident slightly (depending on zoom level) to indicate specific road lanes." + } + ] + } + }, + { + "name": "expandCluster", + "in": "query", + "description": "Boolean to indicate whether to list all traffic incidents in a cluster separately", + "required": false, + "type": "boolean", + "default": false + }, + { + "name": "originalPosition", + "in": "query", + "description": "Boolean on whether to return the original position of the incident () as well as the one shifted to the beginning of the traffic tube ()", + "required": false, + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrafficIncidentDetailResult" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/traffic/incident/viewport/{format}": { + "get": { + "x-publish": true, + "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": "Traffic_GetTrafficIncidentViewport", + "x-ms-examples": { + "GetTrafficIncidentViewport": { + "$ref": "./examples/GetTrafficIncidentViewport.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TextFormat" + }, + { + "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.", + "required": true, + "type": "string" + }, + { + "name": "boundingzoom", + "in": "query", + "description": "Zoom level of the map viewport. Used to determine whether the view can be zoomed in.", + "required": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 22 + }, + { + "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.", + "required": true, + "type": "string" + }, + { + "name": "overviewzoom", + "in": "query", + "description": "Zoom level of the overview map. If there is no mini map, use the same zoom level as boundingZoom.", + "required": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 22 + }, + { + "name": "copyright", + "in": "query", + "description": "Determines what copyright information to return. When true the copyright text is returned; when false only the copyright index is returned.", + "required": true, + "type": "boolean", + "default": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrafficIncidentViewportResult" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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 + } + } + }, + "TrafficFlowTileResult": { + "description": "This image is returned from a successful Traffic Flow Tile call", + "type": "string", + "format": "binary", + "readOnly": true + }, + "TrafficFlowSegmentResult": { + "description": "This object is returned from a successful Traffic Flow Segment call", + "type": "object", + "properties": { + "flowSegmentData": { + "description": "Flow Segment Data property", + "type": "object", + "readOnly": true, + "properties": { + "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", + "readOnly": true + }, + "currentSpeed": { + "description": "The current average speed at the selected point, in the units requested. This is calculated from the currentTravelTime and the length of the selected segment.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "freeFlowSpeed": { + "description": "The free flow speed expected under ideal conditions, expressed in the units requested. This is related to the freeFlowTravelTime.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "currentTravelTime": { + "description": "Current travel time in seconds 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.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "confidence": { + "description": "The confidence is a measure of the quality of the provided travel time and speed. A value of 1 means full confidence, that the response contains the highest quality data. Lower values indicate the degree that the response may vary from the actual conditions on the road. Any value greater than 0.6 means the information was based on real-time probe input. A value of 0.5 means the reported speed is based on historical info. A value between 0.5 and 0.6 has a calculated weighted average between historical and live speeds.", + "type": "number", + "readOnly": true + }, + "coordinates": { + "description": "Includes the coordinates describing the shape of the segment. Coordinates are shifted from the road depending on the zoom level to support high quality visualization in every scale.", + "type": "object", + "properties": { + "coordinate": { + "description": "Coordinate array", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Coordinate" + } + } + } + }, + "@version": { + "description": "This indicates the software version that generated the response.", + "type": "string", + "readOnly": true + }, + "openlr": { + "description": "OpenLR code for segment", + "type": "number", + "readOnly": true + } + } + } + } + }, + "TrafficIncidentTileResult": { + "description": "This object is returned from a successful Traffic Incident Tile call", + "type": "object", + "properties": { + "image": { + "description": "Image property", + "type": "string", + "readOnly": true + } + } + }, + "TrafficIncidentDetailResult": { + "description": "This object is returned from a successful Traffic incident Detail call", + "type": "object", + "properties": { + "tm": { + "description": "Main response element", + "type": "object", + "readOnly": true, + "properties": { + "@id": { + "description": "ID of the traffic incident", + "type": "string", + "readOnly": true + }, + "poi": { + "description": "A single traffic incident, or a cluster of traffic incidents", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TrafficIncidentPoi" + } + } + } + } + } + }, + "TrafficIncidentPoi": { + "type": "object", + "readOnly": true, + "properties": { + "id": { + "description": "ID of the traffic incident", + "type": "string", + "readOnly": true + }, + "p": { + "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 + } + } + }, + "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 + }, + "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 + }, + "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 + } + } + }, + "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 + } + } + }, + "cs": { + "description": "Cluster size: the number of incidents in the cluster", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "l": { + "description": "Length of the incident in meters", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "r": { + "description": "The road number(s) affected by the incident. Multiple road numbers will delimited by slashes", + "type": "string", + "readOnly": true + }, + "dl": { + "description": "Delay caused by the incident in seconds (except in road closures)", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "t": { + "description": "To: the name of the intersection or location where the traffic due to the incident ends", + "type": "string", + "readOnly": true + }, + "f": { + "description": "From: the name of the intersection or location where the traffic due to the incident starts", + "type": "string", + "readOnly": true + }, + "d": { + "description": "Description of the incident in the language requested", + "type": "string", + "readOnly": true + }, + "c": { + "description": "Cause of the incident, where available, in the language requested", + "type": "string", + "readOnly": true + } + } + }, + "TrafficIncidentViewportResult": { + "description": "This object is returned from a successful Traffic Incident Viewport call", + "type": "object", + "properties": { + "viewpResp": { + "description": "Viewport Response object", + "type": "object", + "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 + } + } + }, + "copyrightIds": { + "description": "Copyright Ids property", + "type": "string", + "readOnly": true + }, + "@version": { + "description": "@Version property", + "type": "string", + "readOnly": true + }, + "@maps": { + "description": "@maps property", + "type": "string", + "readOnly": true + } + } + } + } + } + } +} 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 new file mode 100644 index 000000000000..127a25dc1639 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..583b150414ee --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0", + "rel": "data", + "title": "unit" + }, + { + "href": "https://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 new file mode 100644 index 000000000000..e4d17ccf6650 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json @@ -0,0 +1,196 @@ +{ + "parameters": { + "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://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://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 new file mode 100644 index 000000000000..7048a3299237 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json @@ -0,0 +1,297 @@ +{ + "parameters": { + "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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0", + "rel": "data", + "title": "unit" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone/items?api-version=1.0", + "rel": "data", + "title": "zone" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level/items?api-version=1.0", + "rel": "data", + "title": "level" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility/items?api-version=1.0", + "rel": "data", + "title": "facility" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration/items?api-version=1.0", + "rel": "data", + "title": "verticalPenetration" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening/items?api-version=1.0", + "rel": "data", + "title": "opening" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo/items?api-version=1.0", + "rel": "data", + "title": "directoryInfo" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement/items?api-version=1.0", + "rel": "data", + "title": "pointElement" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement/items?api-version=1.0", + "rel": "data", + "title": "lineElement" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement/items?api-version=1.0", + "rel": "data", + "title": "areaElement" + }, + { + "href": "https://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://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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category/items?api-version=1.0", + "rel": "data", + "title": "category" + }, + { + "href": "https://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://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 new file mode 100644 index 000000000000..2087dca71fe4 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "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 new file mode 100644 index 000000000000..a83972b09aa0 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items/UNIT39?api-version=1.0", + "rel": "self" + }, + { + "href": "https://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 new file mode 100644 index 000000000000..0d83c6416334 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "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://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0&limit=1", + "rel": "self" + }, + { + "href": "https://atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0", + "rel": "data" + }, + { + "href": "https://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 new file mode 100644 index 000000000000..028fa8cfe0aa --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "1.0", + "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4", + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "body": { + "links": [ + { + "href": "https://atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4", + "rel": "self", + "title": "Azure Maps WFS" + }, + { + "href": "https://atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/api", + "rel": "service", + "title": "The API definition" + }, + { + "href": "https://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://atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/version", + "rel": "data", + "title": "The version information" + }, + { + "href": "https://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 new file mode 100644 index 000000000000..962c2490603e --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json @@ -0,0 +1,984 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Web Feature Service", + "version": "1.0", + "description": "Azure Maps Web Feature REST APIs" + }, + "host": "atlas.microsoft.com", + "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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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 the 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": "Creator 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": "Creator 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": "Creator 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": "Creator 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": "Creator 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": "Creator 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": "Creator 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": "Creator 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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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": { + "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": { + "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/Weather/preview/1.0/examples/GetCurrentConditions.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetCurrentConditions.json new file mode 100644 index 000000000000..7a176b6faf64 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetCurrentConditions.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "47.641268,-122.125679" + }, + "responses": { + "200": { + "body": { + "results": [ + { + "dateTime": "2019-11-14T15:08:00-08:00", + "phrase": "Cloudy", + "iconCode": 7, + "hasPrecipitation": false, + "isDayTime": true, + "temperature": { + "value": 13.7, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 13.6, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperatureShade": { + "value": 13.6, + "unit": "C", + "unitType": 17 + }, + "relativeHumidity": 75, + "dewPoint": { + "value": 9.2, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 315, + "localizedDescription": "NW" + }, + "speed": { + "value": 3.6, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 4.9, + "unit": "km/h", + "unitType": 7 + } + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "visibility": { + "value": 8, + "unit": "km", + "unitType": 6 + }, + "obstructionsToVisibility": "", + "cloudCover": 95, + "ceiling": { + "value": 4359, + "unit": "m", + "unitType": 5 + }, + "pressure": { + "value": 1014.9, + "unit": "mb", + "unitType": 14 + }, + "pressureTendency": { + "localizedDescription": "Steady", + "code": "S" + }, + "past24HourTemperatureDeparture": { + "value": 1.8, + "unit": "C", + "unitType": 17 + }, + "apparentTemperature": { + "value": 16.1, + "unit": "C", + "unitType": 17 + }, + "windChillTemperature": { + "value": 13.9, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 11.4, + "unit": "C", + "unitType": 17 + }, + "precipitationSummary": { + "pastHour": { + "value": 0.5, + "unit": "mm", + "unitType": 3 + }, + "past3Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + }, + "past6Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + }, + "past9Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + }, + "past12Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + }, + "past18Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + }, + "past24Hours": { + "value": 0.8, + "unit": "mm", + "unitType": 3 + } + }, + "temperatureSummary": { + "past6Hours": { + "minimum": { + "value": 8.3, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 13.7, + "unit": "C", + "unitType": 17 + } + }, + "past12Hours": { + "minimum": { + "value": 5.9, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 13.7, + "unit": "C", + "unitType": 17 + } + }, + "past24Hours": { + "minimum": { + "value": 5.9, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 13.7, + "unit": "C", + "unitType": 17 + } + } + } + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetDailyForecast.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetDailyForecast.json new file mode 100644 index 000000000000..01c9363275db --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetDailyForecast.json @@ -0,0 +1,284 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "62.6490341,30.0734812", + "duration": 5 + }, + "responses": { + "200": { + "body": { + "summary": { + "startDate": "2019-11-17T09:00:00-08:00", + "endDate": "2019-11-17T15:00:00-08:00", + "severity": 5, + "phrase": "Rain Sunday evening", + "category": "rain" + }, + "forecasts": [ + { + "date": "2019-11-13T21:00:00-08:00", + "temperature": { + "minimum": { + "value": 0.8, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 5.3, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperature": { + "minimum": { + "value": -3.4, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 1.3, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperatureShade": { + "minimum": { + "value": -3.4, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 1.6, + "unit": "C", + "unitType": 17 + } + }, + "hoursOfSun": 1.1, + "degreeDaySummary": { + "heating": { + "value": 15, + "unit": "C", + "unitType": 17 + }, + "cooling": { + "value": 0, + "unit": "C", + "unitType": 17 + } + }, + "airAndPollen": [ + { + "name": "AirQuality", + "value": 0, + "category": "Good", + "categoryValue": 1, + "type": "Ozone" + }, + { + "name": "Grass", + "value": 0, + "category": "Low", + "categoryValue": 1 + }, + { + "name": "Mold", + "value": 0, + "category": "Low", + "categoryValue": 1 + }, + { + "name": "Ragweed", + "value": 0, + "category": "Low", + "categoryValue": 1 + }, + { + "name": "Tree", + "value": 0, + "category": "Low", + "categoryValue": 1 + }, + { + "name": "UVIndex", + "value": 0, + "category": "Low", + "categoryValue": 1 + } + ], + "day": { + "iconCode": 12, + "iconPhrase": "Showers", + "hasPrecipitation": true, + "precipitationType": "Rain", + "precipitationIntensity": "Light", + "shortPhrase": "Cloudy with a few showers", + "longPhrase": "Cloudy with a couple of showers, mainly later", + "precipitationProbability": 75, + "thunderstormProbability": 20, + "rainProbability": 75, + "snowProbability": 40, + "iceProbability": 0, + "wind": { + "direction": { + "degrees": 160, + "localizedDescription": "SSE" + }, + "speed": { + "value": 16.7, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 160, + "localizedDescription": "SSE" + }, + "speed": { + "value": 48.2, + "unit": "km/h", + "unitType": 7 + } + }, + "totalLiquid": { + "value": 6.1, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 6.1, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "hoursOfPrecipitation": 3.5, + "hoursOfRain": 3.5, + "hoursOfSnow": 0, + "hoursOfIce": 0, + "cloudCover": 100 + }, + "night": { + "iconCode": 12, + "iconPhrase": "Showers", + "hasPrecipitation": true, + "precipitationType": "Rain", + "precipitationIntensity": "Light", + "shortPhrase": "Breezy early; cloudy", + "longPhrase": "Breezy this evening; otherwise, low clouds", + "precipitationProbability": 65, + "thunderstormProbability": 0, + "rainProbability": 64, + "snowProbability": 40, + "iceProbability": 0, + "wind": { + "direction": { + "degrees": 181, + "localizedDescription": "S" + }, + "speed": { + "value": 20.4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 170, + "localizedDescription": "S" + }, + "speed": { + "value": 42.6, + "unit": "km/h", + "unitType": 7 + } + }, + "totalLiquid": { + "value": 4, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 4, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "hoursOfPrecipitation": 2.5, + "hoursOfRain": 2.5, + "hoursOfSnow": 0, + "hoursOfIce": 0, + "cloudCover": 98 + }, + "sources": [ + "AccuWeather" + ] + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetDailyIndices.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetDailyIndices.json new file mode 100644 index 000000000000..660e58e670ca --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetDailyIndices.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "43.84745,-79.37849", + "indexGroupId": 11 + }, + "responses": { + "200": { + "body": { + "results": [ + { + "indexName": "Running Forecast", + "indexId": 1, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.2, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is an excellent day for outdoor running!" + }, + { + "indexName": "Jogging Forecast", + "indexId": 2, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.4, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "Conditions are excellent for jogging outdoors!" + }, + { + "indexName": "Hiking Forecast", + "indexId": 3, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.8, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "Conditions are excellent for hiking!" + }, + { + "indexName": "Bicycling Forecast", + "indexId": 4, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.9, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "Conditions are excellent for bicycling outdoors!" + }, + { + "indexName": "Golf Weather Forecast", + "indexId": 5, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 10.0, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is a great day for golf." + }, + { + "indexName": "Tennis Forecast", + "indexId": 6, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.2, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is an excellent day for playing tennis!" + }, + { + "indexName": "Skateboarding Forecast", + "indexId": 7, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.9, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is an excellent day for skateboarding!" + }, + { + "indexName": "Outdoor Concert Forecast", + "indexId": 8, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.7, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "Conditions are excellent for attending an outdoor concert!" + }, + { + "indexName": "Kite Flying Forecast", + "indexId": 9, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 8.5, + "category": "Very Good", + "categoryValue": 4, + "ascending": true, + "description": "Conditions are very good today for kite-flying." + }, + { + "indexName": "Beach & Pool Forecast", + "indexId": 10, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 8.6, + "category": "Very Good", + "categoryValue": 4, + "ascending": true, + "description": "Conditons will be very good for a visit to the beach or pool." + }, + { + "indexName": "Sailing Forecast", + "indexId": 11, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 8.3, + "category": "Very Good", + "categoryValue": 4, + "ascending": true, + "description": "Conditions will be very good for sailing." + }, + { + "indexName": "Stargazing Forecast", + "indexId": 12, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.5, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is a great night to be stargazing!" + }, + { + "indexName": "Fishing Forecast", + "indexId": 13, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 3.5, + "category": "Fair", + "categoryValue": 2, + "ascending": true, + "description": "Expect only fair conditions for fishing." + }, + { + "indexName": "Ski Weather Forecast", + "indexId": 15, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 0.0, + "category": "Poor", + "categoryValue": 1, + "ascending": true, + "description": "Expect poor conditions for skiing." + }, + { + "indexName": "Mosquito Activity Forecast", + "indexId": 17, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 7.0, + "category": "Very High", + "categoryValue": 4, + "ascending": true, + "description": "The weather is favorable for a very high level of mosquito activity. Plan activities and insect repellents accordingly." + }, + { + "indexName": "Hunting Forecast", + "indexId": 20, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 4.5, + "category": "Fair", + "categoryValue": 2, + "ascending": true, + "description": "Expect only fair conditions for hunting." + }, + { + "indexName": "Outdoor Barbecue", + "indexId": 24, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.8, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is a great day for an outdoor barbecue!" + }, + { + "indexName": "Lawn Mowing Forecast", + "indexId": 28, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 9.6, + "category": "Excellent", + "categoryValue": 5, + "ascending": true, + "description": "This is a great day for lawn mowing!" + }, + { + "indexName": "Outdoor Activity Forecast", + "indexId": 29, + "dateTime": "2020-07-14T07:00:00-04:00", + "value": 8.7, + "category": "Very Good", + "categoryValue": 4, + "ascending": true, + "description": "Conditions will be very good for outdoor activities." + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetHourlyForecast.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetHourlyForecast.json new file mode 100644 index 000000000000..f3ea02454b5d --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetHourlyForecast.json @@ -0,0 +1,1057 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "47.632346,-122.138874", + "duration": 12 + }, + "responses": { + "200": { + "body": { + "forecasts": [ + { + "date": "2019-11-14T16:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": true, + "temperature": { + "value": 13.4, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 14.1, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 10.9, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 8.4, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 311, + "localizedDescription": "NW" + }, + "speed": { + "value": 3.7, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 5.6, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 72, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 100, + "ceiling": { + "value": 3901, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 39, + "rainProbability": 39, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T17:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 12.5, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 12.8, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 10.2, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7.8, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 281, + "localizedDescription": "W" + }, + "speed": { + "value": 5.6, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 7.4, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 73, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 94, + "ceiling": { + "value": 4054, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 34, + "rainProbability": 34, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T18:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 11.3, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 11.3, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 9.5, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7.4, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 206, + "localizedDescription": "SSW" + }, + "speed": { + "value": 7.4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 77, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 94, + "ceiling": { + "value": 4176, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 29, + "rainProbability": 29, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T19:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 10.4, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 9.8, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.8, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 169, + "localizedDescription": "S" + }, + "speed": { + "value": 7.4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 11.1, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 79, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 93, + "ceiling": { + "value": 4542, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T20:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 10.1, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 9.2, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.6, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 6.9, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 170, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 11.1, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 80, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 92, + "ceiling": { + "value": 4389, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T21:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 10.1, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 9, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.8, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7.1, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 170, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 82, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 91, + "ceiling": { + "value": 4481, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T22:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 9.8, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.6, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7.2, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 174, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 84, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 92, + "ceiling": { + "value": 4481, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T23:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 9.8, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 7, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 175, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 82, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 94, + "ceiling": { + "value": 3688, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-15T00:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 10.1, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.8, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.6, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 6.9, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 176, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 81, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 97, + "ceiling": { + "value": 2926, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 20, + "rainProbability": 20, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-15T01:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 9.9, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 6.8, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 177, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 81, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 99, + "ceiling": { + "value": 2164, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 21, + "rainProbability": 21, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-15T02:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 9.8, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.4, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 6.8, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 172, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 82, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 100, + "ceiling": { + "value": 1737, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 21, + "rainProbability": 21, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-15T03:00:00-08:00", + "iconCode": 7, + "iconPhrase": "Cloudy", + "hasPrecipitation": false, + "isDaylight": false, + "temperature": { + "value": 9.7, + "unit": "C", + "unitType": 17 + }, + "realFeelTemperature": { + "value": 8.6, + "unit": "C", + "unitType": 17 + }, + "wetBulbTemperature": { + "value": 8.4, + "unit": "C", + "unitType": 17 + }, + "dewPoint": { + "value": 6.9, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 161, + "localizedDescription": "SSE" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "relativeHumidity": 83, + "visibility": { + "value": 16.1, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 100, + "ceiling": { + "value": 1311, + "unit": "m", + "unitType": 5 + }, + "uvIndex": 0, + "uvIndexPhrase": "Low", + "precipitationProbability": 26, + "rainProbability": 26, + "snowProbability": 0, + "iceProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetMinuteForecast.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetMinuteForecast.json new file mode 100644 index 000000000000..d122f2685328 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetMinuteForecast.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "47.632346,-122.138874", + "interval": 15 + }, + "responses": { + "200": { + "body": { + "summary": { + "briefPhrase60": "Rain ending in 25 min", + "shortPhrase": "Rain ending in 25 min", + "briefPhrase": "Rain ending in 25 min", + "longPhrase": "Rain ending in 25 min", + "iconCode": 12 + }, + "intervalSummaries": [ + { + "startMinute": 0, + "endMinute": 24, + "totalMinutes": 25, + "shortPhrase": "Rain ending in %minute_value min", + "briefPhrase": "Rain ending in %minute_value min", + "longPhrase": "Rain ending in %minute_value min", + "iconCode": 12 + }, + { + "startMinute": 25, + "endMinute": 119, + "totalMinutes": 95, + "shortPhrase": "No precip for %MINUTE_VALUE min", + "briefPhrase": "No precipitation for at least %MINUTE_VALUE min", + "longPhrase": "No precipitation for at least %MINUTE_VALUE min", + "iconCode": 7 + } + ], + "intervals": [ + { + "startTime": "2019-11-14T15:18:00-08:00", + "minute": 0, + "dbz": 23, + "shortPhrase": "Light Rain", + "threshold": "LIGHT", + "color": { + "red": 8, + "green": 98, + "blue": 2, + "hex": "#086202" + }, + "simplifiedColor": { + "red": 35, + "green": 190, + "blue": 39, + "hex": "#23BE27" + }, + "precipitationType": "rain", + "iconCode": 12, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T15:33:00-08:00", + "minute": 15, + "dbz": 18, + "shortPhrase": "Light Rain", + "threshold": "LIGHT", + "color": { + "red": 32, + "green": 133, + "blue": 9, + "hex": "#208509" + }, + "simplifiedColor": { + "red": 35, + "green": 190, + "blue": 39, + "hex": "#23BE27" + }, + "precipitationType": "rain", + "iconCode": 12, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T15:48:00-08:00", + "minute": 30, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T16:03:00-08:00", + "minute": 45, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T16:18:00-08:00", + "minute": 60, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T16:33:00-08:00", + "minute": 75, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T16:48:00-08:00", + "minute": 90, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + }, + { + "startTime": "2019-11-14T17:03:00-08:00", + "minute": 105, + "dbz": 0, + "shortPhrase": "No Precipitation", + "iconCode": 7, + "cloudCover": 100 + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetQuarterDayForecast.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetQuarterDayForecast.json new file mode 100644 index 000000000000..add8661be976 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetQuarterDayForecast.json @@ -0,0 +1,423 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "47.632346,-122.138874", + "duration": 1 + }, + "responses": { + "200": { + "body": { + "forecasts": [ + { + "date": "2019-11-14T00:00:00", + "effectiveDate": "2019-11-14T07:00:00-08:00", + "quarter": 0, + "iconCode": 12, + "iconPhrase": "Showers", + "phrase": "Mostly cloudy with a shower in spots", + "temperature": { + "minimum": { + "value": 6.9, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 11.1, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperature": { + "minimum": { + "value": 7.9, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 11.2, + "unit": "C", + "unitType": 17 + } + }, + "dewPoint": { + "value": 7.5, + "unit": "C", + "unitType": 17 + }, + "relativeHumidity": 90, + "wind": { + "direction": { + "degrees": 206, + "localizedDescription": "SSW" + }, + "speed": { + "value": 3.7, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 192, + "localizedDescription": "SSW" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "visibility": { + "value": 2, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 99, + "hasPrecipitation": true, + "precipitationType": "Rain", + "precipitationIntensity": "Light", + "precipitationProbability": 55, + "thunderstormProbability": 20, + "totalLiquid": { + "value": 0.6, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0.6, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T00:00:00", + "effectiveDate": "2019-11-14T13:00:00-08:00", + "quarter": 1, + "iconCode": 12, + "iconPhrase": "Showers", + "phrase": "Mostly cloudy with a shower in spots", + "temperature": { + "minimum": { + "value": 11.3, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 13.7, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperature": { + "minimum": { + "value": 11.3, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 14.7, + "unit": "C", + "unitType": 17 + } + }, + "dewPoint": { + "value": 8.4, + "unit": "C", + "unitType": 17 + }, + "relativeHumidity": 76, + "wind": { + "direction": { + "degrees": 296, + "localizedDescription": "WNW" + }, + "speed": { + "value": 3.7, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 206, + "localizedDescription": "SSW" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "visibility": { + "value": 8, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 96, + "hasPrecipitation": true, + "precipitationType": "Rain", + "precipitationIntensity": "Light", + "precipitationProbability": 50, + "thunderstormProbability": 20, + "totalLiquid": { + "value": 0.3, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0.3, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T00:00:00", + "effectiveDate": "2019-11-14T19:00:00-08:00", + "quarter": 2, + "iconCode": 7, + "iconPhrase": "Cloudy", + "phrase": "Cloudy", + "temperature": { + "minimum": { + "value": 9.8, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 10.4, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperature": { + "minimum": { + "value": 8.5, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 9.8, + "unit": "C", + "unitType": 17 + } + }, + "dewPoint": { + "value": 7, + "unit": "C", + "unitType": 17 + }, + "relativeHumidity": 81, + "wind": { + "direction": { + "degrees": 172, + "localizedDescription": "S" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 174, + "localizedDescription": "S" + }, + "speed": { + "value": 13, + "unit": "km/h", + "unitType": 7 + } + }, + "visibility": { + "value": 10, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 93, + "hasPrecipitation": false, + "precipitationProbability": 25, + "thunderstormProbability": 0, + "totalLiquid": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 0, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + }, + { + "date": "2019-11-14T00:00:00", + "effectiveDate": "2019-11-15T01:00:00-08:00", + "quarter": 3, + "iconCode": 12, + "iconPhrase": "Showers", + "phrase": "Cloudy with a little rain", + "temperature": { + "minimum": { + "value": 8.9, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 9.9, + "unit": "C", + "unitType": 17 + } + }, + "realFeelTemperature": { + "minimum": { + "value": 6.2, + "unit": "C", + "unitType": 17 + }, + "maximum": { + "value": 8.6, + "unit": "C", + "unitType": 17 + } + }, + "dewPoint": { + "value": 6.9, + "unit": "C", + "unitType": 17 + }, + "relativeHumidity": 84, + "wind": { + "direction": { + "degrees": 164, + "localizedDescription": "SSE" + }, + "speed": { + "value": 9.3, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "direction": { + "degrees": 165, + "localizedDescription": "SSE" + }, + "speed": { + "value": 14.8, + "unit": "km/h", + "unitType": 7 + } + }, + "visibility": { + "value": 9, + "unit": "km", + "unitType": 6 + }, + "cloudCover": 99, + "hasPrecipitation": true, + "precipitationType": "Rain", + "precipitationIntensity": "Light", + "precipitationProbability": 59, + "thunderstormProbability": 0, + "totalLiquid": { + "value": 1.4, + "unit": "mm", + "unitType": 3 + }, + "rain": { + "value": 1.4, + "unit": "mm", + "unitType": 3 + }, + "snow": { + "value": 0, + "unit": "cm", + "unitType": 4 + }, + "ice": { + "value": 0, + "unit": "mm", + "unitType": 3 + } + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetSevereWeatherAlerts.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetSevereWeatherAlerts.json new file mode 100644 index 000000000000..3974b02f3a3a --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetSevereWeatherAlerts.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "48.057,-81.091" + }, + "responses": { + "200": { + "body": { + "results": [ + { + "countryCode": "CA", + "alertId": 242621, + "description": { + "localized": "Heat Warning", + "english": "Heat Warning" + }, + "category": "NON-PRECIPITATION", + "priority": 31, + "source": "Environment Canada", + "sourceId": 3, + "alertAreas": [ + { + "name": "Kirkland Lake - Englehart", + "summary": "Heat Warning in effect until Thursday, 3:16 AM EDT. Source: Environment Canada", + "startTime": "2020-06-29T19:44:00+00:00", + "endTime": "2020-07-02T07:16:03+00:00", + "latestStatus": { + "localized": "Continue", + "english": "Continue" + }, + "alertDetails": "\nA heat event continues through Thursday.\n\nDaytime high temperatures in the low thirties with overnight lows near 18 degrees Celsius are expected to continue until Thursday. Humidex values are expected to reach between 36 and 40 today. Cooler air will move into the region Thursday night. \n\nPlease refer to your public forecast for further details on expected temperatures.\n\nHot and humid air can also bring deteriorating air quality and can result in the air quality health index to approach the high risk category.\n\n###\n\nExtreme heat affects everyone.\n\nThe risks are greater for young children, pregnant women, older adults, people with chronic illnesses and people working or exercising outdoors.\n\nWatch for the effects of heat illness: swelling, rash, cramps, fainting, heat exhaustion, heat stroke and the worsening of some health conditions.\n\nPlease continue to monitor alerts and forecasts issued by Environment Canada. To report severe weather, send an email to ONstorm@canada.ca or tweet reports using #ONStorm.\n", + "alertDetailsLanguageCode": "en-CA" + } + ] + }, + { + "countryCode": "CA", + "alertId": 242633, + "description": { + "localized": "Heat Warning", + "english": "Heat Warning" + }, + "category": "NON-PRECIPITATION", + "priority": 31, + "source": "Environment Canada", + "sourceId": 3, + "alertAreas": [ + { + "name": "Kirkland Lake - Englehart", + "summary": "Heat Warning in effect until 9:25 PM EDT. Source: Environment Canada", + "startTime": "2020-07-01T09:25:59+00:00", + "endTime": "2020-07-02T01:25:59+00:00", + "latestStatus": { + "localized": "New", + "english": "New" + }, + "alertDetails": "\nA heat event is expected through Thursday. \n\nDaytime high temperatures in the low thirties on Wednesday and Thursday with overnight lows near 18 degrees Celsius are expected. This heat event may be extended into the weekend with daytime high temperatures near 30 degrees Celsius. \n\nPlease refer to your public forecast for further details on expected temperatures. \n\nHot and humid air can also bring deteriorating air quality and can result in the Air Quality Health Index to approach the high risk category.\n\n###\n\nExtreme heat affects everyone.\n\nThe risks are greater for young children, pregnant women, older adults, people with chronic illnesses and people working or exercising outdoors.\n\nPlease continue to monitor alerts and forecasts issued by Environment Canada. To report severe weather, send an email to ONstorm@canada.ca or tweet reports using #ONStorm.\n", + "alertDetailsLanguageCode": "en-CA" + } + ] + } + ] + } + }, + "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/Weather/preview/1.0/examples/GetWeatherAlongRoute.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetWeatherAlongRoute.json new file mode 100644 index 000000000000..8e2d64d78d09 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/examples/GetWeatherAlongRoute.json @@ -0,0 +1,353 @@ +{ + "parameters": { + "api-version": "1.0", + "format": "json", + "query": "38.907,-77.037,0:38.907,-77.009,10:38.926,-76.928,20:39.033,-76.852,30:39.168,-76.732,40:39.269,-76.634,50:39.287,-76.612,60" + }, + "responses": { + "200": { + "body": { + "summary": { + "iconCode": 35, + "hazards": { + "maxHazardIndex": 0 + } + }, + "waypoints": [ + { + "iconCode": 38, + "shortPhrase": "Mostly cloudy", + "isDayTime": false, + "cloudCover": 70, + "temperature": { + "value": 3.4, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 142 + }, + "speed": { + "value": 2, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 3, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 90, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 38, + "shortPhrase": "Mostly cloudy", + "isDayTime": false, + "cloudCover": 65, + "temperature": { + "value": 3.4, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 166 + }, + "speed": { + "value": 1, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 2, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 77, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 35, + "shortPhrase": "Partly cloudy", + "isDayTime": false, + "cloudCover": 43, + "temperature": { + "value": 3.2, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 163 + }, + "speed": { + "value": 2, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 2, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 44, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 35, + "shortPhrase": "Partly cloudy", + "isDayTime": false, + "cloudCover": 34, + "temperature": { + "value": 1.6, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 189 + }, + "speed": { + "value": 2, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 4, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 32, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 38, + "shortPhrase": "Mostly cloudy", + "isDayTime": false, + "cloudCover": 54, + "temperature": { + "value": 0.5, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 202 + }, + "speed": { + "value": 4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 5, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 36, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 35, + "shortPhrase": "Partly cloudy", + "isDayTime": false, + "cloudCover": 46, + "temperature": { + "value": 2.4, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 222 + }, + "speed": { + "value": 4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 5, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 38, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + }, + { + "iconCode": 35, + "shortPhrase": "Partly cloudy", + "isDayTime": false, + "cloudCover": 39, + "temperature": { + "value": 2.3, + "unit": "C", + "unitType": 17 + }, + "wind": { + "direction": { + "degrees": 231 + }, + "speed": { + "value": 4, + "unit": "km/h", + "unitType": 7 + } + }, + "windGust": { + "speed": { + "value": 5, + "unit": "km/h", + "unitType": 7 + } + }, + "precipitation": { + "dbz": 0, + "type": "SNOW" + }, + "lightningCount": 0, + "sunGlare": { + "calculatedVehicleHeading": 43, + "glareIndex": 0 + }, + "hazards": { + "maxHazardIndex": 0 + }, + "notifications": [] + } + ] + } + }, + "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/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json new file mode 100644 index 000000000000..4cf5e087e01c --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json @@ -0,0 +1,2397 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Weather 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#### 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.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "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.", + "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 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 AAD 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 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": false, + "values": [ + { + "value": "json", + "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "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", + "required": false, + "x-ms-parameter-location": "method" + }, + "WeatherUnit": { + "name": "unit", + "description": "Specifies to return the data in either metric units or imperial units. Default value is metric.", + "default": "metric", + "in": "query", + "type": "string", + "required": false, + "enum": [ + "metric", + "imperial" + ], + "x-ms-enum": { + "name": "Unit", + "modelAsString": false, + "values": [ + { + "value": "metric", + "description": "Return data in metric units. Some example units of metric system are Celsius and kilometer." + }, + { + "value": "imperial", + "description": "Return data in imperial units. Some example units of imperial system are Fahrenheit and mile." + } + ] + }, + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/weather/forecast/hourly/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetHourlyForecastPreview", + "x-ms-examples": { + "HourlyForecast": { + "$ref": "./examples/GetHourlyForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherUnit" + }, + { + "name": "duration", + "description": "Time frame of the returned weather forecast. By default, the forecast data for next hour will be returned. Available values are\n * `1` - Return forecast data for the next hour. Default value.\n * `12` - Return hourly forecast for next 12 hours.\n * `24` - Return hourly forecast for next 24 hours.\n * `72` - Return hourly forecast for next 72 hours (3 days).\n * `120` - Return hourly forecast for next 120 hours (5 days). Only available in S1 SKU. \n * `240` - Return hourly forecast for next 240 hours (10 days). Only available in S1 SKU.", + "default": 1, + "in": "query", + "type": "integer" + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HourlyForecastResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/forecast/minute/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetMinuteForecastPreview", + "x-ms-examples": { + "MinuteForecast": { + "$ref": "./examples/GetMinuteForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "name": "interval", + "description": "Specifies time interval in minutes for the returned weather forecast. Supported values are\n * `1` - Retrieve forecast for 1-minute intervals. Returned by default.\n * `5` - Retrieve forecasts for 5-minute intervals.\n * `15` - Retrieve forecasts for 15-minute intervals.", + "default": 1, + "in": "query", + "type": "integer" + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MinuteForecastResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/forecast/quarterDay/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetQuarterDayForecastPreview", + "x-ms-examples": { + "QuarterDayForecast": { + "$ref": "./examples/GetQuarterDayForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherUnit" + }, + { + "name": "duration", + "description": "Specifies for how many days the quester-day forecast responses are returned. Supported values are:\n * `1` - Return forecast data for the next day. Returned by default.\n * `5` - Return forecast data for the next 5 days.\n * `10` - Return forecast data for next 10 days.\n * `15` - Return forecast data for the next 15 days.", + "default": 1, + "in": "query", + "type": "integer" + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/QuarterDayForecastResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/currentConditions/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetCurrentConditionsPreview", + "x-ms-examples": { + "CurrentConditions": { + "$ref": "./examples/GetCurrentConditions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherUnit" + }, + { + "name": "details", + "description": "Return full details for the current conditions. Available values are\n * `true` - Returns full details. By default all details are returned.\n * `false` - Returns a truncated version of the current condition data, which includes observation date time, weather phrase, icon code, precipitation indicator flag, and temperature.", + "default": "true", + "in": "query", + "type": "string" + }, + { + "name": "duration", + "description": "Time frame of the returned weather conditions. By default, the most current weather conditions will be returned. Default value is 0. Supported values are:\n * `0` - Return the most current weather conditions.\n * `6` - Return weather conditions from past 6 hours.\n * `24` - Return weather conditions from past 24 hours.", + "default": 0, + "in": "query", + "type": "integer" + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CurrentConditionsResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/forecast/daily/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetDailyForecastPreview", + "x-ms-examples": { + "DailyForecast": { + "$ref": "./examples/GetDailyForecast.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherUnit" + }, + { + "name": "duration", + "description": "Specifies for how many days the daily forecast responses are returned. Available values are\n * `1` - Return forecast data for the next day. Returned by default.\n * `5` - Return forecast data for the next 5 days.\n * `10` - Return forecast data for the next 10 days.\n * `25` - Return forecast data for the next 25 days. Only available in S1 SKU.\n * `45` - Return forecast data for the next 45 days. Only available in S1 SKU.", + "default": 1, + "in": "query", + "type": "integer" + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DailyForecastResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/route/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetWeatherAlongRoutePreview", + "x-ms-examples": { + "WeatherAlongRoute": { + "$ref": "./examples/GetWeatherAlongRoute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JsonFormat" + }, + { + "name": "query", + "description": "Coordinates through which the route is calculated, separated by colon (:) and entered in chronological order. A minimum of two waypoints is required. A single API call may contain up to 60 waypoints. \nA waypoint indicates location, ETA, and optional heading: latitude,longitude,ETA,heading, where\n * `Latitude` - Latitude coordinate in decimal degrees.\n * `Longitude` - Longitude coordinate in decimal degrees.\n * `ETA (estimated time of arrival)` - The number of minutes from the present time that it will take for the vehicle to reach the waypoint. Allowed range is from 0.0 to 120.0 minutes.\n * `Heading` - An optional value indicating the vehicle heading as it passes the waypoint. Expressed in clockwise degrees relative to true north. This is issued to calculate sun glare as a driving hazard. Allowed range is from 0.0 to 360.0 degrees. If not provided, a heading will automatically be derived based on the position of neighboring waypoints.\n\nIt is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. This way a more accurate assessment can be provided for the trip and prevent isolated events not being captured between waypoints. Information can and should be updated along the route (especially for trips greater than 2 hours) to continuously pull new waypoints moving forward, but also to ensure that forecast information for content such as precipitation type and intensity is accurate as storms develop and dissipate over time.", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherLanguage" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WeatherAlongRouteResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/severe/alerts/{format}": { + "get": { + "x-publish": true, + "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": "Weather_GetSevereWeatherAlertsPreview", + "x-ms-examples": { + "SevereWeatherAlert": { + "$ref": "./examples/GetSevereWeatherAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherLanguage" + }, + { + "name": "details", + "description": "Return full details for the severe weather alerts. Available values are\n * `true` - Returns full details. By default all details are returned.\n * `false` - Returns a truncated version of the alerts data, which excludes the area-specific full description of alert details (`alertDetails`).", + "default": "true", + "in": "query", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK,", + "schema": { + "$ref": "#/definitions/SevereWeatherAlertsResponse" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + }, + "/weather/indices/daily/{format}": { + "get": { + "x-publish": true, + "description": "**Get Daily Indices Preview**\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": "Weather_GetDailyIndicesPreview", + "x-ms-examples": { + "DailyIndices": { + "$ref": "./examples/GetDailyIndices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/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\".", + "in": "query", + "type": "string", + "required": true + }, + { + "$ref": "#/parameters/WeatherLanguage" + }, + { + "name": "duration", + "description": "Specifies for how many days the daily indices are returned. By default, the indices data for the current day will be returned. When requesting future indices data, the current day is included in the response as day 1. Available values are\n * `1` - Return daily index data for the current day. Default value.\n * `5` - Return 5 days of daily index data starting from the current day.\n * `10` - Return 10 days of daily index data starting from the current day.\n * `15` - Return 15 days of daily index data starting from the current day.", + "default": 1, + "in": "query", + "type": "integer" + }, + { + "name": "indexId", + "description": "Numeric index identifier that can be used for restricting returned results to the corresponding index type. Cannot be paired with `indexGroupId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported indices.", + "in": "query", + "type": "integer" + }, + { + "name": "indexGroupId", + "description": "Numeric index group identifier that can be used for restricting returned results to the corresponding subset of indices (index group). Cannot be paired with `indexId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported index groups.", + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DailyIndicesResponse" + } + }, + "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 Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the 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." + } + } + }, + "WeatherUnit": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "float", + "description": "Rounded value." + }, + "unit": { + "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." + } + } + }, + "Wind": { + "type": "object", + "description": "Wind details being returned including speed and direction.", + "properties": { + "direction": { + "$ref": "#/definitions/WindDirection", + "description": "Wind direction" + }, + "speed": { + "$ref": "#/definitions/WindSpeed", + "description": "Speed of the wind in specified unit." + } + } + }, + "WindDirection": { + "type": "object", + "properties": { + "degrees": { + "type": "integer", + "format": "int32", + "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": { + "type": "string", + "description": "Direction abbreviation in the specified language." + } + }, + "description": "Wind direction" + }, + "WindSpeed": { + "type": "object", + "description": "Speed of wind in specified unit.", + "properties": { + "value": { + "type": "number", + "format": "float", + "description": "Rounded value of the speed." + }, + "unit": { + "type": "string", + "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." + } + } + }, + "WeatherUnitRange": { + "type": "object", + "description": "Returned temperature values.", + "properties": { + "minimum": { + "$ref": "#/definitions/WeatherUnit", + "description": "Minimum temperature for the time period." + }, + "maximum": { + "$ref": "#/definitions/WeatherUnit", + "description": "Maximum temperature for the time period" + } + } + }, + "UVIndex": { + "type": "integer", + "format": "int32", + "description": "Measure of the strength of the ultraviolet radiation from the sun. Supported values are:\n * `0-2` - Low danger from the sun's UV rays or the average person.\n * `3-5` - Moderate risk of harm from unprotected sun exposure.\n * `6-7` - High risk of harm from unprotected sun exposure.\n * `8-10` - Very high risk of harm from unprotected sun exposure.\n * `11+` - Extreme risk of harm from unprotected sun exposure." + }, + "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." + }, + "HourlyForecast": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Date and time of the forecast in ISO 8601 format, for example, 2019-10-27T19:39:57-08: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." + }, + "iconPhrase": { + "type": "string", + "description": "Phrase description of the weather icon." + }, + "hasPrecipitation": { + "type": "boolean", + "description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation." + }, + "isDaylight": { + "type": "boolean", + "description": "Specifies whether or not it is daylight. True indicates day light." + }, + "temperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "Temperature being returned." + }, + "realFeelTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "RealFeel™ Temperature being returned. Describes what the temperature really feels like in the shade." + }, + "wetBulbTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "The temperature to which air may be cooled by evaporating water into it at constant pressure until it reaches saturation." + }, + "dewPoint": { + "$ref": "#/definitions/WeatherUnit", + "description": "The dewpoint temperature in specified unit. The dewpoint temperature is the temperature that the air must be cooled to in order to reach saturation." + }, + "wind": { + "$ref": "#/definitions/Wind", + "description": "Wind details being returned including speed and direction." + }, + "windGust": { + "$ref": "#/definitions/Wind", + "description": "Wind gust. Wind gust is a sudden, brief increase in speed of the wind." + }, + "relativeHumidity": { + "type": "integer", + "format": "int32", + "description": "Relative humidity is the amount of water vapor present in air expressed as a percentage of the amount needed for saturation at the same temperature." + }, + "visibility": { + "$ref": "#/definitions/WeatherUnit", + "description": "Visibility in specified unit. A measure of the distance at which an object or light can be clearly discerned." + }, + "ceiling": { + "$ref": "#/definitions/WeatherUnit", + "description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds." + }, + "uvIndex": { + "$ref": "#/definitions/UVIndex" + }, + "uvIndexPhrase": { + "type": "string", + "description": "Phrase associated with the `uvIndex`." + }, + "precipitationProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of precipitation. For example, '20'." + }, + "rainProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of rain. For example, '50'." + }, + "snowProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of snow. For example, '50'." + }, + "iceProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of snow. For example, '5'." + }, + "totalLiquid": { + "$ref": "#/definitions/WeatherUnit", + "description": "Total liquid equivalent of precipitation during the forecast period." + }, + "rain": { + "$ref": "#/definitions/WeatherUnit", + "description": "Rain" + }, + "snow": { + "$ref": "#/definitions/WeatherUnit", + "description": "Snow" + }, + "ice": { + "$ref": "#/definitions/WeatherUnit", + "description": "Ice" + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + } + } + }, + "HourlyForecastResponse": { + "type": "object", + "properties": { + "forecasts": { + "type": "array", + "description": "Forecast data for each returned hour.", + "items": { + "$ref": "#/definitions/HourlyForecast" + } + } + } + }, + "MinuteForecastSummary": { + "type": "object", + "properties": { + "briefPhrase60": { + "type": "string", + "description": "Summary phrase for the next 60 minutes. Phrase length is approximately 60 characters." + }, + "shortPhrase": { + "type": "string", + "description": "Short summary phrase for the next 120 minutes. Phrase length is approximately 25 characters." + }, + "briefPhrase": { + "type": "string", + "description": "Summary phrase for the next 120 minutes. Phrase length is approximately 60 characters." + }, + "longPhrase": { + "type": "string", + "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." + } + }, + "description": "Phrase summaries for the entire forecast period." + }, + "IntervalSummary": { + "type": "object", + "properties": { + "startMinute": { + "type": "integer", + "format": "int32", + "description": "The first minute to which the summary applies." + }, + "endMinute": { + "type": "integer", + "format": "int32", + "description": "The last minute to which the summary applies." + }, + "totalMinutes": { + "type": "integer", + "format": "int32", + "description": "The number of minutes for which the summary applies." + }, + "shortPhrase": { + "type": "string", + "description": "Short summary phrase. Phrase length is approximately 25 characters." + }, + "briefPhrase": { + "type": "string", + "description": "Brief summary phrase. Phrase length is approximately 60 characters." + }, + "longPhrase": { + "type": "string", + "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." + } + } + }, + "Interval": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "description": "The date and time for the start of the interval in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "minute": { + "type": "integer", + "format": "int32", + "description": "The first minute for the interval." + }, + "dbz": { + "type": "number", + "format": "double", + "description": "A unit that represents forecasted precipitation intensity." + }, + "shortPhrase": { + "type": "string", + "description": "A short phrase describing precipitation condition for the interval." + }, + "threshold": { + "type": "string", + "description": "Key that specifies the threshold value. Along with precipitationType, can be used to determine the simplifiedColor. If dbz is zero, not present in the response." + }, + "color": { + "$ref": "#/definitions/Color", + "description": "The full spectrum color that maps to the dBZ (decibel relative to Z). If dbz is zero, color is not present in the response." + }, + "simplifiedColor": { + "$ref": "#/definitions/Color", + "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." + }, + "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." + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + } + } + }, + "MinuteForecastResponse": { + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/MinuteForecastSummary" + }, + "intervalSummaries": { + "type": "array", + "items": { + "$ref": "#/definitions/IntervalSummary" + }, + "description": "Summary information for each interval in the forecast. The Summaries breaks down each potential interval where precipitation starts and stops." + }, + "intervals": { + "type": "array", + "description": "Forecast data for each interval in the forecast.", + "items": { + "$ref": "#/definitions/Interval" + } + } + } + }, + "Color": { + "type": "object", + "properties": { + "red": { + "type": "integer", + "format": "int32", + "description": "Red component of the RGB value." + }, + "green": { + "type": "integer", + "format": "int32", + "description": "Green component of the RGB value." + }, + "blue": { + "type": "integer", + "format": "int32", + "description": "Blue component of the RGB value" + }, + "hex": { + "type": "string", + "description": "Hexadecimal color value." + } + } + }, + "QuarterDayForecast": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Date and time of the forecast in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "effectiveDate": { + "type": "string", + "description": "Date and time of the beginning of the forecast quarter displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "quarter": { + "description": "Quarter of the day.", + "type": "integer", + "format": "int32", + "enum": [ + 0, + 1, + 2, + 3 + ], + "x-ms-enum": { + "name": "Quarter", + "modelAsString": false, + "values": [ + { + "value": 0, + "description": "7:00 am - 1:00 pm / 7:00- 13:00" + }, + { + "value": 1, + "description": "1:00 pm - 7:00 pm/ 13:00- 19:00" + }, + { + "value": 2, + "description": "7:00 pm - 1:00 am/ 19:00 - 01:00" + }, + { + "value": 3, + "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." + }, + "iconPhrase": { + "type": "string", + "description": "Phrase description of the icon. Displayed in specified language. For example, 'Sunny'." + }, + "phrase": { + "type": "string", + "description": "Short summary phrase summary for quarter." + }, + "temperature": { + "$ref": "#/definitions/WeatherUnitRange", + "description": "Temperature values for the quarter." + }, + "realFeelTemperature": { + "$ref": "#/definitions/WeatherUnitRange", + "description": "RealFeel™ Temperature values for the quarter." + }, + "dewPoint": { + "$ref": "#/definitions/WeatherUnit", + "description": "The dewpoint temperature in specified unit. The dewpoint temperature is the temperature that the air must be cooled to in order to reach saturation." + }, + "relativeHumidity": { + "type": "integer", + "format": "int32", + "description": "Relative humidity is the amount of water vapor present in air expressed as a percentage of the amount needed for saturation at the same temperature." + }, + "wind": { + "$ref": "#/definitions/Wind", + "description": "Wind details being returned including speed and direction." + }, + "windGust": { + "$ref": "#/definitions/Wind", + "description": "Wind gust. Wind gust is a sudden, brief increase in speed of the wind." + }, + "visibility": { + "$ref": "#/definitions/WeatherUnit", + "description": "Visibility in specified unit. A measure of the distance at which an object or light can be clearly discerned." + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + }, + "hasPrecipitation": { + "type": "boolean", + "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." + }, + "precipitationIntensity": { + "type": "string", + "description": "Description of the intensity." + }, + "precipitationProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of precipitation. For example, '20'." + }, + "thunderstormProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of a thunderstorm. For example, '10'." + }, + "totalLiquid": { + "$ref": "#/definitions/WeatherUnit", + "description": "Total liquid equivalent of precipitation during the forecast period." + }, + "rain": { + "$ref": "#/definitions/WeatherUnit", + "description": "Rain" + }, + "snow": { + "$ref": "#/definitions/WeatherUnit", + "description": "Snow" + }, + "ice": { + "$ref": "#/definitions/WeatherUnit", + "description": "Ice" + } + } + }, + "QuarterDayForecastResponse": { + "type": "object", + "properties": { + "forecasts": { + "type": "array", + "description": "Forecast data for each quarter in the response.", + "items": { + "$ref": "#/definitions/QuarterDayForecast" + } + } + } + }, + "CurrentConditionsResponse": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/CurrentConditions" + } + } + } + }, + "PressureTendency": { + "type": "object", + "properties": { + "localizedDescription": { + "type": "string", + "description": "Description of the pressure tendency in specified language" + }, + "code": { + "type": "string", + "description": "Pressure tendency code regardless of language. One of F=Falling, S=Steady, R=Rising." + } + } + }, + "PrecipitationSummary": { + "type": "object", + "properties": { + "pastHour": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past hour." + }, + "past3Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past three hours." + }, + "past6Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past six hours. Contains Metric and Imperial Values." + }, + "past9Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past nine hours." + }, + "past12Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 12 hours." + }, + "past18Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 18 hours." + }, + "past24Hours": { + "$ref": "#/definitions/WeatherUnit", + "description": "The amount of precipitation (liquid equivalent) that has fallen in the past 24 hours." + } + } + }, + "TemperatureSummary": { + "type": "object", + "properties": { + "past6Hours": { + "type": "object", + "properties": { + "minimum": { + "$ref": "#/definitions/WeatherUnit", + "description": "minimum" + }, + "maximum": { + "$ref": "#/definitions/WeatherUnit", + "description": "maximum" + } + }, + "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" + } + }, + "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" + } + }, + "description": "Summary of temperature fluctuations over the past 24 hours." + } + } + }, + "CurrentConditions": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "phrase": { + "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." + }, + "hasPrecipitation": { + "type": "boolean", + "description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation." + }, + "isDayTime": { + "type": "boolean", + "description": "Indicates the time of the day. True indicates 'day',', false indicates 'night." + }, + "temperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "Temperature being returned." + }, + "realFeelTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "RealFeel™ Temperature being returned." + }, + "realFeelTemperatureShade": { + "$ref": "#/definitions/WeatherUnit", + "description": "RealFeel™ Temperature being returned. Describes what the temperature really feels like in the shade." + }, + "relativeHumidity": { + "type": "integer", + "format": "int32", + "description": "Relative humidity is the amount of water vapor present in air expressed as a percentage of the amount needed for saturation at the same temperature." + }, + "dewPoint": { + "$ref": "#/definitions/WeatherUnit", + "description": "The dewpoint temperature in specified unit. The dewpoint temperature is the temperature that the air must be cooled to in order to reach saturation." + }, + "wind": { + "$ref": "#/definitions/Wind", + "description": "Wind details being returned including speed and direction." + }, + "windGust": { + "$ref": "#/definitions/Wind", + "description": "Wind gust. Wind gust is a sudden, brief increase in speed of the wind." + }, + "uvIndex": { + "$ref": "#/definitions/UVIndex" + }, + "uvIndexPhrase": { + "type": "string", + "description": "Phrase associated with the `uvIndex`." + }, + "visibility": { + "$ref": "#/definitions/WeatherUnit", + "description": "Visibility in specified unit. A measure of the distance at which an object or light can be clearly discerned." + }, + "obstructionsToVisibility": { + "type": "string", + "description": "Cause of limited visibility." + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + }, + "ceiling": { + "$ref": "#/definitions/WeatherUnit", + "description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds." + }, + "pressure": { + "$ref": "#/definitions/WeatherUnit", + "description": "Atmospheric pressure in specified unit." + }, + "pressureTendency": { + "$ref": "#/definitions/PressureTendency", + "description": "Atmospheric pressure change." + }, + "past24HourTemperatureDeparture": { + "$ref": "#/definitions/WeatherUnit", + "description": "Departure from the temperature observed 24 hours ago in specified unit." + }, + "apparentTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "Perceived outdoor temperature caused by the combination of air temperature, relative humidity, and wind speed in specified unit." + }, + "windChillTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "Perceived air temperature on exposed skin due to wind." + }, + "wetBulbTemperature": { + "$ref": "#/definitions/WeatherUnit", + "description": "The temperature to which air may be cooled by evaporating water into it at constant pressure until it reaches saturation." + }, + "precipitationSummary": { + "$ref": "#/definitions/PrecipitationSummary", + "description": "Summary of precipitation amounts over the past 24 hours." + }, + "temperatureSummary": { + "$ref": "#/definitions/TemperatureSummary", + "description": "Summary of temperature fluctuations over the past 6, 12, and 24 hours." + } + } + }, + "DailyForecastSummary": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "Date and time that the summary is in effect, displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "endDate": { + "type": "string", + "description": "Date and time that the summary period ends, displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "severity": { + "type": "integer", + "format": "int32", + "description": "severity" + }, + "phrase": { + "type": "string", + "description": "Summary phrase of the daily forecast. Displayed in specified language." + }, + "category": { + "type": "string", + "description": "one or 2 word(s) to summarize the phrase." + } + }, + "description": "Summary for the main conditions for the requested time period. Notice that summary can cover only part of the time period." + }, + "DegreeDaySummary": { + "type": "object", + "properties": { + "heating": { + "$ref": "#/definitions/WeatherUnit", + "description": "Number of degrees that the mean temperature is below 65 degrees F/ 18 degree C." + }, + "cooling": { + "$ref": "#/definitions/WeatherUnit", + "description": "Number of degrees that the mean temperature is above 65 degrees F/ 18 degree C." + } + } + }, + "AirAndPollen": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the pollen or pollutant. For example, grass, mold, weed, air quality, tree and UV index." + }, + "value": { + "type": "integer", + "format": "int32", + "description": "Value of the given type above. Values associated with mold, grass, weed and tree are in units of parts per cubic meter. Both air quality and UV are indices, so they are unitless." + }, + "category": { + "type": "string", + "description": "Category of the air quality or pollution type. For example, low, high, good, moderate, unhealthy, hazardous." + }, + "categoryValue": { + "type": "integer", + "format": "int32", + "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": { + "type": "string", + "description": "Only exists for air quality. Examples include ozone and particle pollution." + } + } + }, + "DailyForecast": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "temperature": { + "$ref": "#/definitions/WeatherUnitRange", + "description": "Temperature values for the day." + }, + "realFeelTemperature": { + "$ref": "#/definitions/WeatherUnitRange", + "description": "RealFeel™ Temperature being returned." + }, + "realFeelTemperatureShade": { + "$ref": "#/definitions/WeatherUnitRange", + "description": "RealFeel™ Temperature being returned. Describes what the temperature really feels like in the shade." + }, + "hoursOfSun": { + "type": "number", + "format": "float", + "description": "Hours of sun." + }, + "degreeDaySummary": { + "$ref": "#/definitions/DegreeDaySummary", + "description": "Summary of Heating Degree Day or Cooling Degree Day information" + }, + "airAndPollen": { + "type": "array", + "items": { + "$ref": "#/definitions/AirAndPollen" + }, + "description": "airAndPollen" + }, + "day": { + "$ref": "#/definitions/DayOrNight", + "description": "Day" + }, + "night": { + "$ref": "#/definitions/DayOrNight", + "description": "Night" + }, + "sources": { + "type": "array", + "items": { + "type": "string", + "description": "Source(s) of the forecast data." + } + } + } + }, + "DailyForecastResponse": { + "type": "object", + "properties": { + "summary": { + "$ref": "#/definitions/DailyForecastSummary" + }, + "forecasts": { + "type": "array", + "description": "Forecast data for each requested day.", + "items": { + "$ref": "#/definitions/DailyForecast" + } + } + } + }, + "LocalSource": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32", + "description": "Numeric identifier, unique to the local data provider." + }, + "name": { + "type": "string", + "description": "Name of the local data provider. Name is displayed in the language specified by language code in URL, if available. Otherwise, Name is displayed in English or the language in which the name was provided." + }, + "weatherCode": { + "type": "string", + "description": "Weather code provided by the local data provider. This weather code allows the forecast to be matched to icons provided by the local data provider instead of Azure Maps icons." + } + } + }, + "DayOrNight": { + "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." + }, + "iconPhrase": { + "type": "string", + "description": "Phrase description of the icon. Displayed in specified language. For example, 'Sunny'." + }, + "localSource": { + "$ref": "#/definitions/LocalSource" + }, + "hasPrecipitation": { + "type": "boolean", + "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." + }, + "precipitationIntensity": { + "type": "string", + "description": "Description of the intensity." + }, + "shortPhrase": { + "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." + }, + "longPhrase": { + "type": "string", + "description": "Phrase description of the forecast in specified language. Azure Maps attempts to keep this phrase under 100 characters in length, but some languages/weather events may result in a longer phrase length, exceeding 100 characters." + }, + "precipitationProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of precipitation. For example, '20'." + }, + "thunderstormProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of a thunderstorm. For example, '80'." + }, + "rainProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of rain. For example, '40'." + }, + "snowProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of snow. For example, '30'." + }, + "iceProbability": { + "type": "integer", + "format": "int32", + "description": "Percent representing the probability of ice. For example, '30'." + }, + "wind": { + "$ref": "#/definitions/Wind", + "description": "Wind details being returned including speed and direction." + }, + "windGust": { + "$ref": "#/definitions/Wind", + "description": "Wind gust. Wind gust is a sudden, brief increase in speed of the wind." + }, + "totalLiquid": { + "$ref": "#/definitions/WeatherUnit", + "description": "Total liquid equivalent of precipitation during the forecast period." + }, + "rain": { + "$ref": "#/definitions/WeatherUnit", + "description": "Rain" + }, + "snow": { + "$ref": "#/definitions/WeatherUnit", + "description": "Snow" + }, + "ice": { + "$ref": "#/definitions/WeatherUnit", + "description": "Ice" + }, + "hoursOfPrecipitation": { + "type": "number", + "format": "float", + "description": "Hours of precipitation" + }, + "hoursOfRain": { + "type": "number", + "format": "float", + "description": "Hours of rain." + }, + "hoursOfSnow": { + "type": "number", + "format": "float", + "description": "Hours of snow." + }, + "hoursOfIce": { + "type": "number", + "format": "float", + "description": "Hours of ice." + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + } + } + }, + "WeatherAlongRouteSummary": { + "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." + }, + "hazards": { + "$ref": "#/definitions/Hazards" + } + } + }, + "WeatherAlongRouteResponse": { + "type": "object", + "description": "This object is returned from a successful Weather Along Route.", + "properties": { + "summary": { + "$ref": "#/definitions/WeatherAlongRouteSummary" + }, + "waypoints": { + "type": "array", + "description": "Data for each waypoint returned in the same order as specified in the request.", + "items": { + "$ref": "#/definitions/Waypoint" + } + } + } + }, + "WeatherAlongRoutePrecipitation": { + "type": "object", + "properties": { + "dbz": { + "type": "number", + "format": "double", + "description": "The forecasted precipitation intensity in dBZ (decibels relative to Z) from 0.0 to 100.0." + }, + "type": { + "type": "string", + "description": "Precipitation type. If precipitation should occur, the type that it will be: \"RAIN,\" \"HAIL,\" \"SNOW,\" \"ICE,\" or \"MIX.\"" + } + } + }, + "SunGlare": { + "type": "object", + "description": "A rating that indicates how blinding the sun is for the driver.", + "properties": { + "calculatedVehicleHeading": { + "type": "integer", + "format": "int32", + "description": "If the vehicle heading value is not provided for a waypoint, then the service will calculate a heading based upon the location of neighboring waypoints if provided." + }, + "glareIndex": { + "type": "integer", + "format": "int32", + "description": "An index from 0 to 100 indicating sun glare intensity for a driver. A value of 50 and above can be considered a hazard for some drivers and a value of 100 signifies the driver is driving straight into the sun and atmospheric conditions are clear allowing for the full intensity of the sun to blind the driver." + } + } + }, + "Waypoint": { + "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." + }, + "shortPhrase": { + "type": "string", + "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." + }, + "isDayTime": { + "type": "boolean", + "description": "Indicates the time of the day. True indicates 'day',', false indicates 'night." + }, + "cloudCover": { + "type": "integer", + "format": "int32", + "description": "Percent representing cloud cover." + }, + "temperature": { + "$ref": "#/definitions/WeatherUnit" + }, + "wind": { + "$ref": "#/definitions/Wind" + }, + "windGust": { + "$ref": "#/definitions/Wind" + }, + "precipitation": { + "$ref": "#/definitions/WeatherAlongRoutePrecipitation" + }, + "lightningCount": { + "type": "integer", + "format": "int32", + "description": "Estimation of thunderstorm intensity on an open scale. A value of 0 means there is no thunderstorm; values of 1 and higher mean there is a thunderstorm in increasing intensity." + }, + "sunGlare": { + "$ref": "#/definitions/SunGlare", + "description": "A rating that indicates how blinding the sun is for the driver." + }, + "hazards": { + "$ref": "#/definitions/Hazards" + }, + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" + } + } + } + }, + "Hazards": { + "type": "object", + "properties": { + "maxHazardIndex": { + "$ref": "#/definitions/HazardIndex" + }, + "hazardDetails": { + "type": "array", + "description": "Details of the weather hazards affecting the trip.", + "items": { + "$ref": "#/definitions/HazardDetail" + } + } + } + }, + "HazardDetail": { + "type": "object", + "properties": { + "hazardIndex": { + "$ref": "#/definitions/HazardIndex" + }, + "hazardCode": { + "type": "string", + "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": { + "type": "string", + "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." + } + } + }, + "Notification": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "A type of notification generated to warn drivers of the onset of a hazard, or increase in intensity of a hazard." + }, + "hazardIndex": { + "$ref": "#/definitions/HazardIndex" + }, + "hazardCode": { + "type": "string", + "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": { + "type": "string", + "description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type." + } + } + }, + "SevereWeatherAlertsResponse": { + "type": "object", + "description": "This object is returned from a successful Get Severe Weather Alerts call.", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/SevereWeatherAlert" + }, + "description": "A list of all severe weather alerts for the queried location." + } + } + }, + "SevereWeatherAlert": { + "type": "object", + "description": "Information about a severe weather alert.", + "properties": { + "countryCode": { + "type": "string", + "description": "2-character ISO 3166-1 Alpha-2 country code, for example, \"US\"." + }, + "alertId": { + "type": "integer", + "format": "int32", + "description": "A unique numerical identifier for a weather alert." + }, + "description": { + "$ref": "#/definitions/Description", + "description": "Description of the alert." + }, + "category": { + "type": "string", + "description": "Category of the alert." + }, + "priority": { + "type": "integer", + "format": "int32", + "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": { + "type": "string", + "description": "Classification of the alert. This field is not available for all countries and therefore not always returned." + }, + "level": { + "type": "string", + "description": "Severity level of the alert. This field is not available for all countries and therefore not always returned." + }, + "source": { + "type": "string", + "description": "The provider of the alert information. By default the source is returned in English (en-US). The alerts are from official Government Meteorological Agencies and leading global weather alert providers." + }, + "sourceId": { + "type": "integer", + "format": "int32", + "description": "A numerical identifier associated with the source provider name of the alert data." + }, + "disclaimer": { + "type": "string", + "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": { + "type": "array", + "items": { + "$ref": "#/definitions/AlertArea" + }, + "description": "Information about the alert specific to the affected area(s)." + } + } + }, + "Description": { + "type": "object", + "description": "Description of a severe weather alert.", + "properties": { + "localized": { + "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": { + "type": "string", + "description": "Description of the alert in English (en-US)." + } + } + }, + "AlertArea": { + "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": { + "name": { + "type": "string", + "description": "The name of an area which is affected by the alert. The location that was requested falls under the alert area." + }, + "summary": { + "type": "string", + "description": "Text summarizing the alert in the returned area." + }, + "startTime": { + "type": "string", + "description": "The start date and time of the alert in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00. If the alert crosses multiple time zones the returned time in the response is the local time to the requested coordinate location." + }, + "endTime": { + "type": "string", + "description": "The end date and time of the alert in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00. If the alert crosses multiple time zones the returned time in the response is the local time to the requested coordinate location." + }, + "latestStatus": { + "$ref": "#/definitions/LatestStatus", + "description": "The latest status of the alert in the current area." + }, + "alertDetails": { + "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": { + "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." + } + } + }, + "LatestStatus": { + "type": "object", + "description": "The latest status on the alert in the current area.", + "properties": { + "localized": { + "type": "string", + "description": "The latest status keyword for the alert, in the specified language. By default, returned in English (en-US)." + }, + "english": { + "$ref": "#/definitions/LatestStatusKeyword", + "description": "Latest status keyword for the alert, in English (en-US)." + } + } + }, + "LatestStatusKeyword": { + "type": "string", + "description": "Keyword for the latest status of the alert.", + "enum": [ + "New", + "Extend", + "Cancel", + "Correct", + "Expire", + "Upgrade", + "Continue", + "Update" + ], + "x-ms-enum": { + "name": "LatestStatusKeyword", + "modelAsString": false, + "values": [ + { + "value": "New", + "description": "\"New\" - the status of an alert upon initial issuance." + }, + { + "value": "Extend", + "description": "\"Extend\" - the alert has been extended in time, in area, or both since its initial issuance." + }, + { + "value": "Cancel", + "description": "\"Cancel\" - the alert has been canceled prior to its original expiration time." + }, + { + "value": "Correct", + "description": "\"Correct\" - the alert has been modified to correct a previous error." + }, + { + "value": "Expire", + "description": "\"Expire\" - the alert has expired and is no longer active." + }, + { + "value": "Upgrade", + "description": "\"Upgrade\" - the alert has been upgraded to a higher class or category since its initial issuance." + }, + { + "value": "Continue", + "description": "\"Continue\" - the alert has been updated since its initial issuance, but no changes were made to `alertAreas`, `startTime`, `endTime`, or `class`." + }, + { + "value": "Update", + "description": "\"Update\" - the alert has been updated since its initial issuance." + } + ] + } + }, + "DailyIndicesResponse": { + "type": "object", + "description": "This object is returned from a successful Get Daily Indices call.", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/DailyIndex" + }, + "description": "A list of all daily indices for the queried location." + } + } + }, + "DailyIndex": { + "type": "object", + "description": "Information about a daily index.", + "properties": { + "indexName": { + "type": "string", + "description": "Name of the index, for example, \"Construction\", \"Outdoor Activity\", \"Flight Delays\"." + }, + "indexId": { + "type": "integer", + "format": "int32", + "description": "Numeric ID used to identify the specific index. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported index IDs. For example, the index ID can support UI visualization scenarios." + }, + "dateTime": { + "type": "string", + "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "value": { + "type": "number", + "format": "float", + "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": { + "type": "string", + "description": "Textual description for `categoryValue` corresponding to the level that the index value falls under, for example \"Very Good\"." + }, + "categoryValue": { + "type": "integer", + "format": "int32", + "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": { + "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": { + "type": "string", + "description": "A textual explanation that can be used for display purposes to summarize the index value and category. For example, when the index value for Flight Delays is very good, the description will be \"Conditions are excellent for flying!\"." + } + } + }, + "CurrentAirQualityResponse": { + "type": "object", + "description": "This object is returned from a successful Get Current Air Quality call.", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/AirQuality" + }, + "description": "A list of all air quality results for the queried location." + } + } + }, + "HourlyAirQualityForecastResponse": { + "type": "object", + "description": "This object is returned from a successful Get Hourly Air Quality Forecast call.", + "properties": { + "forecasts": { + "type": "array", + "items": { + "$ref": "#/definitions/AirQuality" + }, + "description": "A list of all hourly air quality forecasts for the queried location." + } + } + }, + "DailyAirQualityForecastResponse": { + "type": "object", + "description": "This object is returned from a successful Get Daily Air Quality Forecast call.", + "properties": { + "forecasts": { + "type": "array", + "items": { + "$ref": "#/definitions/DailyAirQuality" + }, + "description": "A list of all daily air quality forecasts for the queried location." + } + } + }, + "AirQuality": { + "type": "object", + "description": "Information about the air quality in a specific location at a specific time.", + "properties": { + "dateTime": { + "type": "string", + "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "index": { + "type": "number", + "format": "float", + "description": "Air quality rating on a scale set by local regulating bodies. Scales can vary widely based on location. See [Wikipedia](https://en.wikipedia.org/wiki/Air_quality_index) for more information." + }, + "globalIndex": { + "type": "number", + "format": "float", + "description": "Internationally normalized air quality rating on a scale from 0 to 300 and up, with higher numbers representing worse air quality." + }, + "dominantPollutant": { + "type": "string", + "description": "The pollutant with the highest concentration." + }, + "category": { + "type": "string", + "description": "One-word description of the air quality in the requested language. For example, \"Excellent\"." + }, + "categoryColor": { + "type": "string", + "description": "A unique color corresponding to the category of this air quality result." + }, + "description": { + "type": "string", + "description": "A textual explanation of this air quality result in the requested language." + }, + "pollutants": { + "type": "array", + "items": { + "$ref": "#/definitions/Pollutant" + }, + "description": "Information about individual pollutants." + } + } + }, + "DailyAirQuality": { + "type": "object", + "description": "Information about the air quality in a specific location at a specific time.", + "properties": { + "dateTime": { + "type": "string", + "description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00." + }, + "index": { + "type": "number", + "format": "float", + "description": "Air quality rating on a scale set by local regulating bodies. Scales can vary widely based on location. See [Wikipedia](https://en.wikipedia.org/wiki/Air_quality_index) for more information." + }, + "globalIndex": { + "type": "number", + "format": "float", + "description": "Internationally normalized air quality rating on a scale from 0 to 300 and up, with higher numbers representing worse air quality." + }, + "dominantPollutant": { + "$ref": "#/definitions/DominantPollutant", + "description": "The pollutant with the highest concentration." + }, + "category": { + "type": "string", + "description": "One-word description of the air quality in the requested language. For example, \"Excellent\"." + }, + "categoryColor": { + "type": "string", + "description": "A unique color corresponding to the category of this air quality result." + }, + "description": { + "type": "string", + "description": "A textual explanation of this air quality result in the requested language." + } + } + }, + "Pollutant": { + "type": "object", + "description": "Detailed information about an individual pollutant. Not returned if `pollutants`=false.", + "properties": { + "type": { + "$ref": "#/definitions/PollutantType", + "description": "Type of pollutant. Please note that more may be added at any time." + }, + "name": { + "type": "string", + "description": "The name of the pollutant in English." + }, + "index": { + "type": "number", + "format": "float", + "description": "Air quality rating on a scale set by local regulating bodies. Scales can vary widely based on location. See [Wikipedia](https://en.wikipedia.org/wiki/Air_quality_index) for more information." + }, + "globalIndex": { + "type": "number", + "format": "float", + "description": "Internationally normalized air quality rating on a scale from 0 to 300 and up, with higher numbers representing worse air quality." + }, + "concentration": { + "$ref": "#/definitions/Concentration", + "description": "An object containing the number of pollutant particles per volume of air." + } + } + }, + "PollutantType": { + "type": "string", + "description": "Type of pollutant. Please note that more may be added at any time.", + "enum": [ + "CO", + "NO2", + "O3", + "PM2.5", + "PM10", + "SO2" + ], + "x-ms-enum": { + "name": "PollutantType", + "modelAsString": false, + "values": [ + { + "value": "CO", + "description": "Carbon monoxide (\"CO\")" + }, + { + "value": "NO2", + "description": "Nitrogen dioxide (\"NO2\")" + }, + { + "value": "O3", + "description": "Ozone (\"O3\")" + }, + { + "value": "PM2.5", + "description": "Particulate matter 2.5 (\"PM2.5\")" + }, + { + "value": "PM10", + "description": "Particulate matter 10 (\"PM10\")" + }, + { + "value": "SO2", + "description": "Sulfur dioxide (\"SO2\")" + } + ] + } + }, + "Concentration": { + "type": "object", + "description": "An object containing the number of pollutant particles per volume of air.", + "properties": { + "value": { + "type": "number", + "format": "float", + "description": "The numerical value indicating the concentration of the corresponding pollutant." + }, + "unit": { + "type": "string", + "description": "Type of unit for the concentration of the pollutant." + }, + "unitType": { + "type": "integer", + "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." + } + } + }, + "DominantPollutant": { + "type": "string", + "description": "Type of pollutant. Please note that more may be added at any time.", + "enum": [ + "Carbon Monoxide", + "Nitrogen Dioxide", + "Ozone", + "Particulate Matter 2.5", + "Particulate Matter 10", + "Sulfur Dioxide" + ], + "x-ms-enum": { + "name": "DominantPollutant", + "modelAsString": false, + "values": [ + { + "value": "Carbon Monoxide", + "description": "Carbon monoxide (\"CO\")" + }, + { + "value": "Nitrogen Dioxide", + "description": "Nitrogen dioxide (\"NO2\")" + }, + { + "value": "Ozone", + "description": "Ozone (\"O3\")" + }, + { + "value": "Particulate Matter 2.5", + "description": "Particulate matter 2.5 (\"PM2.5\")" + }, + { + "value": "Particulate Matter 10", + "description": "Particulate matter 10 (\"PM10\")" + }, + { + "value": "Sulfur Dioxide", + "description": "Sulfur dioxide (\"SO2\")" + } + ] + } + } + } +} diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md new file mode 100644 index 000000000000..aba744cd6897 --- /dev/null +++ b/specification/maps/data-plane/readme.md @@ -0,0 +1,64 @@ +# Azure Maps + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for MapsClient + + +--- +## Getting Started +To build the SDK for Maps, 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 MapsClient. + +``` yaml +title: MapsClient +openapi-type: data-plane +tag: package-1.0-preview +``` + +### Suppression + +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + from: timezone.json + reason: It will break existing clients if we change the name + +``` + +### Tag: package-1.0-preview + +These settings apply only when `--tag=package-1.0-preview` is specified on the command line. + +``` 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/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/readme.azureresourceschema.md b/specification/maps/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a11c8976cf6d --- /dev/null +++ b/specification/maps/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-maps-2020-02-01-preview + - tag: schema-maps-2018-05-01 + - tag: schema-maps-2017-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-maps-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/preview/2020-02-01-preview/maps-management.json + +``` + +### Tag: schema-maps-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/stable/2018-05-01/maps-management.json + +``` + +### Tag: schema-maps-2017-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2017-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/stable/2017-01-01-preview/maps-management.json + +``` diff --git a/specification/maps/resource-manager/readme.md b/specification/maps/resource-manager/readme.md index a01a6d31ee2c..028f371de0f1 100644 --- a/specification/maps/resource-manager/readme.md +++ b/specification/maps/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js maps/resource-manager ``` ## C# @@ -223,28 +226,7 @@ directive: reason: False positive. Structure is the same with addition of provisioningStatus property. ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Maps/preview/2020-02-01-preview/maps-management.json - - $(this-folder)/Microsoft.Maps/stable/2017-01-01-preview/maps-management.json - - $(this-folder)/Microsoft.Maps/stable/2018-05-01/maps-management.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/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json index bedcb77ea9d4..ab42b506a658 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1108,7 +1108,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1147,7 +1147,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1267,7 +1267,7 @@ } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1320,55 +1320,6 @@ "modelAsString": false } }, - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1617,6 +1568,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -1666,7 +1620,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -1784,7 +1738,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -1842,7 +1796,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1895,7 +1849,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -1955,7 +1909,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2093,7 +2047,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2267,7 +2221,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index bbebc6ce6786..5677f4ba6c98 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json index 9e40fcfd7a25..15ba0297e005 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json index 786f1c580abb..ab4d06779f92 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1108,7 +1108,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1147,7 +1147,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1267,7 +1267,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/queryTexts/{queryId}": { "get": { "tags": [ "QueryTexts" @@ -1306,7 +1306,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/queryTexts": { "get": { "tags": [ "QueryTexts" @@ -1356,7 +1356,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { "get": { "tags": [ "TopQueryStatistics" @@ -1395,7 +1395,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/topQueryStatistics": { "get": { "tags": [ "TopQueryStatistics" @@ -1443,7 +1443,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics/{waitStatisticsId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/waitStatistics/{waitStatisticsId}": { "get": { "tags": [ "WaitStatistics" @@ -1482,7 +1482,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/waitStatistics": { "get": { "tags": [ "WaitStatistics" @@ -1530,7 +1530,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}": { "get": { "tags": [ "Advisors" @@ -1569,7 +1569,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors": { "get": { "tags": [ "Advisors" @@ -1608,7 +1608,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { "post": { "tags": [ "RecommendedActionSessions" @@ -1655,7 +1655,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { "get": { "tags": [ "RecommendedActions" @@ -1697,7 +1697,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions": { "get": { "tags": [ "RecommendedActions" @@ -1746,7 +1746,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsOperationStatus" @@ -1782,7 +1782,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsResult" @@ -1827,7 +1827,7 @@ } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1880,55 +1880,6 @@ "modelAsString": false } }, - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -2177,6 +2128,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2226,7 +2180,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2344,7 +2298,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2402,7 +2356,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2455,7 +2409,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2515,7 +2469,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2653,7 +2607,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2827,7 +2781,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2895,7 +2849,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Text." @@ -3034,7 +2988,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Statistic." @@ -3152,7 +3106,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Wait Statistic." @@ -3190,7 +3144,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a recommendation action advisor." @@ -3267,7 +3221,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Recommendation Action." diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 1d83304cfc21..59bda202b839 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of MariaDB Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json index e407fd52c132..efb2c9abf984 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -93,6 +93,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -140,6 +146,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -178,6 +190,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -213,11 +231,17 @@ "schema": { "$ref": "#/definitions/Server" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -246,6 +270,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -253,7 +283,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -279,6 +309,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -286,7 +322,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +365,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -361,6 +397,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -368,7 +410,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -421,6 +463,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -462,6 +510,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -500,11 +554,17 @@ "schema": { "$ref": "#/definitions/FirewallRule" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -536,6 +596,12 @@ "schema": { "$ref": "#/definitions/FirewallRuleListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -543,7 +609,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +754,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +796,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -783,6 +849,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -824,6 +896,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -862,11 +940,17 @@ "schema": { "$ref": "#/definitions/Database" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -898,6 +982,12 @@ "schema": { "$ref": "#/definitions/DatabaseListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -905,7 +995,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -952,6 +1042,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -990,11 +1086,17 @@ "schema": { "$ref": "#/definitions/Configuration" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1026,6 +1128,12 @@ "schema": { "$ref": "#/definitions/ConfigurationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1033,7 +1141,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1065,6 +1173,12 @@ "schema": { "$ref": "#/definitions/LogFileListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1072,7 +1186,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1101,6 +1215,12 @@ "schema": { "$ref": "#/definitions/PerformanceTierListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1108,7 +1228,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1143,11 +1263,17 @@ "schema": { "$ref": "#/definitions/NameAvailability" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1170,6 +1296,12 @@ "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } @@ -1307,34 +1439,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1408,6 +1512,7 @@ "properties": { "backupRetentionDays": { "type": "integer", + "format": "int32", "description": "Backup retention days for the server." }, "geoRedundantBackup": { @@ -1599,6 +1704,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "Server": { @@ -1615,7 +1723,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2075,6 +2183,7 @@ }, "vCore": { "type": "integer", + "format": "int32", "description": "vCore associated with the service level objective" }, "hardwareGeneration": { @@ -2083,10 +2192,12 @@ }, "maxBackupRetentionDays": { "type": "integer", + "format": "int32", "description": "Maximum Backup retention in days for the performance tier edition" }, "minBackupRetentionDays": { "type": "integer", + "format": "int32", "description": "Minimum Backup retention in days for the performance tier edition" }, "maxStorageMB": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/ServerSecurityAlertPolicies.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/ServerSecurityAlertPolicies.json deleted file mode 100644 index a91f25d78599..000000000000 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/ServerSecurityAlertPolicies.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-01-01", - "title": "MariaDBManagementClient", - "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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 - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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/ServerSecurityAlertsCreate.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get the server's threat detection policies.", - "operationId": "ServerSecurityAlertPolicies_ListByServer", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertsPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - }, - "systemData": { - "readOnly": true, - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" - } - } - }, - "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", - "required": true, - "type": "string", - "description": "The name of the server.", - "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/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json deleted file mode 100644 index 48703816639f..000000000000 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01", - "parameters": { - "properties": { - "state": "Enabled" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforMariaDB/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" - } - } - }, - "202": {} - } -} diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsGet.json deleted file mode 100644 index 68e1444fb074..000000000000 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsGet.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforMariaDB/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": "Disabled" - } - } - } - } -} diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json deleted file mode 100644 index 29a92039a7b6..000000000000 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440/securityAlertPolicies", - "name": "Default", - "type": "Microsoft.DBforMariaDB/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" - } - } - ] - } - } - } -} diff --git a/specification/mariadb/resource-manager/readme.azureresourceschema.md b/specification/mariadb/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..24eaf7c99a9d --- /dev/null +++ b/specification/mariadb/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,53 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbformariadb-2020-01-01 + - tag: schema-dbformariadb-2018-06-01-preview + - tag: schema-dbformariadb-2018-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbformariadb-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json + +``` + +### Tag: schema-dbformariadb-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json + +``` + +### Tag: schema-dbformariadb-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json + - Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/mariadb/resource-manager/readme.go.md b/specification/mariadb/resource-manager/readme.go.md index 5655a69784ad..787e63c11c97 100644 --- a/specification/mariadb/resource-manager/readme.go.md +++ b/specification/mariadb/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-01-01 - tag: package-2018-06-01 ``` +### Tag: package-2020-01-01 and go + +These settings apply only when `--tag=package-2020-01-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-01-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace) +``` + ### Tag: package-2018-06-01 and go These settings apply only when `--tag=package-2018-06-01 --go` is specified on the command line. diff --git a/specification/mariadb/resource-manager/readme.java.md b/specification/mariadb/resource-manager/readme.java.md index 4b146a046ac4..ee279ca406ab 100644 --- a/specification/mariadb/resource-manager/readme.java.md +++ b/specification/mariadb/resource-manager/readme.java.md @@ -18,6 +18,7 @@ service-name: MariaDB ``` yaml $(java) && $(multiapi) batch: - tag: package-2018-06-01 + - tag: package-2020-01-01 ``` ### Tag: package-2018-06-01 and java @@ -32,3 +33,16 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: package-2020-01-01 and java + +These settings apply only when `--tag=package-2020-01-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-01-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mariadb.v2020_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mariadb/mgmt-v2020_01_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/mariadb/resource-manager/readme.md b/specification/mariadb/resource-manager/readme.md index e6640f77af11..ae97bb54f0c3 100644 --- a/specification/mariadb/resource-manager/readme.md +++ b/specification/mariadb/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the MariaDB API. title: MariaDBManagementClient description: The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model. openapi-type: arm -tag: package-2018-06-01 +tag: package-2020-01-01 ``` ### Tag: package-2018-06-01-preview @@ -85,7 +85,11 @@ These settings apply only when `--tag=package-2020-01-01` is specified on the co ``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json -- Microsoft.DBforMariaDB/stable/2020-01-01/ServerSecurityAlertPolicies.json +- Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json +- Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json - Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json ``` @@ -93,7 +97,6 @@ input-file: ``` yaml directive: - suppress: PathResourceProviderNamePascalCase - from: Servers.json reason: The name of the provider is Microsoft.DBforMariaDB ``` @@ -114,6 +117,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mariadb/resource-manager ``` @@ -167,38 +173,7 @@ 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! +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json - - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json - - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2020-01-01/ServerSecurityAlertPolicies.json - - $(this-folder)/Microsoft.DBforMariaDB/stable/2020-01-01/Servers.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/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json index 03956116190d..97757371d3fa 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json @@ -313,6 +313,12 @@ "schema": { "$ref": "#/definitions/PrivateStoreList" } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -575,6 +581,37 @@ "eTag": { "description": "Identifier for purposes of race condition", "type": "string" + }, + "privateStoreName": { + "description": "Private Store Name", + "type": "string" + }, + "tenantTag": { + "description": "Tenant Tag", + "type": "string" + }, + "tenantIds": { + "description": "Tenant ids", + "type": "array", + "items": { + "type": "string" + } + }, + "customerTag": { + "description": "Customer tag", + "type": "string" + }, + "hasCommercialAssociation": { + "description": "Indicating whether private store has association with Commercial's Billing Account (through billing account's customer tag retrieved from GSM for a subscription", + "type": "boolean" + }, + "hasMultiTenantAssociation": { + "description": "Indicating whether private store has association with multiple tenants (through tenant's tag retrieved from AAD", + "type": "boolean" + }, + "isGov": { + "description": "Is government", + "type": "boolean" } } }, @@ -636,14 +673,14 @@ "description": "Private store unique id", "type": "string" }, - "createdBy": { + "createdAt": { "readOnly": true, - "description": "Private store offer creator name", + "description": "Private store offer creation date", "type": "string" }, - "createdDate": { + "modifiedAt": { "readOnly": true, - "description": "Private store offer created date", + "description": "Private store offer modification date", "type": "string" }, "specificPlanIdsLimitation": { @@ -652,6 +689,42 @@ "items": { "type": "string" } + }, + "updateSuppressedDueIdempotence": { + "description": "Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.", + "type": "string" + }, + "iconFileUris": { + "description": "", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/icon" + } + } + } + }, + "icon": { + "type": "object", + "properties": { + "iconKind": { + "description": "Icon size", + "type": "string", + "enum": [ + "Small", + "Medium", + "Large", + "Wide", + "Hero" + ], + "x-ms-enum": { + "name": "IconKind", + "modelAsString": true + } + }, + "uri": { + "description": "Icon uri", + "type": "string" } } }, diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffer.json index 951260a83750..55764f63f6ee 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffer.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffer.json @@ -21,8 +21,8 @@ "0002", "0003" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } } diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffers.json index 2805dbb00d7c..b62d52c95461 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffers.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStoreOffers.json @@ -23,8 +23,8 @@ "0002", "0003" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } }, { @@ -41,8 +41,8 @@ "0001", "0002" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } ] diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json index fbe2f70fa1d0..fac3820c801e 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json @@ -22,8 +22,8 @@ "0002", "0003" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } } diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json index a0121c34d04d..bae8810b4efd 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json @@ -24,8 +24,8 @@ "0002", "0003" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } }, { @@ -42,8 +42,8 @@ "0001", "0002" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } ] diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStores.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStores.json index 16988bb65256..4a05ee8af23a 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStores.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStores.json @@ -14,7 +14,13 @@ "properties": { "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", "availability": "enabled", - "eTag": "\"9301f4fd-0000-0100-0000-5e248b350332\"" + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350332\"", + "tenantIds": [], + "tenantTag": "a02807d4-c5de-4593-b3c1-c46d4a3a56c7", + "customerTag": "", + "hasCommercialAssociation": false, + "hasMultiTenantAssociation": true, + "isGov": false } }, { @@ -24,7 +30,15 @@ "properties": { "privateStoreId": "f4528e55-98c4-4328-8e34-bb7ef7775345", "availability": "disabled", - "eTag": "\"9301f4fd-0000-0100-0000-5e234b350345\"" + "eTag": "\"9301f4fd-0000-0100-0000-5e234b350345\"", + "tenantIds": [ + "f686d426-123a-42db-81b7-ab578e110ccd" + ], + "tenantTag": "", + "customerTag": "ABC", + "hasCommercialAssociation": true, + "hasMultiTenantAssociation": false, + "isGov": false } } ] diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStoreOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStoreOffer.json index 99ce60ce0ad2..3f462c10d6a3 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStoreOffer.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStoreOffer.json @@ -31,8 +31,8 @@ "0001", "0002" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } } diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json index f5f8f884c2b6..06287f620fe1 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json @@ -32,8 +32,8 @@ "0001", "0002" ], - "createdDate": "05/29/2015 5:50", - "createdBy": "test@microsoft.com" + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" } } } diff --git a/specification/marketplace/resource-manager/readme.azureresourceschema.md b/specification/marketplace/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6c051e0c1b66 --- /dev/null +++ b/specification/marketplace/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-marketplace-2020-01-01 + - tag: schema-marketplace-2019-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-marketplace-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplace-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Marketplace/stable/2020-01-01/Marketplace.json + +``` + +### Tag: schema-marketplace-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplace-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Marketplace/stable/2019-12-01/Marketplace.json + +``` diff --git a/specification/marketplace/resource-manager/readme.md b/specification/marketplace/resource-manager/readme.md index 4796a969e8cf..ee69458b990f 100644 --- a/specification/marketplace/resource-manager/readme.md +++ b/specification/marketplace/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_marketplace'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js marketplace/resource-manager ``` ## C# @@ -76,27 +79,7 @@ csharp: clear-output-folder: 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! +## AzureResourceSchema -``` 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.Marketplace/stable/2019-12-01/Marketplace.json - - $(this-folder)/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json index 4db62eed41a1..af4d8bb66ac6 100644 --- a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json +++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json @@ -69,6 +69,12 @@ "schema": { "$ref": "#/definitions/AgreementTerms" } + }, + "default": { + "description": "Microsoft.MarketplaceOrdering error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -272,6 +278,12 @@ "schema": { "$ref": "#/definitions/AgreementTerms" } + }, + "default": { + "description": "Microsoft.MarketplaceOrdering error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -302,6 +314,12 @@ "$ref": "#/definitions/AgreementTerms" } } + }, + "default": { + "description": "Microsoft.MarketplaceOrdering error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SetMarketplaceTerms.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SetMarketplaceTerms.json index 29c533b6d7bd..cc1cbbdbb02e 100644 --- a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SetMarketplaceTerms.json +++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SetMarketplaceTerms.json @@ -7,9 +7,6 @@ "offerId": "offid", "planId": "planid", "parameters": { - "id": "id", - "name": "planid", - "type": "Microsoft.MarketplaceOrdering/offertypes", "properties": { "publisher": "pubid", "product": "offid", diff --git a/specification/marketplaceordering/resource-manager/readme.azureresourceschema.md b/specification/marketplaceordering/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..03e5d9139526 --- /dev/null +++ b/specification/marketplaceordering/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-marketplaceordering-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-marketplaceordering-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplaceordering-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json + +``` diff --git a/specification/marketplaceordering/resource-manager/readme.md b/specification/marketplaceordering/resource-manager/readme.md index e9177ad54f45..8b9d60577378 100644 --- a/specification/marketplaceordering/resource-manager/readme.md +++ b/specification/marketplaceordering/resource-manager/readme.md @@ -81,6 +81,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_marketplace_ordering'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js marketplaceordering/resource-manager ``` @@ -194,27 +197,7 @@ 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.MarketplaceOrdering/stable/2015-06-01/Agreements.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json deleted file mode 100644 index 25871e18d840..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json +++ /dev/null @@ -1,1317 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "Direct Methods for Live Video Analytics on IoT Edge.", - "version": "1.0", - "title": "Direct Methods for Live Video Analytics on IoT Edge", - "contact": { - "email": "amshelp@microsoft.com" - } - }, - "security": [ - { - "sharedAccessSignature": [] - } - ], - "paths": { - "/api/GraphTopology": { - "get": { - "summary": "Retrieves a list of graph topologies.", - "description": "Retrieves a list of graph topologies that have been added to the Live Video Analytics IoT Edge module.", - "operationId": "GraphTopologyList", - "produces": [ - "application/json" - ], - "parameters": [], - "responses": { - "200": { - "description": "Graph Topologies were successfully retrieved from the Live Video Analytics IoT Edge module.", - "schema": { - "$ref": "#/definitions/MediaGraphTopologyCollection" - } - } - }, - "x-ms-examples": { - "List all Graph Topologies": { - "$ref": "examples/GraphTopologyList.json" - } - } - }, - "put": { - "summary": "Creates or updates a graph topology.", - "description": "Creates a new topology or updates an existing one, with the given name. A topology is a blueprint defining what nodes are in a graph, and how they are interconnected.", - "operationId": "GraphTopologySet", - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "topology", - "required": true, - "schema": { - "$ref": "#/definitions/MediaGraphTopology" - } - } - ], - "responses": { - "200": { - "description": "Existing graph topology updated.", - "schema": { - "$ref": "#/definitions/MediaGraphTopology" - } - }, - "201": { - "description": "New graph topology created.", - "schema": { - "$ref": "#/definitions/MediaGraphTopology" - } - } - }, - "x-ms-examples": { - "Create or Update a Graph Topology": { - "$ref": "examples/GraphTopologySet.json" - } - } - } - }, - "/api/GraphTopology/{name}": { - "get": { - "summary": "Gets a graph topology by name.", - "description": "Retrieves a graph topology by name. If a topology with that name has been previously set, then the call will return the JSON representation of that topology.", - "operationId": "GraphTopologyGet", - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph topology to be retrieved.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph topology retrieved successfully.", - "schema": { - "$ref": "#/definitions/MediaGraphTopology" - } - }, - "404": { - "description": "Graph topology was not found." - } - }, - "x-ms-examples": { - "Get a Graph Topology": { - "$ref": "examples/GraphTopologyGet.json" - } - } - }, - "delete": { - "summary": "Deletes a graph topology.", - "description": "Deletes a graph topology with the given name. This method should be called after all instances of the topology have been stopped and deleted.", - "operationId": "GraphTopologyDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph topology to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph topology deleted successfully." - }, - "204": { - "description": "Graph topology not found." - } - }, - "x-ms-examples": { - "Delete a Graph Topology": { - "$ref": "examples/GraphTopologyDelete.json" - } - } - } - }, - "/api/GraphInstance": { - "get": { - "summary": "Retrieves a list of graph instances.", - "description": "Retrieves a list of graph instances, if any, that have been created in the Live Video Analytics IoT Edge module.", - "operationId": "GraphInstanceList", - "produces": [ - "application/json" - ], - "parameters": [], - "responses": { - "200": { - "description": "List of graph instances that were successfully retrieved.", - "schema": { - "$ref": "#/definitions/MediaGraphInstanceCollection" - } - } - }, - "x-ms-examples": { - "List all Graph Instances": { - "$ref": "examples/GraphInstanceList.json" - } - } - }, - "put": { - "summary": "Creates or updates a graph instance.", - "description": "Creates or updates a graph instance.", - "operationId": "GraphInstanceSet", - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "instance", - "required": true, - "schema": { - "$ref": "#/definitions/MediaGraphInstance" - } - } - ], - "responses": { - "200": { - "description": "Graph instance updated.", - "schema": { - "$ref": "#/definitions/MediaGraphInstance" - } - }, - "201": { - "description": "New graph instance created.", - "schema": { - "$ref": "#/definitions/MediaGraphInstance" - } - } - }, - "x-ms-examples": { - "Create or Update a Graph Instance": { - "$ref": "examples/GraphInstanceSet.json" - } - } - } - }, - "/api/GraphInstance/{name}": { - "get": { - "summary": "Gets a graph instance by name.", - "description": "Retrieves a graph instance by name. If a graph instance with that name has been previously created, then the direct method call will return the JSON representation of that instance.", - "operationId": "GraphInstanceGet", - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph instance to be retrieved.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph instance retrieved successfully.", - "schema": { - "$ref": "#/definitions/MediaGraphInstance" - } - }, - "404": { - "description": "Graph instance not found." - } - }, - "x-ms-examples": { - "Get a Graph Instance": { - "$ref": "examples/GraphInstanceGet.json" - } - } - }, - "delete": { - "summary": "Deletes a graph instance.", - "description": "Deletes a graph instance.", - "operationId": "GraphInstanceDelete", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph instance to be deleted.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph instance deleted successfully." - }, - "204": { - "description": "Graph instance not found." - } - }, - "x-ms-examples": { - "Delete a Graph Instance": { - "$ref": "examples/GraphInstanceDelete.json" - } - } - } - }, - "/api/GraphInstance/{name}/activate": { - "post": { - "summary": "Activate a given graph instance.", - "description": "Activates a graph instance with the name provided, if it exists.", - "operationId": "GraphInstanceActivate", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph instance to be activated.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph instance activated successfully." - } - }, - "x-ms-examples": { - "Activate a Graph Instance": { - "$ref": "examples/GraphInstanceStateChange.json" - } - } - } - }, - "/api/GraphInstance/{name}/deactivate": { - "post": { - "summary": "Deactivate a graph instance.", - "description": "Deactivates a graph instance with the name provided, if it is active.", - "operationId": "GraphInstanceDeactivate", - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the graph instance to be deactivated.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Graph instance deactivated successfully." - } - }, - "x-ms-examples": { - "Deactivate a Graph Instance": { - "$ref": "examples/GraphInstanceStateChange.json" - } - } - } - } - }, - "securityDefinitions": { - "sharedAccessSignature": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "definitions": { - "MediaGraphInstance": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "@apiVersion": { - "type": "string" - }, - "systemData": { - "$ref": "#/definitions/MediaGraphSystemData" - }, - "properties": { - "$ref": "#/definitions/MediaGraphInstanceProperties" - } - }, - "description": "Represents a Media Graph instance." - }, - "MediaGraphInstanceProperties": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "An optional description for the instance." - }, - "topologyName": { - "type": "string", - "description": "The name of the 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": "Inactive state." - }, - { - "value": "Activating", - "description": "Activating state." - }, - { - "value": "Active", - "description": "Active state." - }, - { - "value": "Deactivating", - "description": "Deactivating state." - } - ], - "modelAsString": false - } - } - }, - "description": "Properties of a Media Graph instance." - }, - "MediaGraphParameterDefinition": { - "type": "object", - "required": [ - "name", - "value" - ], - "properties": { - "name": { - "type": "string", - "description": "Name of parameter as defined in the graph topology." - }, - "value": { - "type": "string", - "description": "Value of parameter." - } - }, - "description": "A key, value pair. The graph topology can be authored with certain values with parameters. Then, during graph instance creation, the value for that 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." - }, - "MediaGraphInstanceCollection": { - "properties": { - "value": { - "type": "array", - "description": "Collection of graph instances.", - "items": { - "$ref": "#/definitions/MediaGraphInstance" - } - }, - "@continuationToken": { - "type": "string", - "description": "Continuation token to use in subsequent calls to enumerate through the graph instance collection (when the collection contains too many results to return in one response)." - } - }, - "description": "Collection of graph instances." - }, - "MediaGraphTopologyCollection": { - "properties": { - "value": { - "type": "array", - "description": "Collection of graph topologies.", - "items": { - "$ref": "#/definitions/MediaGraphTopology" - } - }, - "@continuationToken": { - "type": "string", - "description": "Continuation token to use in subsequent calls to enumerate through the graph topologies collection (when the collection contains too many results to return in one response)." - } - }, - "description": "Collection of graph topologies." - }, - "MediaGraphTopology": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "@apiVersion": { - "type": "string" - }, - "systemData": { - "$ref": "#/definitions/MediaGraphSystemData" - }, - "properties": { - "$ref": "#/definitions/MediaGraphTopologyProperties" - } - }, - "description": "Describes a graph topology." - }, - "MediaGraphTopologyProperties": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphParameterDeclaration" - } - }, - "sources": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphSource" - } - }, - "processors": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphProcessor" - } - }, - "sinks": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaGraphSink" - } - } - }, - "description": "Describes the properties of a 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": "Graph system data." - }, - "MediaGraphParameterDeclaration": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "name": { - "type": "string", - "description": "The name of the parameter.", - "maxLength": 64 - }, - "type": { - "type": "string", - "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": false - } - }, - "description": { - "type": "string", - "description": "Description of the parameter." - }, - "default": { - "type": "string", - "description": "The default value for the parameter, to be used if the graph instance does not specify a value." - } - }, - "description": "The declaration of a parameter in the graph topology. A 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": "Media graph source." - }, - "MediaGraphRtspSource": { - "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 graph to capture media from a RTSP server.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource" - }, - "MediaGraphIoTHubMessageSource": { - "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 graph to receive messages via routes declared in the IoT Edge deployment manifest.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSource" - }, - "MediaGraphIoTHubMessageSink": { - "properties": { - "hubOutputName": { - "type": "string", - "description": "Name of the output path to which the 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." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSink" - }, - {} - ], - "description": "Enables a 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": { - "properties": { - "username": { - "type": "string", - "description": "Username for a username/password pair." - }, - "password": { - "type": "string", - "description": "Password for a username/password pair." - } - }, - "required": [ - "username" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphCredentials" - }, - {} - ], - "description": "Username/password credential pair.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials" - }, - "MediaGraphHttpHeaderCredentials": { - "properties": { - "headerName": { - "type": "string", - "description": "HTTP header name." - }, - "headerValue": { - "type": "string", - "description": "HTTP header value." - } - }, - "required": [ - "headerName", - "headerValue" - ], - "allOf": [ - { - "$ref": "#/definitions/MediaGraphCredentials" - }, - {} - ], - "description": "Http header service credentials.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpHeaderCredentials" - }, - "MediaGraphUnsecuredEndpoint": { - "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": { - "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": "An endpoint that the graph can connect to, which must be connected over TLS/SSL.", - "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": { - "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": "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", - "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": { - "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": false - } - }, - "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": false - } - }, - "value": { - "type": "string", - "description": "Value to compare against." - } - }, - "description": "Allows for the selection of particular streams from another node." - }, - "MediaGraphFileSink": { - "properties": { - "filePathPattern": { - "type": "string", - "description": "Absolute file path pattern for creating new files on the Edge device.", - "minLength": 1 - } - }, - "required": [ - "filePathPattern" - ], - "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": { - "properties": { - "assetNamePattern": { - "type": "string", - "description": "A name pattern when creating new assets." - }, - "segmentLength": { - "type": "string", - "format": "duration", - "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." - }, - "localMediaCacheMaximumSizeMiB": { - "type": "string", - "description": "Maximum amount of disk space that can be used for temporary caching of media." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphSink" - }, - {} - ], - "description": "Enables a 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": { - "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." - } - }, - "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": { - "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" - } - }, - "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" - }, - "MediaGraphHttpExtension": { - "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 external inference container by leveraging HTTP based RESTful API. It then retrieves the inference results and relays them downstream to the next node.", - "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." - }, - "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": { - "required": [ - "@type" - ], - "type": "object", - "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": { - "properties": { - "pixelFormat": { - "type": "string", - "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" - }, - "MediaGraphImageFormatEncoded": { - "properties": { - "encoding": { - "type": "string", - "description": "The different encoding formats that can be used for the image.", - "default": "Jpeg", - "enum": [ - "Jpeg", - "Bmp", - "Png" - ], - "x-ms-enum": { - "name": "MediaGraphImageEncodingFormat", - "values": [ - { - "value": "Jpeg", - "description": "JPEG image format." - }, - { - "value": "Bmp", - "description": "BMP image format." - }, - { - "value": "Png", - "description": "PNG image format." - } - ], - "modelAsString": true - } - }, - "quality": { - "type": "string", - "description": "The image quality (used for JPEG only). Value must be between 0 to 100 (best quality)." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphImageFormat" - }, - {} - ], - "description": "Allowed formats for the image.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatEncoded" - }, - "MediaGraphSignalGateProcessor": { - "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" - }, - "MediaGraphFrameRateFilterProcessor": { - "properties": { - "maximumFps": { - "type": "string", - "description": "Ensures that the frame rate of the video leaving this processor does not exceed this limit." - } - }, - "allOf": [ - { - "$ref": "#/definitions/MediaGraphProcessor" - }, - {} - ], - "description": "Limits the frame rate on the input video stream based on the maximumFps property.", - "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphFrameRateFilterProcessor" - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json deleted file mode 100644 index 76af8f4992db..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "parameters": { - "name": "IngestAndRecordGraphInstance", - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "payload": null, - "status": 200 - }, - "204": { - "payload": null, - "status": 204 - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json deleted file mode 100644 index a83368fb92d1..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "name": "IngestAndRecordGraphInstance", - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "body": { - "name": "IngestAndRecordGraphInstance", - "properties": { - "description": "An updated description of the instance of the IngestAndRecordGraphTopology", - "parameters": [ - { - "name": "rtspUsername", - "value": "testusername" - }, - { - "name": "rtspPassword", - "value": "testpassword" - } - ], - "state": "Inactive", - "topologyName": "IngestAndRecordGraphTopology" - }, - "systemData": { - "createdAt": "2020-06-10T19:17:58.812Z", - "lastModifiedAt": "2020-06-10T19:19:07.960Z" - } - } - }, - "404": { - "payload": null, - "status": 404 - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json deleted file mode 100644 index 24829a459c28..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "IngestAndRecordGraphInstance", - "properties": { - "description": "An updated description of the instance of the IngestAndRecordGraphTopology", - "parameters": [ - { - "name": "rtspUsername", - "value": "testusername" - }, - { - "name": "rtspPassword", - "value": "testpassword" - } - ], - "state": "Inactive", - "topologyName": "IngestAndRecordGraphTopology" - }, - "systemData": { - "createdAt": "2020-06-10T19:17:58.812Z", - "lastModifiedAt": "2020-06-10T19:19:07.960Z" - } - } - ] - } - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json deleted file mode 100644 index 7798068fd654..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "parameters": { - "instance": { - "@apiVersion": "1.0", - "name": "IngestAndRecordGraphInstance", - "properties": { - "topologyName": "IngestAndRecorGraphTopology", - "description": "An instance of the IngestAndRecordGraphTopology" - } - } - }, - "responses": { - "200": { - "body": { - "name": "IngestAndRecordGraphInstance", - "properties": { - "description": "An updated description of the instance of the IngestAndRecordGraphTopology", - "parameters": [ - { - "name": "rtspUsername", - "value": "testusername" - }, - { - "name": "rtspPassword", - "value": "testpassword" - } - ], - "state": "Inactive", - "topologyName": "IngestAndRecorGraphTopology" - }, - "systemData": { - "createdAt": "2020-06-10T19:17:58.812Z", - "lastModifiedAt": "2020-06-10T19:19:07.960Z" - } - } - }, - "201": { - "body": { - "name": "IngestAndRecordGraphInstance", - "properties": { - "description": "An instance of the IngestAndRecordGraphTopology", - "parameters": [ - { - "name": "rtspUsername", - "value": "testusername" - }, - { - "name": "rtspPassword", - "value": "testpassword" - } - ], - "state": "Inactive", - "topologyName": "IngestAndRecordGraphTopology" - }, - "systemData": { - "createdAt": "2020-06-10T19:17:58.812Z", - "lastModifiedAt": "2020-06-10T19:17:58.812Z" - } - } - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json deleted file mode 100644 index ac22ba64c121..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "name": "IngestAndRecordGraphInstance", - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "payload": null, - "status": 200 - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json deleted file mode 100644 index 3efef8901cc8..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "parameters": { - "name": "IngestAndRecordGraphTopology", - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "payload": null, - "status": 200 - }, - "204": { - "payload": null, - "status": 204 - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json deleted file mode 100644 index 02bcd4422f27..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "parameters": { - "name": "IngestAndRecordGraphTopology", - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "body": { - "name": "IngestAndRecordGraphTopology", - "properties": { - "description": "Simple ingest and record graph definition.", - "parameters": [ - { - "default": "dummyUsername", - "description": "RTSP source username", - "name": "rtspUsername", - "type": "String" - }, - { - "default": "dummyPassword", - "description": "RTSP source password", - "name": "rtspPassword", - "type": "String" - } - ], - "processors": [], - "sinks": [ - { - "@type": "#Microsoft.Media.MediaGraphAssetSink", - "assetNamePattern": "assetSinkTest", - "inputs": [ - { - "nodeName": "rtspSource", - "outputSelectors": [] - } - ], - "localMediaCacheMaximumSizeMiB": "1024", - "localMediaCachePath": "/tmp/test", - "name": "assetSink", - "segmentLength": "PT30S" - } - ], - "sources": [ - { - "@type": "#Microsoft.Media.MediaGraphRtspSource", - "endpoint": { - "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", - "credentials": { - "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", - "username": "${rtspUsername}" - }, - "url": "rtsp://testurl.com" - }, - "name": "rtspSource", - "transport": "Tcp" - } - ] - }, - "systemData": { - "createdAt": "2020-06-10T18:54:33.421Z", - "lastModifiedAt": "2020-06-10T18:55:43.901Z" - } - } - }, - "404": { - "payload": null, - "status": 404 - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json deleted file mode 100644 index 54f6b1eaa64c..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parameters": { - "@apiVersion": "1.0" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "IngestAndRecordGraphTopology", - "properties": { - "description": "Simple ingest and record graph definition.", - "parameters": [ - { - "default": "dummyUsername", - "description": "RTSP source username", - "name": "rtspUsername", - "type": "String" - }, - { - "default": "dummyPassword", - "description": "RTSP source password", - "name": "rtspPassword", - "type": "String" - } - ], - "processors": [], - "sinks": [ - { - "@type": "#Microsoft.Media.MediaGraphAssetSink", - "assetNamePattern": "assetSinkTest", - "inputs": [ - { - "nodeName": "rtspSource", - "outputSelectors": [] - } - ], - "localMediaCacheMaximumSizeMiB": "1024", - "localMediaCachePath": "/tmp/test", - "name": "assetSink", - "segmentLength": "PT30S" - } - ], - "sources": [ - { - "@type": "#Microsoft.Media.MediaGraphRtspSource", - "endpoint": { - "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", - "credentials": { - "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", - "username": "${rtspUsername}" - }, - "url": "rtsp://testurl.com" - }, - "name": "rtspSource", - "transport": "Tcp" - } - ] - }, - "systemData": { - "createdAt": "2020-06-10T18:54:33.421Z", - "lastModifiedAt": "2020-06-10T18:55:43.901Z" - } - } - ] - } - } - } -} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json deleted file mode 100644 index 97792c0e29c8..000000000000 --- a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "parameters": { - "topology": { - "name": "IngestAndRecordGraphTopology", - "@apiVersion": "1.0", - "properties": { - "description": "Simple ingest and record graph definition.", - "parameters": [ - { - "default": "dummyUsername", - "description": "RTSP source username", - "name": "rtspUsername", - "type": "String" - }, - { - "default": "dummyPassword", - "description": "RTSP source password", - "name": "rtspPassword", - "type": "String" - } - ], - "sources": [ - { - "@type": "#Microsoft.Media.MediaGraphRtspSource", - "name": "rtspSource", - "endpoint": { - "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", - "url": "rtsp://testurl.com", - "credentials": { - "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", - "username": "${rtspUsername}", - "password": "${rtspPassword}" - } - } - } - ], - "sinks": [ - { - "@type": "#Microsoft.Media.MediaGraphAssetSink", - "name": "assetSink", - "assetNamePattern": "assetSinkTest", - "inputs": [ - { - "nodeName": "rtspSource" - } - ], - "localMediaCachePath": "/tmp", - "localMediaCacheMaximumSizeMiB": "1024", - "segmentLength": "PT30S" - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "name": "IngestAndRecordGraphTopology", - "properties": { - "description": "Simple ingest and record graph definition.", - "parameters": [ - { - "default": "dummyUsername", - "description": "RTSP source username", - "name": "rtspUsername", - "type": "String" - }, - { - "default": "dummyPassword", - "description": "RTSP source password", - "name": "rtspPassword", - "type": "String" - } - ], - "processors": [], - "sinks": [ - { - "@type": "#Microsoft.Media.MediaGraphAssetSink", - "assetNamePattern": "assetSinkTest", - "inputs": [ - { - "nodeName": "rtspSource", - "outputSelectors": [] - } - ], - "localMediaCacheMaximumSizeMiB": "1024", - "localMediaCachePath": "/tmp", - "name": "assetSink", - "segmentLength": "PT30S" - } - ], - "sources": [ - { - "@type": "#Microsoft.Media.MediaGraphRtspSource", - "endpoint": { - "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", - "credentials": { - "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", - "username": "${rtspUsername}" - }, - "url": "rtsp://testurl.com" - }, - "name": "rtspSource", - "transport": "Tcp" - } - ] - }, - "systemData": { - "createdAt": "2020-06-10T18:54:33.421Z", - "lastModifiedAt": "2020-06-10T18:54:33.421Z" - } - } - }, - "201": { - "body": { - "name": "IngestAndRecordGraphTopology", - "properties": { - "description": "Simple ingest and record graph definition.", - "parameters": [ - { - "default": "dummyUsername", - "description": "RTSP source username", - "name": "rtspUsername", - "type": "String" - }, - { - "default": "dummyPassword", - "description": "RTSP source password", - "name": "rtspPassword", - "type": "String" - } - ], - "processors": [], - "sinks": [ - { - "@type": "#Microsoft.Media.MediaGraphAssetSink", - "assetNamePattern": "assetSinkTest", - "inputs": [ - { - "nodeName": "rtspSource", - "outputSelectors": [] - } - ], - "localMediaCacheMaximumSizeMiB": "1024", - "localMediaCachePath": "/tmp/test", - "name": "assetSink", - "segmentLength": "PT30S" - } - ], - "sources": [ - { - "@type": "#Microsoft.Media.MediaGraphRtspSource", - "endpoint": { - "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", - "credentials": { - "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", - "username": "${rtspUsername}" - }, - "url": "rtsp://testurl.com" - }, - "name": "rtspSource", - "transport": "Tcp" - } - ] - }, - "systemData": { - "createdAt": "2020-06-10T18:54:33.421Z", - "lastModifiedAt": "2020-06-10T18:55:43.901Z" - } - } - } - } -} diff --git a/specification/mediaservices/data-plane/readme.md b/specification/mediaservices/data-plane/readme.md deleted file mode 100644 index 20ae5783b3b2..000000000000 --- a/specification/mediaservices/data-plane/readme.md +++ /dev/null @@ -1,97 +0,0 @@ -# MediaServices - Live Video Analytics Edge - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for Live video analytics edge. - ---- - -## 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-1-0-preview -``` - -### Tag: package-2018-07 - -These settings apply only when `--tag=package-lva-1-0-preview` is specified on the command line. - -``` yaml $(tag) == 'package-lva-1-0-preview' -input-file: - - LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.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/1.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/Microsoft.Media/stable/2020-05-01/AccountFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json index af15b438982e..8a440c25b9d8 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json @@ -508,7 +508,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json index 97965f6cbc65..766cf0d5c3b8 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json @@ -1404,7 +1404,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json index 434cb58d9fe2..54de287e110e 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json @@ -1232,7 +1232,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json index 806e5ed64f1d..e735b23cf7b5 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json @@ -1163,7 +1163,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json index 57052bf2fe4d..bccc2485e9a3 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json @@ -125,6 +125,108 @@ "type": "object", "description": "Describes Advanced Audio Codec (AAC) audio encoding settings." }, + "Layer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "width": { + "type": "string", + "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." + }, + "height": { + "type": "string", + "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." + }, + "label": { + "type": "string", + "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." + }, + "Video": { + "x-ms-discriminator-value": "#Microsoft.Media.Video", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "The distance between two key frames. The value should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 format. The default is 2 seconds(PT2S). Note that this setting is ignored if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will follow the input source setting." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" + }, + "syncMode": { + "type": "string", + "enum": [ + "Auto", + "Passthrough", + "Cfr", + "Vfr" + ], + "x-ms-enum": { + "name": "VideoSyncMode", + "values": [ + { + "value": "Auto", + "description": "This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr." + }, + { + "value": "Passthrough", + "description": "The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior" + }, + { + "value": "Cfr", + "description": "Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value" + }, + { + "value": "Vfr", + "description": "Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input" + } + ], + "modelAsString": true + }, + "description": "The Video Sync Mode" + } + }, + "type": "object", + "description": "Describes the basic properties for encoding the input video." + }, "FaceDetectorPreset": { "x-ms-discriminator-value": "#Microsoft.Media.FaceDetectorPreset", "allOf": [ @@ -174,7 +276,29 @@ "properties": { "audioLanguage": { "type": "string", - "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463" + "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. The language must be specified explicitly for AudioAnalysisMode::Basic, since automatic language detection is not included in basic mode. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463" + }, + "mode": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "x-ms-enum": { + "name": "AudioAnalysisMode", + "values": [ + { + "value": "Standard", + "description": "Performs all operations included in the Basic mode, additionally performing language detection and speaker diarization." + }, + { + "value": "Basic", + "description": "This mode performs speech-to-text transcription and generation of a VTT subtitle/caption file. The output of this mode includes an Insights JSON file including only the keywords, transcription,and timing information. Automatic language detection and speaker diarization are not included in this mode." + } + ], + "modelAsString": true + }, + "description": "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen." }, "experimentalOptions": { "type": "object", @@ -201,12 +325,12 @@ "start": { "type": "string", "format": "duration", - "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video." + "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video." }, "end": { "type": "string", "format": "duration", - "description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media." + "description": "The end position, with reference to the input video, at which the overlay ends. The value should be in ISO 8601 format. For example, PT30S to end the overlay at 30 seconds into the input video. If not specified or the value is greater than the input video duration, the overlay will be applied until the end of the input video if the overlay media duration is greater than the input video duration, else the overlay will last as long as the overlay media duration." }, "fadeInDuration": { "type": "string", @@ -253,82 +377,6 @@ "type": "object", "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding." }, - "Video": { - "x-ms-discriminator-value": "#Microsoft.Media.Video", - "allOf": [ - { - "$ref": "#/definitions/Codec" - } - ], - "properties": { - "keyFrameInterval": { - "type": "string", - "format": "duration", - "description": "The distance between two key frames. The value should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 format. The default is 2 seconds(PT2S). Note that this setting is ignored if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will follow the input source setting." - }, - "stretchMode": { - "type": "string", - "enum": [ - "None", - "AutoSize", - "AutoFit" - ], - "x-ms-enum": { - "name": "StretchMode", - "values": [ - { - "value": "None", - "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." - }, - { - "value": "AutoSize", - "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." - }, - { - "value": "AutoFit", - "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." - } - ], - "modelAsString": true - }, - "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" - }, - "syncMode": { - "type": "string", - "enum": [ - "Auto", - "Passthrough", - "Cfr", - "Vfr" - ], - "x-ms-enum": { - "name": "VideoSyncMode", - "values": [ - { - "value": "Auto", - "description": "This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr." - }, - { - "value": "Passthrough", - "description": "The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior" - }, - { - "value": "Cfr", - "description": "Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value" - }, - { - "value": "Vfr", - "description": "Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input" - } - ], - "modelAsString": true - }, - "description": "The Video Sync Mode" - } - }, - "type": "object", - "description": "Describes the basic properties for encoding the input video." - }, "Image": { "x-ms-discriminator-value": "#Microsoft.Media.Image", "allOf": [ @@ -339,15 +387,15 @@ "properties": { "start": { "type": "string", - "description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video." + "description": "The position in the input video from where to start generating thumbnails. The value can be in ISO 8601 format (For example, PT05S to start at 5 seconds), or a frame count (For example, 10 to start at the 10th frame), or a relative value to stream duration (For example, 10% to start at 10% of stream duration). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video and will only produce one thumbnail, no matter what other settings are for Step and Range. The default value is macro {Best}." }, "step": { "type": "string", - "description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)." + "description": "The intervals at which thumbnails are generated. The value can be in ISO 8601 format (For example, PT05S for one image every 5 seconds), or a frame count (For example, 30 for one image every 30 frames), or a relative value to stream duration (For example, 10% for one image every 10% of stream duration). Note: Step value will affect the first generated thumbnail, which may not be exactly the one specified at transform preset start time. This is due to the encoder, which tries to select the best thumbnail between start time and Step position from start time as the first output. As the default value is 10%, it means if stream has long duration, the first generated thumbnail might be far away from the one specified at start time. Try to select reasonable value for Step if the first thumbnail is expected close to start time, or set Range value at 1 if only one thumbnail is needed at start time." }, "range": { "type": "string", - "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)." + "description": "The position relative to transform preset start time in the input video at which to stop generating thumbnails. The value can be in ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds from start time), or a frame count (For example, 300 to stop at the 300th frame from the frame at start time. If this value is 1, it means only producing one thumbnail at start time), or a relative value to the stream duration (For example, 50% to stop at half of stream duration from start time). The default value is 100%, which means to stop at the end of the stream." } }, "type": "object", @@ -365,7 +413,7 @@ }, "filenamePattern": { "type": "string", - "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename." + "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename." } }, "type": "object", @@ -559,32 +607,6 @@ "type": "object", "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding." }, - "Layer": { - "discriminator": "@odata.type", - "properties": { - "@odata.type": { - "type": "string", - "description": "The discriminator for derived types." - }, - "width": { - "type": "string", - "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." - }, - "height": { - "type": "string", - "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." - }, - "label": { - "type": "string", - "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." - } - }, - "type": "object", - "required": [ - "@odata.type" - ], - "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." - }, "VideoLayer": { "x-ms-discriminator-value": "#Microsoft.Media.VideoLayer", "allOf": [ @@ -782,6 +804,11 @@ "$ref": "#/definitions/JpgLayer" }, "description": "A collection of output JPEG image layers to be produced by the encoder." + }, + "spriteColumn": { + "type": "integer", + "format": "int32", + "description": "Sets the number of columns used in thumbnail sprite image. The number of rows are automatically calculated and a VTT file is generated with the coordinate mappings for each thumbnail in the sprite. Note: this value should be a positive integer and a proper value is recommended so that the output image resolution will not go beyond JPEG maximum pixel resolution limit 65535x65535." } }, "type": "object", @@ -898,6 +925,7 @@ "AACGoodQualityAudio", "ContentAwareEncodingExperimental", "ContentAwareEncoding", + "CopyAllBitrateNonInterleaved", "H264MultipleBitrate1080p", "H264MultipleBitrate720p", "H264MultipleBitrateSD" @@ -919,7 +947,7 @@ }, { "value": "AdaptiveStreaming", - "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and audio in separate MP4 files, which is optimal for adaptive streaming." + "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best." }, { "value": "AACGoodQualityAudio", @@ -933,6 +961,10 @@ "value": "ContentAwareEncoding", "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." }, + { + "value": "CopyAllBitrateNonInterleaved", + "description": "Copy all video and audio streams from the input asset as non-interleaved video and audio output files. This preset can be used to clip an existing asset or convert a group of key frame (GOP) aligned MP4 files as an asset that can be streamed." + }, { "value": "H264MultipleBitrate1080p", "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 180p." @@ -1257,6 +1289,26 @@ ], "description": "Specifies the clip time as an absolute time position in the media file. The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not." }, + "UtcClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.UtcClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "date-time", + "description": "The time position on the timeline of the input media based on Utc time." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as a Utc time position in the media file. The Utc time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, "JobInputs": { "x-ms-discriminator-value": "#Microsoft.Media.JobInputs", "allOf": [ @@ -1585,7 +1637,7 @@ "created": { "type": "string", "format": "date-time", - "description": "The UTC date and time when the Job was created, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "description": "The UTC date and time when the customer has created the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", "readOnly": true, "x-nullable": false }, @@ -1649,7 +1701,7 @@ "lastModified": { "type": "string", "format": "date-time", - "description": "The UTC date and time when the Job was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "description": "The UTC date and time when the customer has last updated the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", "readOnly": true, "x-nullable": false }, @@ -2439,7 +2491,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json index 37e7bd9ee454..31a2ad942e37 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json @@ -1248,7 +1248,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json index 13195c89754a..e1fad016f8a1 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json @@ -32,14 +32,14 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", "type": "Microsoft.Media/mediaservices/transforms/jobs", "properties": { - "created": "2019-10-10T22:38:03.4426085Z", + "created": "2020-09-25T03:52:07.7751982Z", "state": "Queued", "input": { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], "assetName": "job1-InputAsset" }, - "lastModified": "2019-10-10T22:38:03.4426085Z", + "lastModified": "2020-09-25T03:52:07.7751982Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json index b15e14539dbf..78cb152f29d0 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json @@ -23,7 +23,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job1 input" + "assetName": "job1-InputAsset" } ] }, @@ -34,7 +34,7 @@ "state": "Queued", "progress": 0, "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } ], "priority": "Low", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json index ab38522ad492..12f494e9c2d3 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json @@ -5,7 +5,7 @@ "resourceGroupName": "contosoresources", "accountName": "contosomedia", "transformName": "exampleTransform", - "$filter": "properties/created ge 2019-10-10T22:38:13.1259050Z and properties/created le 2019-10-10T22:38:23.1259050Z", + "$filter": "properties/created ge 2020-09-25T03:52:17.4802005Z and properties/created le 2020-09-25T03:52:27.4802005Z", "$orderby": "properties/created" }, "responses": { @@ -17,7 +17,7 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", "type": "Microsoft.Media/mediaservices/transforms/jobs", "properties": { - "created": "2019-10-10T22:38:13.125905Z", + "created": "2020-09-25T03:52:17.4802005Z", "state": "Processing", "input": { "@odata.type": "#Microsoft.Media.JobInputs", @@ -25,24 +25,24 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job2 input" + "assetName": "job2-InputAsset" } ] }, - "lastModified": "2019-10-10T22:38:13.125905Z", + "lastModified": "2020-09-25T03:52:17.4802005Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:03.125905Z", - "assetName": "job2 output" + "startTime": "2020-09-25T03:42:07.4802005Z", + "assetName": "job2-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:03.125905Z" + "startTime": "2020-09-25T03:42:07.4802005Z" } }, { @@ -50,7 +50,7 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", "type": "Microsoft.Media/mediaservices/transforms/jobs", "properties": { - "created": "2019-10-10T22:38:23.125905Z", + "created": "2020-09-25T03:52:27.4802005Z", "state": "Finished", "input": { "@odata.type": "#Microsoft.Media.JobInputs", @@ -58,26 +58,26 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job3 input" + "assetName": "job3-InputAsset" } ] }, - "lastModified": "2019-10-10T22:38:23.125905Z", + "lastModified": "2020-09-25T03:52:27.4802005Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "state": "Finished", "progress": 100, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:03.125905Z", - "endTime": "2019-10-10T22:38:03.125905Z", - "assetName": "job3 output" + "startTime": "2020-09-25T03:42:07.4802005Z", + "endTime": "2020-09-25T03:52:07.4802005Z", + "assetName": "job3-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:03.125905Z", - "endTime": "2019-10-10T22:38:03.125905Z" + "startTime": "2020-09-25T03:42:07.4802005Z", + "endTime": "2020-09-25T03:52:07.4802005Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json index 6933bae85fdc..c0e94c828c39 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json @@ -5,7 +5,7 @@ "resourceGroupName": "contosoresources", "accountName": "contosomedia", "transformName": "exampleTransform", - "$filter": "properties/lastmodified ge 2019-10-10T22:38:13.1931019Z and properties/lastmodified le 2019-10-10T22:38:23.1931019Z", + "$filter": "properties/lastmodified ge 2020-09-25T03:52:17.5701994Z and properties/lastmodified le 2020-09-25T03:52:27.5701994Z", "$orderby": "properties/lastmodified desc" }, "responses": { @@ -17,7 +17,7 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", "type": "Microsoft.Media/mediaservices/transforms/jobs", "properties": { - "created": "2019-10-10T22:38:23.1931019Z", + "created": "2020-09-25T03:52:27.5701994Z", "state": "Finished", "input": { "@odata.type": "#Microsoft.Media.JobInputs", @@ -25,26 +25,26 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job3 input" + "assetName": "job3-InputAsset" } ] }, - "lastModified": "2019-10-10T22:38:23.1931019Z", + "lastModified": "2020-09-25T03:52:27.5701994Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "state": "Finished", "progress": 100, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:03.1931019Z", - "endTime": "2019-10-10T22:38:03.1931019Z", - "assetName": "job3 output" + "startTime": "2020-09-25T03:42:07.5701994Z", + "endTime": "2020-09-25T03:52:07.5701994Z", + "assetName": "job3-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:03.1931019Z", - "endTime": "2019-10-10T22:38:03.1931019Z" + "startTime": "2020-09-25T03:42:07.5701994Z", + "endTime": "2020-09-25T03:52:07.5701994Z" } }, { @@ -52,7 +52,7 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", "type": "Microsoft.Media/mediaservices/transforms/jobs", "properties": { - "created": "2019-10-10T22:38:13.1931019Z", + "created": "2020-09-25T03:52:17.5701994Z", "state": "Processing", "input": { "@odata.type": "#Microsoft.Media.JobInputs", @@ -60,24 +60,24 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job2 input" + "assetName": "job2-InputAsset" } ] }, - "lastModified": "2019-10-10T22:38:13.1931019Z", + "lastModified": "2020-09-25T03:52:17.5701994Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:03.1931019Z", - "assetName": "job2 output" + "startTime": "2020-09-25T03:42:07.5701994Z", + "assetName": "job2-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:03.1931019Z" + "startTime": "2020-09-25T03:42:07.5701994Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json index 201428425920..61f6f223a7db 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json @@ -24,7 +24,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job3 input" + "assetName": "job3-InputAsset" } ] }, @@ -35,15 +35,15 @@ "state": "Finished", "progress": 100, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:03.0624915Z", - "endTime": "2019-10-10T22:38:03.0624915Z", - "assetName": "job3 output" + "startTime": "2020-09-25T03:42:07.4002063Z", + "endTime": "2020-09-25T03:52:07.4002063Z", + "assetName": "job3-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:03.0624915Z", - "endTime": "2019-10-10T22:38:03.0624915Z" + "startTime": "2020-09-25T03:42:07.4002063Z", + "endTime": "2020-09-25T03:52:07.4002063Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json index 2328cdd0e27d..7ae4888c8640 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json @@ -25,7 +25,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job1 input" + "assetName": "job1-InputAsset" } ] }, @@ -36,7 +36,7 @@ "state": "Queued", "progress": 0, "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } ], "priority": "Low", @@ -56,7 +56,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job2 input" + "assetName": "job2-InputAsset" } ] }, @@ -67,13 +67,13 @@ "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.7835215Z", - "assetName": "job2 output" + "startTime": "2020-09-25T03:42:07.1140078Z", + "assetName": "job2-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.7835215Z" + "startTime": "2020-09-25T03:42:07.1140078Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json index c8bdd90a1084..983bcb4d00a4 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json @@ -24,7 +24,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job2 input" + "assetName": "job2-InputAsset" } ] }, @@ -35,13 +35,13 @@ "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.8754914Z", - "assetName": "job2 output" + "startTime": "2020-09-25T03:42:07.1901996Z", + "assetName": "job2-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.8754914Z" + "startTime": "2020-09-25T03:42:07.1901996Z" } }, { @@ -57,7 +57,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job3 input" + "assetName": "job3-InputAsset" } ] }, @@ -68,13 +68,13 @@ "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.8754914Z", - "assetName": "job3 output" + "startTime": "2020-09-25T03:42:07.1901996Z", + "assetName": "job3-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.8754914Z" + "startTime": "2020-09-25T03:42:07.1901996Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json index 8271f7e9f526..cc5b998b4666 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json @@ -24,7 +24,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job1 input" + "assetName": "job1-InputAsset" } ] }, @@ -35,7 +35,7 @@ "state": "Queued", "progress": 0, "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } ], "priority": "Low", @@ -55,7 +55,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job4 input" + "assetName": "job4-InputAsset" } ] }, @@ -66,15 +66,15 @@ "state": "Finished", "progress": 100, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.9885137Z", - "endTime": "2019-10-10T22:38:02.9885137Z", - "assetName": "job4 output" + "startTime": "2020-09-25T03:42:07.3301954Z", + "endTime": "2020-09-25T03:52:07.3301954Z", + "assetName": "job4-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.9885137Z", - "endTime": "2019-10-10T22:38:02.9885137Z" + "startTime": "2020-09-25T03:42:07.3301954Z", + "endTime": "2020-09-25T03:52:07.3301954Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json index 3ecc50aca0cc..5a33f882c066 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json @@ -23,7 +23,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job1 input" + "assetName": "job1-InputAsset" } ] }, @@ -34,7 +34,7 @@ "state": "Queued", "progress": 0, "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } ], "priority": "Low", @@ -54,7 +54,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job2 input" + "assetName": "job2-InputAsset" } ] }, @@ -65,13 +65,13 @@ "state": "Processing", "progress": 50, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.6465994Z", - "assetName": "job2 output" + "startTime": "2020-09-25T03:42:06.7140175Z", + "assetName": "job2-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.6465994Z" + "startTime": "2020-09-25T03:42:06.7140175Z" } }, { @@ -87,7 +87,7 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job3 input" + "assetName": "job3-InputAsset" } ] }, @@ -98,15 +98,15 @@ "state": "Finished", "progress": 100, "label": "example-custom-label", - "startTime": "2019-10-10T22:28:02.6465994Z", - "endTime": "2019-10-10T22:38:02.6465994Z", - "assetName": "job3 output" + "startTime": "2020-09-25T03:42:06.7140175Z", + "endTime": "2020-09-25T03:52:06.7140175Z", + "assetName": "job3-OutputAsset" } ], "priority": "Low", "correlationData": {}, - "startTime": "2019-10-10T22:28:02.6465994Z", - "endTime": "2019-10-10T22:38:02.6465994Z" + "startTime": "2020-09-25T03:42:06.7140175Z", + "endTime": "2020-09-25T03:52:06.7140175Z" } } ] diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json index e4cb0593537c..4e87729c196f 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json @@ -9,24 +9,17 @@ "parameters": { "properties": { "description": "Example job to illustrate update.", - "priority": "High", "input": { - "@odata.type": "#Microsoft.Media.JobInputs", - "inputs": [ - { - "@odata.type": "#Microsoft.Media.JobInputAsset", - "files": [], - "assetName": "job1 input" - } - ] + "@odata.type": "#Microsoft.Media.JobInputAsset", + "assetName": "job1-InputAsset" }, "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", - "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } - ] + ], + "priority": "High" } } }, @@ -46,18 +39,18 @@ { "@odata.type": "#Microsoft.Media.JobInputAsset", "files": [], - "assetName": "job1 input" + "assetName": "job1-InputAsset" } ] }, - "lastModified": "2019-10-10T22:38:03.737608Z", + "lastModified": "2020-09-25T03:52:08.0551986Z", "outputs": [ { "@odata.type": "#Microsoft.Media.JobOutputAsset", "state": "Queued", "progress": 0, "label": "example-custom-label", - "assetName": "job1 output" + "assetName": "job1-OutputAsset" } ], "priority": "High", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-allocate.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-allocate.json new file mode 100644 index 000000000000..95fd7e6461e1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-allocate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json index a87311c83976..463115e35652 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json @@ -34,7 +34,7 @@ } }, "responses": { - "202": { + "201": { "body": { "name": "myLiveEvent1", "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", @@ -46,7 +46,7 @@ }, "properties": { "description": "test event 1", - "resourceState": "Stopped", + "resourceState": "Creating", "provisioningState": "InProgress", "created": "2018-03-03T02:25:06.0982751Z", "lastModified": "2018-03-03T02:25:06.0982751Z", @@ -98,7 +98,7 @@ "properties": { "description": "test event 1", "resourceState": "Stopped", - "provisioningState": "InProgress", + "provisioningState": "Succeeded", "created": "2018-03-03T02:25:06.0982751Z", "lastModified": "2018-03-03T02:25:06.0982751Z", "useStaticHostname": false, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json index ffcbac281305..eddcf4c8ed4b 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json @@ -7,50 +7,50 @@ "api-version": "2020-05-01", "parameters": { "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", - "Name": "myLiveEvent1", - "Type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents", - "Location": "West US", - "Tags": { - "DynamicProperties": { + "name": "myLiveEvent1", + "type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents", + "location": "West US", + "tags": { + "dynamicProperties": { "tag1": "value1", "tag2": "value2" } }, "properties": { - "Description": "test event updated", - "Input": { - "StreamingProtocol": "FragmentedMP4", - "KeyFrameIntervalDuration": "PT6S", - "Endpoints": [], - "AccessToken": null + "description": "test event updated", + "input": { + "streamingProtocol": "FragmentedMP4", + "keyFrameIntervalDuration": "PT6S", + "endpoints": [], + "accessToken": null }, - "Preview": { - "Endpoints": [], - "AccessControl": { - "IP": { - "Allow": [ + "preview": { + "endpoints": [], + "accessControl": { + "iP": { + "allow": [ { - "Name": "AllowOne", - "Address": "192.1.1.0", - "SubnetPrefixLength": null + "nName": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null } ] } }, - "PreviewLocator": null, + "previewLocator": null, "streamingPolicyName": null }, - "Encoding": { - "EncodingType": "None", - "PresetName": null + "encoding": { + "encodingType": "None", + "presetName": null }, - "ProvisioningState": null, - "ResourceState": "Stopped", - "CrossSiteAccessPolicies": null, + "provisioningState": null, + "resourceState": "Stopped", + "crossSiteAccessPolicies": null, "useStaticHostname": false, - "StreamOptions": [], - "Created": "2018-03-02T18:25:07.5748853-08:00", - "LastModified": "2018-03-02T18:25:07.5748853-08:00" + "streamOptions": [], + "created": "2018-03-02T18:25:07.5748853-08:00", + "lastModified": "2018-03-02T18:25:07.5748853-08:00" } } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json index 0289f1207488..8f737778b732 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json @@ -30,7 +30,7 @@ "archiveWindowLength": "PT5M", "manifestName": "testmanifest", "outputSnapTime": 0, - "resourceState": "Creating", + "resourceState": "Stopped", "provisioningState": "Succeeded", "created": "2018-03-03T02:25:09.9431835Z", "lastModified": "2018-03-03T02:25:09.9431835Z", @@ -40,7 +40,7 @@ } } }, - "202": { + "201": { "body": { "name": "myLiveOutput1", "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", @@ -52,7 +52,7 @@ "manifestName": "testmanifest", "outputSnapTime": 0, "resourceState": "Creating", - "provisioningState": "Succeeded", + "provisioningState": "InProgress", "created": "2018-03-03T02:25:09.9431835Z", "lastModified": "2018-03-03T02:25:09.9431835Z", "hls": { diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json index 8394c166bc54..ca9c03071647 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json @@ -6,7 +6,6 @@ "streamingEndpointName": "myStreamingEndpoint1", "api-version": "2020-05-01", "parameters": { - "id": null, "location": "West US", "tags": { "tag1": "value1", @@ -45,7 +44,7 @@ } }, "responses": { - "202": { + "201": { "body": { "name": "myStreamingEndpoint1", "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", @@ -92,7 +91,7 @@ "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", "freeTrialEndTime": "0001-01-01T00:00:00-08:00", "provisioningState": "InProgress", - "resourceState": "Stopped", + "resourceState": "Creating", "created": "2018-03-03T02:25:09.7561389Z", "lastModified": "2018-03-03T02:25:09.7561389Z" } @@ -144,7 +143,7 @@ "maxCacheAge": null, "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", "freeTrialEndTime": "0001-01-01T00:00:00-08:00", - "provisioningState": "InProgress", + "provisioningState": "Succeeded", "resourceState": "Stopped", "created": "2018-03-03T02:25:09.7561389Z", "lastModified": "2018-03-03T02:25:09.7561389Z" diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json index eebd53df788c..03b31961247c 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json @@ -7,32 +7,32 @@ "api-version": "2020-05-01", "parameters": { "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", - "Name": "myStreamingEndpoint1", - "Type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints", - "Location": "West US", - "Tags": { - "DynamicProperties": { + "name": "myStreamingEndpoint1", + "type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints", + "location": "West US", + "tags": { + "dynamicProperties": { "tag1": "value1", "tag2": "value2" } }, "properties": { - "Description": "test event 1", - "ScaleUnits": 1, - "AccessControl": null, - "AvailabilitySetName": "availableset", - "MaxCacheAge": null, - "CrossSiteAccessPolicies": null, - "CustomHostNames": [], - "HostName": null, - "CdnEnabled": false, - "CdnProvider": null, - "CdnProfile": null, - "FreeTrialEndTime": "0001-01-01T00:00:00-08:00", - "ProvisioningState": null, - "ResourceState": "Stopped", - "Created": "2018-03-02T18:25:09.4897514-08:00", - "LastModified": "2018-03-02T18:25:09.4897514-08:00" + "description": "test event 1", + "scaleUnits": 1, + "accessControl": null, + "availabilitySetName": "availableset", + "maxCacheAge": null, + "crossSiteAccessPolicies": null, + "customHostNames": [], + "hostName": null, + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": null, + "resourceState": "Stopped", + "created": "2018-03-02T18:25:09.4897514-08:00", + "lastModified": "2018-03-02T18:25:09.4897514-08:00" } } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json index 8633a2681e19..c8d0d6afd6e6 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json @@ -6,7 +6,6 @@ "streamingEndpointName": "myStreamingEndpoint1", "api-version": "2020-05-01", "parameters": { - "id": null, "location": "West US", "tags": { "tag3": "value3", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json index 3dd7b2c06dfd..6c34df764080 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json @@ -26,9 +26,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:02.2021719-07:00", + "created": "2020-09-25T03:52:06.5178506-07:00", "description": "Example Transform to illustrate create and update.", - "lastModified": "2019-10-10T22:38:02.2021719-07:00", + "lastModified": "2020-09-25T03:52:06.5178506-07:00", "outputs": [ { "onError": "StopProcessingJob", @@ -48,9 +48,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:02.2021719-07:00", + "created": "2020-09-25T03:52:06.5178506-07:00", "description": "Example Transform to illustrate create and update.", - "lastModified": "2019-10-10T22:38:02.2021719-07:00", + "lastModified": "2020-09-25T03:52:06.5178506-07:00", "outputs": [ { "onError": "StopProcessingJob", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json index 6e165e7b5b43..8b23bfdffbb5 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json @@ -14,9 +14,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleTransform", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:01.9599144-07:00", + "created": "2020-09-25T03:52:06.2378492-07:00", "description": "A sample Transform using the Standard Encoder with a built in preset.", - "lastModified": "2019-10-10T22:38:01.9599144-07:00", + "lastModified": "2020-09-25T03:52:06.2378492-07:00", "outputs": [ { "onError": "StopProcessingJob", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json index 257c637422cb..061561e39a57 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json @@ -4,7 +4,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "contosoresources", "accountName": "contosomedia", - "$filter": "properties/created gt 2019-10-10T22:38:01.7859346Z and properties/created le 2019-10-10T22:38:11.7859346Z", + "$filter": "properties/created gt 2020-09-25T03:52:06.1628567Z and properties/created le 2020-09-25T03:52:16.1628567Z", "$orderby": "properties/created" }, "responses": { @@ -16,15 +16,16 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:11.7859346-07:00", + "created": "2020-09-25T03:52:16.1628567-07:00", "description": "A sample Transform using the Video Analyzer.", - "lastModified": "2019-10-10T22:38:11.7859346-07:00", + "lastModified": "2020-09-25T03:52:16.1628567-07:00", "outputs": [ { "onError": "StopProcessingJob", "relativePriority": "Normal", "preset": { "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", "insightsToExtract": "AllInsights" } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json index cb97582fae9c..46cc43ff742a 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json @@ -4,7 +4,7 @@ "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "contosoresources", "accountName": "contosomedia", - "$filter": "properties/lastmodified gt 2019-10-10T22:38:01.8751625Z and properties/lastmodified le 2019-10-10T22:38:11.8751625Z", + "$filter": "properties/lastmodified gt 2020-09-25T03:52:06.2028435Z and properties/lastmodified le 2020-09-25T03:52:16.2028435Z", "$orderby": "properties/lastmodified desc" }, "responses": { @@ -16,15 +16,16 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:11.8751625-07:00", + "created": "2020-09-25T03:52:16.2028435-07:00", "description": "A sample Transform using the Video Analyzer.", - "lastModified": "2019-10-10T22:38:11.8751625-07:00", + "lastModified": "2020-09-25T03:52:16.2028435-07:00", "outputs": [ { "onError": "StopProcessingJob", "relativePriority": "Normal", "preset": { "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", "insightsToExtract": "AllInsights" } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json index 75a08549f9fa..901610760eee 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json @@ -16,9 +16,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:01.5489351-07:00", + "created": "2020-09-25T03:52:05.9576676-07:00", "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", - "lastModified": "2019-10-10T22:38:01.5489351-07:00", + "lastModified": "2020-09-25T03:52:05.9576676-07:00", "outputs": [ { "onError": "StopProcessingJob", @@ -33,6 +33,7 @@ "relativePriority": "Normal", "preset": { "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", "insightsToExtract": "AllInsights" } } @@ -44,9 +45,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:01.5489351-07:00", + "created": "2020-09-25T03:52:05.9576676-07:00", "description": "A sample Transform using the Standard Encoder with a built in preset.", - "lastModified": "2019-10-10T22:38:01.5489351-07:00", + "lastModified": "2020-09-25T03:52:05.9576676-07:00", "outputs": [ { "onError": "StopProcessingJob", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json index 7552799d9b22..7de974e9d589 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json @@ -14,9 +14,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:01.0599386-07:00", + "created": "2020-09-25T03:52:05.0764655-07:00", "description": "A sample Transform using the Standard Encoder with a built in preset.", - "lastModified": "2019-10-10T22:38:01.0599386-07:00", + "lastModified": "2020-09-25T03:52:05.0764655-07:00", "outputs": [ { "onError": "StopProcessingJob", @@ -34,9 +34,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:01.0649389-07:00", + "created": "2020-09-25T03:52:05.2126661-07:00", "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", - "lastModified": "2019-10-10T22:38:01.0649389-07:00", + "lastModified": "2020-09-25T03:52:05.2126661-07:00", "outputs": [ { "onError": "StopProcessingJob", @@ -51,6 +51,7 @@ "relativePriority": "Normal", "preset": { "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", "insightsToExtract": "AllInsights" } } diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json index 5a9a2096bae5..54ad41ca08d5 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json @@ -27,9 +27,9 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/transformToUpdate", "type": "Microsoft.Media/mediaservices/transforms", "properties": { - "created": "2019-10-10T22:38:02.3591446-07:00", + "created": "2020-09-25T03:52:06.6478518-07:00", "description": "Example transform to illustrate update.", - "lastModified": "2019-10-10T22:38:02.4291412-07:00", + "lastModified": "2020-09-25T03:52:06.6728521-07:00", "outputs": [ { "onError": "StopProcessingJob", diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json index 3c7352ccae25..82f96aa41696 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json @@ -5,7 +5,7 @@ "swagger": "2.0", "info": { "title": "Azure Media Services", - "description": "Streaming resource management client for Azure Media Services", + "description": "Live event and streaming endpoint management APIs", "version": "2020-05-01" }, "host": "management.azure.com", @@ -32,8 +32,8 @@ "tags": [ "LiveEvents" ], - "summary": "List Live Events", - "description": "Lists the Live Events in the account.", + "summary": "List live events", + "description": "Lists all the live events in the account.", "operationId": "LiveEvents_List", "parameters": [ { @@ -79,7 +79,7 @@ "LiveEvents" ], "summary": "Get Live Event", - "description": "Gets a Live Event.", + "description": "Gets properties of a live event.", "operationId": "LiveEvents_Get", "parameters": [ { @@ -126,7 +126,7 @@ "LiveEvents" ], "summary": "Create Live Event", - "description": "Creates a Live Event.", + "description": "Creates a new live event.", "operationId": "LiveEvents_Create", "parameters": [ { @@ -149,7 +149,7 @@ }, { "name": "parameters", - "description": "Live Event properties needed for creation.", + "description": "Live event properties needed for creation.", "in": "body", "required": true, "schema": { @@ -164,8 +164,8 @@ "$ref": "#/definitions/LiveEvent" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/LiveEvent" } @@ -188,7 +188,7 @@ "tags": [ "LiveEvents" ], - "description": "Updates a existing Live Event.", + "description": "Updates settings on an existing live event.", "operationId": "LiveEvents_Update", "parameters": [ { @@ -208,7 +208,7 @@ }, { "name": "parameters", - "description": "Live Event properties needed for creation.", + "description": "Live event properties needed for patch.", "in": "body", "required": true, "schema": { @@ -248,7 +248,7 @@ "LiveEvents" ], "summary": "Delete Live Event", - "description": "Deletes a Live Event.", + "description": "Deletes a live event.", "operationId": "LiveEvents_Delete", "parameters": [ { @@ -275,7 +275,7 @@ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "204": { - "description": "No content. The request has been accepted but the Live Event was not found." + "description": "No content. The request has been accepted but the live event was not found." }, "default": { "description": "The streaming error response describing why the operation failed.", @@ -292,13 +292,60 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/allocate": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Allocate resources for a live event", + "description": "A live event is in StandBy state after allocation completes, and is ready to start.", + "operationId": "LiveEvents_Allocate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Allocate a LiveEvent": { + "$ref": "examples/liveevent-allocate.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start": { "post": { "tags": [ "LiveEvents" ], "summary": "Start Live Event", - "description": "Starts an existing Live Event.", + "description": "A live event in Stopped or StandBy state will be in Running state after the start operation completes.", "operationId": "LiveEvents_Start", "parameters": [ { @@ -345,7 +392,7 @@ "LiveEvents" ], "summary": "Stop Live Event", - "description": "Stops an existing Live Event.", + "description": "Stops a running live event.", "operationId": "LiveEvents_Stop", "parameters": [ { @@ -401,7 +448,7 @@ "LiveEvents" ], "summary": "Reset Live Event", - "description": "Resets an existing Live Event.", + "description": "Resets an existing live event. All live outputs for the live event are deleted and the live event is stopped and will be started again. All assets used by the live outputs and streaming locators created on these assets are unaffected. ", "operationId": "LiveEvents_Reset", "parameters": [ { @@ -448,7 +495,7 @@ "LiveOutputs" ], "summary": "List Live Outputs", - "description": "Lists the Live Outputs in the Live Event.", + "description": "Lists the live outputs of a live event.", "operationId": "LiveOutputs_List", "parameters": [ { @@ -497,7 +544,7 @@ "LiveOutputs" ], "summary": "Get Live Output", - "description": "Gets a Live Output.", + "description": "Gets a live output.", "operationId": "LiveOutputs_Get", "parameters": [ { @@ -547,7 +594,7 @@ "LiveOutputs" ], "summary": "Create Live Output", - "description": "Creates a Live Output.", + "description": "Creates a new live output.", "operationId": "LiveOutputs_Create", "parameters": [ { @@ -585,8 +632,8 @@ "$ref": "#/definitions/LiveOutput" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/LiveOutput" } @@ -610,7 +657,7 @@ "LiveOutputs" ], "summary": "Delete Live Output", - "description": "Deletes a Live Output.", + "description": "Deletes a live output. Deleting a live output does not delete the asset the live output is writing to.", "operationId": "LiveOutputs_Delete", "parameters": [ { @@ -640,7 +687,7 @@ "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "204": { - "description": "No content. The request has been accepted but the Live Output was not found." + "description": "No content. The request has been accepted but the live output was not found." }, "default": { "description": "The streaming error response describing why the operation failed.", @@ -663,7 +710,7 @@ "StreamingEndpoints" ], "summary": "List StreamingEndpoints", - "description": "Lists the StreamingEndpoints in the account.", + "description": "Lists the streaming endpoints in the account.", "operationId": "StreamingEndpoints_List", "parameters": [ { @@ -697,7 +744,7 @@ "nextLinkName": "@odata.nextLink" }, "x-ms-examples": { - "List all StreamingEndpoints": { + "List all streaming endpoints": { "$ref": "examples/streamingendpoint-list-all.json" } } @@ -709,7 +756,7 @@ "StreamingEndpoints" ], "summary": "Get StreamingEndpoint", - "description": "Gets a StreamingEndpoint.", + "description": "Gets a streaming endpoint.", "operationId": "StreamingEndpoints_Get", "parameters": [ { @@ -746,7 +793,7 @@ } }, "x-ms-examples": { - "Get a StreamingEndpoint by name": { + "Get a streaming endpoint by name": { "$ref": "examples/streamingendpoint-list-by-name.json" } } @@ -756,7 +803,7 @@ "StreamingEndpoints" ], "summary": "Create StreamingEndpoint", - "description": "Creates a StreamingEndpoint.", + "description": "Creates a streaming endpoint.", "operationId": "StreamingEndpoints_Create", "parameters": [ { @@ -779,7 +826,7 @@ }, { "name": "parameters", - "description": "StreamingEndpoint properties needed for creation.", + "description": "Streaming endpoint properties needed for creation.", "in": "body", "required": true, "schema": { @@ -794,8 +841,8 @@ "$ref": "#/definitions/StreamingEndpoint" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/StreamingEndpoint" } @@ -809,7 +856,7 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create a StreamingEndpoint": { + "Create a streaming endpoint": { "$ref": "examples/streamingendpoint-create.json" } } @@ -819,7 +866,7 @@ "StreamingEndpoint" ], "summary": "Update StreamingEndpoint", - "description": "Updates a existing StreamingEndpoint.", + "description": "Updates a existing streaming endpoint.", "operationId": "StreamingEndpoints_Update", "parameters": [ { @@ -839,7 +886,7 @@ }, { "name": "parameters", - "description": "StreamingEndpoint properties needed for creation.", + "description": "Streaming endpoint properties needed for creation.", "in": "body", "required": true, "schema": { @@ -869,7 +916,7 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Update a StreamingEndpoint": { + "Update a streaming endpoint": { "$ref": "examples/streamingendpoint-update.json" } } @@ -879,7 +926,7 @@ "StreamingEndpoints" ], "summary": "Delete StreamingEndpoint", - "description": "Deletes a StreamingEndpoint.", + "description": "Deletes a streaming endpoint.", "operationId": "StreamingEndpoints_Delete", "parameters": [ { @@ -917,7 +964,7 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a StreamingEndpoint": { + "Delete a streaming endpoint": { "$ref": "examples/streamingendpoint-delete.json" } } @@ -929,7 +976,7 @@ "StreamingEndpoints" ], "summary": "Start StreamingEndpoint", - "description": "Starts an existing StreamingEndpoint.", + "description": "Starts an existing streaming endpoint.", "operationId": "StreamingEndpoints_Start", "parameters": [ { @@ -964,7 +1011,7 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Start a StreamingEndpoint": { + "Start a streaming endpoint": { "$ref": "examples/streamingendpoint-start.json" } } @@ -976,7 +1023,7 @@ "StreamingEndpoints" ], "summary": "Stop StreamingEndpoint", - "description": "Stops an existing StreamingEndpoint.", + "description": "Stops an existing streaming endpoint.", "operationId": "StreamingEndpoints_Stop", "parameters": [ { @@ -1011,7 +1058,7 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Stop a StreamingEndpoint": { + "Stop a streaming endpoint": { "$ref": "examples/streamingendpoint-stop.json" } } @@ -1023,7 +1070,7 @@ "StreamingEndpoints" ], "summary": "Scale StreamingEndpoint", - "description": "Scales an existing StreamingEndpoint.", + "description": "Scales an existing streaming endpoint.", "operationId": "StreamingEndpoints_Scale", "parameters": [ { @@ -1043,7 +1090,7 @@ }, { "name": "parameters", - "description": "StreamingEndpoint scale parameters", + "description": "Streaming endpoint scale parameters", "in": "body", "required": true, "schema": { @@ -1080,10 +1127,10 @@ "fragmentsPerTsSegment": { "format": "int32", "type": "integer", - "description": "The amount of fragments per HTTP Live Streaming (HLS) segment." + "description": "The number of fragments in an HTTP Live Streaming (HLS) TS segment in the output of the live event. This value does not affect the packing ratio for HLS CMAF output." } }, - "description": "The HLS configuration." + "description": "HTTP Live Streaming (HLS) packing setting for the live output." }, "LiveOutputProperties": { "required": [ @@ -1093,50 +1140,50 @@ "properties": { "description": { "type": "string", - "description": "The description of the Live Output." + "description": "The description of the live output." }, "assetName": { "type": "string", - "description": "The asset name." + "description": "The asset that the live output will write to." }, "archiveWindowLength": { "format": "duration", "type": "string", - "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content." + "description": "ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window." }, "manifestName": { "type": "string", - "description": "The manifest file name. If not provided, the service will generate one automatically." + "description": "The manifest file name. If not provided, the service will generate one automatically." }, "hls": { "type": "object", "$ref": "#/definitions/Hls", - "description": "The HLS configuration." + "description": "HTTP Live Streaming (HLS) packing setting for the live output." }, "outputSnapTime": { "type": "integer", "format": "int64", - "description": "The output snapshot time." + "description": "The initial timestamp that the live output will start at, any content before this value will not be archived." }, "created": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Output was created." + "description": "The creation time the live output." }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Output was last modified." + "description": "The time the live output was last modified." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the Live Output." + "description": "The provisioning state of the live output." }, "resourceState": { - "description": "The resource state of the Live Output.", + "description": "The resource state of the live output.", "readOnly": true, "type": "string", "enum": [ @@ -1146,18 +1193,32 @@ ], "x-ms-enum": { "name": "LiveOutputResourceState", + "values": [ + { + "value": "Creating", + "description": "Live output is being created. No content is archived in the asset until the live output is in running state." + }, + { + "value": "Running", + "description": "Live output is running and archiving live streaming content to the asset if there is valid input from a contribution encoder." + }, + { + "value": "Deleting", + "description": "Live output is being deleted. The live asset is being converted from live to on-demand asset. Any streaming URLs created on the live output asset continue to work." + } + ], "modelAsString": true } } }, - "description": "The JSON object that contains the properties required to create a Live Output." + "description": "The JSON object that contains the properties required to create a live output." }, "LiveOutput": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/LiveOutputProperties", - "description": "The Live Output properties." + "description": "Live output properties." } }, "allOf": [ @@ -1174,7 +1235,7 @@ "items": { "$ref": "#/definitions/LiveOutput" }, - "description": "The result of the List Live Output operation." + "description": "The result of the List LiveOutput operation." }, "@odata.count": { "type": "integer", @@ -1183,7 +1244,7 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." } }, "description": "The LiveOutput list result.", @@ -1200,7 +1261,7 @@ "description": "The endpoint URL." } }, - "description": "The Live Event endpoint." + "description": "The live event endpoint." }, "LiveEventInputAccessControl": { "properties": { @@ -1210,7 +1271,7 @@ "description": "The IP access control properties." } }, - "description": "The IP access control for Live Event Input." + "description": "The IP access control for live event input." }, "LiveEventInput": { "required": [ @@ -1219,38 +1280,48 @@ "properties": { "streamingProtocol": { "type": "string", - "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated.", + "description": "The input protocol for the live event. This is specified at creation time and cannot be updated.", "enum": [ "FragmentedMP4", "RTMP" ], "x-ms-enum": { "name": "LiveEventInputProtocol", + "values": [ + { + "value": "FragmentedMP4", + "description": "Smooth Streaming input will be sent by the contribution encoder to the live event." + }, + { + "value": "RTMP", + "description": "RTMP input will be sent by the contribution encoder to the live event." + } + ], "modelAsString": true } }, "accessControl": { "type": "object", "$ref": "#/definitions/LiveEventInputAccessControl", - "description": "The access control for LiveEvent Input." + "description": "Access control for live event input." }, "keyFrameIntervalDuration": { "type": "string", - "description": "ISO 8601 timespan duration of the key frame interval duration." + "description": "ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events." }, "accessToken": { "type": "string", - "description": "A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." + "description": "A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." }, "endpoints": { "type": "array", "items": { "$ref": "#/definitions/LiveEventEndpoint" }, - "description": "The input endpoints for the Live Event." + "description": "The input endpoints for the live event." } }, - "description": "The Live Event input." + "description": "The live event input." }, "IPRange": { "properties": { @@ -1290,7 +1361,7 @@ "description": "The IP access control properties." } }, - "description": "The IP access control for Live Event preview." + "description": "The IP access control for the live event preview endpoint." }, "LiveEventPreview": { "properties": { @@ -1299,50 +1370,145 @@ "items": { "$ref": "#/definitions/LiveEventEndpoint" }, - "description": "The endpoints for preview." + "description": "The endpoints for preview. Do not share the preview URL with the live event audience." }, "accessControl": { "type": "object", "$ref": "#/definitions/LiveEventPreviewAccessControl", - "description": "The access control for LiveEvent preview." + "description": "The access control for live event preview." }, "previewLocator": { "type": "string", - "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." + "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." }, "streamingPolicyName": { "type": "string", - "description": "The name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated." + "description": "The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated." }, "alternativeMediaId": { "type": "string", - "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." + "description": "An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." } }, - "description": "The Live Event preview." + "description": "Live event preview settings." }, "LiveEventEncoding": { "properties": { "encodingType": { "type": "string", - "description": "The encoding type for Live Event. This value is specified at creation time and cannot be updated. When encodingType is set to None, the service simply passes through the incoming video and audio layer(s) to the output. When encodingType is set to Standard or Premium1080p, a live encoder transcodes the incoming stream into multiple bit rates or layers. See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. The encodingType of Basic is obsolete – if specified, the service will treat this as a Standard Live Event.", + "description": "Live event type. When encodingType is set to None, the service simply passes through the incoming video and audio layer(s) to the output. When encodingType is set to Standard or Premium1080p, a live encoder transcodes the incoming stream into multiple bitrates or layers. See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. This property cannot be modified after the live event is created.", "enum": [ "None", - "Basic", "Standard", "Premium1080p" ], "x-ms-enum": { "name": "LiveEventEncodingType", + "values": [ + { + "value": "None", + "description": "A contribution live encoder sends a multiple bitrate stream. The ingested stream passes through the live event without any further processing. It is also called the pass-through mode." + }, + { + "value": "Standard", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 720p in resolution." + }, + { + "value": "Premium1080p", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 1080p in resolution." + } + ], "modelAsString": true } }, "presetName": { "type": "string", "description": "The optional encoding preset name, used when encodingType is not None. This value is specified at creation time and cannot be updated. If the encodingType is set to Standard, then the default preset name is ‘Default720p’. Else if the encodingType is set to Premium1080p, the default preset is ‘Default1080p’." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respects the output resolution specified in the encoding preset without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "Specifies how the input video will be resized to fit the desired output resolution(s). Default is None" + }, + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "Use an ISO 8601 time value between 0.5 to 20 seconds to specify the output fragment length for the video and audio tracks of an encoding live event. For example, use PT2S to indicate 2 seconds. For the video track it also defines the key frame interval, or the length of a GoP (group of pictures). If this value is not set for an encoding live event, the fragment duration defaults to 2 seconds. The value cannot be set for pass-through live events." } }, - "description": "The Live Event encoding." + "description": "Specifies the live event type and optional encoding settings for encoding live events." + }, + "LiveEventInputTrackSelection": { + "properties": { + "property": { + "type": "string", + "description": "Property name to select. This property is reserved for future use, any value set on this property will be ignored." + }, + "operation": { + "type": "string", + "description": "Comparing operation. This property is reserved for future use, any value set on this property will be ignored." + }, + "value": { + "type": "string", + "description": "Property value to select. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "A track selection condition. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventOutputTranscriptionTrack": { + "required": [ + "trackName" + ], + "properties": { + "trackName": { + "type": "string", + "description": "The output track name. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventTranscription": { + "properties": { + "language": { + "type": "string", + "description": "Specifies the language (locale) to be used for speech-to-text transcription – it should match the spoken language in the audio track. The value should be in BCP-47 format (e.g: 'en-US'). See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature and the list of supported languages." + }, + "inputTrackSelection": { + "type": "array", + "description": "Provides a mechanism to select the audio track in the input live feed, to which speech-to-text transcription is applied. This property is reserved for future use, any value set on this property will be ignored.", + "items": { + "$ref": "#/definitions/LiveEventInputTrackSelection" + } + }, + "outputTranscriptionTrack": { + "type": "object", + "$ref": "#/definitions/LiveEventOutputTranscriptionTrack", + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "Describes the transcription tracks in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." }, "CrossSiteAccessPolicies": { "properties": { @@ -1361,7 +1527,7 @@ "properties": { "removeOutputsOnStop": { "type": "boolean", - "description": "The flag indicates if remove LiveOutputs on Stop." + "description": "The flag indicates whether live outputs are automatically deleted when live event is being stopped. Deleting live outputs do not delete the underlying assets." } }, "description": "The LiveEvent action input parameter definition." @@ -1373,34 +1539,43 @@ "properties": { "description": { "type": "string", - "description": "The Live Event description." + "description": "A description for the live event." }, "input": { "type": "object", "$ref": "#/definitions/LiveEventInput", - "description": "The Live Event input." + "description": "Live event input settings. It defines how the live event receives input from a contribution encoder." }, "preview": { "type": "object", "$ref": "#/definitions/LiveEventPreview", - "description": "The Live Event preview." + "description": "Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output." }, "encoding": { "type": "object", "$ref": "#/definitions/LiveEventEncoding", - "description": "The Live Event encoding." + "description": "Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used." + }, + "transcriptions": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventTranscription" + }, + "description": "Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the Live Event." + "description": "The provisioning state of the live event." }, "resourceState": { "readOnly": true, "type": "string", - "description": "The resource state of the Live Event.", + "description": "The resource state of the live event. See https://go.microsoft.com/fwlink/?linkid=2139012 for more information.", "enum": [ "Stopped", + "Allocating", + "StandBy", "Starting", "Running", "Stopping", @@ -1408,17 +1583,51 @@ ], "x-ms-enum": { "name": "LiveEventResourceState", + "values": [ + { + "value": "Stopped", + "description": "This is the initial state of the live event after creation (unless autostart was set to true.) No billing occurs in this state. In this state, the live event properties can be updated but streaming is not allowed." + }, + { + "value": "Allocating", + "description": "Allocate action was called on the live event and resources are being provisioned for this live event. Once allocation completes successfully, the live event will transition to StandBy state." + }, + { + "value": "StandBy", + "description": "Live event resources have been provisioned and is ready to start. Billing occurs in this state. Most properties can still be updated, however ingest or streaming is not allowed during this state." + }, + { + "value": "Starting", + "description": "The live event is being started and resources are being allocated. No billing occurs in this state. Updates or streaming are not allowed during this state. If an error occurs, the live event returns to the Stopped state." + }, + { + "value": "Running", + "description": "The live event resources have been allocated, ingest and preview URLs have been generated, and it is capable of receiving live streams. At this point, billing is active. You must explicitly call Stop on the live event resource to halt further billing." + }, + { + "value": "Stopping", + "description": "The live event is being stopped and resources are being de-provisioned. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + }, + { + "value": "Deleting", + "description": "The live event is being deleted. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + } + ], "modelAsString": true } }, "crossSiteAccessPolicies": { "type": "object", "$ref": "#/definitions/CrossSiteAccessPolicies", - "description": "The Live Event access policies." + "description": "Live event cross site access policies." }, "useStaticHostname": { "type": "boolean", - "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated." + "description": "Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state" + }, + "hostnamePrefix": { + "type": "string", + "description": "When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center." }, "streamOptions": { "type": "array", @@ -1430,32 +1639,42 @@ ], "x-ms-enum": { "name": "StreamOptionsFlag", + "values": [ + { + "value": "Default", + "description": "Live streaming with no special latency optimizations." + }, + { + "value": "LowLatency", + "description": "The live event provides lower end to end latency by reducing its internal buffers. This could result in more client buffering during playback if network bandwidth is low." + } + ], "modelAsString": true } }, - "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'." + "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'." }, "created": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Event was created." + "description": "The creation time for the live event" }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Event was last modified." + "description": "The last modified time of the live event." } }, - "description": "The Live Event properties." + "description": "The live event properties." }, "LiveEvent": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/LiveEventProperties", - "description": "The Live Event properties." + "description": "The live event properties." } }, "allOf": [ @@ -1463,7 +1682,7 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], - "description": "The Live Event." + "description": "The live event." }, "LiveEventListResult": { "properties": { @@ -1481,7 +1700,7 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." } }, "description": "The LiveEvent list result.", @@ -1527,17 +1746,17 @@ "ip": { "type": "object", "$ref": "#/definitions/IPAccessControl", - "description": "The IP access control of the StreamingEndpoint." + "description": "The IP access control of the streaming endpoint." } }, - "description": "StreamingEndpoint access control definition." + "description": "Streaming endpoint access control definition." }, "StreamingEntityScaleUnit": { "properties": { "scaleUnit": { "type": "integer", "format": "int32", - "description": "The scale unit number of the StreamingEndpoint." + "description": "The scale unit number of the streaming endpoint." } }, "description": "scale units definition" @@ -1549,21 +1768,21 @@ "properties": { "description": { "type": "string", - "description": "The StreamingEndpoint description." + "description": "The streaming endpoint description." }, "scaleUnits": { "type": "integer", "format": "int32", - "description": "The number of scale units. Use the Scale operation to adjust this value." + "description": "The number of scale units. Use the Scale operation to adjust this value." }, "availabilitySetName": { "type": "string", - "description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time." + "description": "This feature is deprecated, do not set a value for this property." }, "accessControl": { "type": "object", "$ref": "#/definitions/StreamingEndpointAccessControl", - "description": "The access control definition of the StreamingEndpoint." + "description": "The access control definition of the streaming endpoint." }, "maxCacheAge": { "type": "integer", @@ -1576,12 +1795,12 @@ "type": "string", "description": "custom host name" }, - "description": "The custom host names of the StreamingEndpoint" + "description": "The custom host names of the streaming endpoint" }, "hostName": { "readOnly": true, "type": "string", - "description": "The StreamingEndpoint host name." + "description": "The streaming endpoint host name." }, "cdnEnabled": { "type": "boolean", @@ -1598,12 +1817,12 @@ "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the StreamingEndpoint." + "description": "The provisioning state of the streaming endpoint." }, "resourceState": { "readOnly": true, "type": "string", - "description": "The resource state of the StreamingEndpoint.", + "description": "The resource state of the streaming endpoint.", "enum": [ "Stopped", "Starting", @@ -1614,13 +1833,39 @@ ], "x-ms-enum": { "name": "StreamingEndpointResourceState", + "values": [ + { + "value": "Stopped", + "description": "The initial state of a streaming endpoint after creation. Content is not ready to be streamed from this endpoint." + }, + { + "value": "Starting", + "description": "The streaming endpoint is transitioning to the running state." + }, + { + "value": "Running", + "description": "The streaming endpoint is running. It is able to stream content to clients" + }, + { + "value": "Stopping", + "description": "The streaming endpoint is transitioning to the stopped state." + }, + { + "value": "Deleting", + "description": "The streaming endpoint is being deleted." + }, + { + "value": "Scaling", + "description": "The streaming endpoint is increasing or decreasing scale units." + } + ], "modelAsString": true } }, "crossSiteAccessPolicies": { "type": "object", "$ref": "#/definitions/CrossSiteAccessPolicies", - "description": "The StreamingEndpoint access policies." + "description": "The streaming endpoint access policies." }, "freeTrialEndTime": { "readOnly": true, @@ -1632,23 +1877,23 @@ "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the StreamingEndpoint was created." + "description": "The exact time the streaming endpoint was created." }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the StreamingEndpoint was last modified." + "description": "The exact time the streaming endpoint was last modified." } }, - "description": "The StreamingEndpoint properties." + "description": "The streaming endpoint properties." }, "StreamingEndpoint": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/StreamingEndpointProperties", - "description": "The StreamingEndpoint properties." + "description": "The streaming endpoint properties." } }, "allOf": [ @@ -1656,7 +1901,7 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], - "description": "The StreamingEndpoint." + "description": "The streaming endpoint." }, "StreamingEndpointListResult": { "properties": { @@ -1674,10 +1919,10 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of StreamingEndpoints." + "description": "The link to the next set of results. Not empty if value contains incomplete list of streaming endpoints." } }, - "description": "The StreamingEndpoint list result.", + "description": "The streaming endpoint list result.", "title": "StreamingEndpointListResult" } }, @@ -1691,7 +1936,7 @@ }, "ApiVersion": { "name": "api-version", - "description": "The Version of the API to be used with the client request.", + "description": "The version of the API to be used with the client request.", "in": "query", "required": true, "type": "string" @@ -1714,7 +1959,7 @@ }, "LiveEventName": { "name": "liveEventName", - "description": "The name of the Live Event.", + "description": "The name of the live event, maximum length is 32.", "in": "path", "required": true, "type": "string", @@ -1733,7 +1978,7 @@ }, "LiveOutputName": { "name": "liveOutputName", - "description": "The name of the Live Output.", + "description": "The name of the live output.", "in": "path", "required": true, "type": "string", @@ -1744,7 +1989,7 @@ }, "StreamingEndpointName": { "name": "streamingEndpointName", - "description": "The name of the StreamingEndpoint.", + "description": "The name of the streaming endpoint, maximum length is 24.", "in": "path", "required": true, "type": "string", diff --git a/specification/mediaservices/resource-manager/readme.azureresourceschema.md b/specification/mediaservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7dd1ee754fbb --- /dev/null +++ b/specification/mediaservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,139 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-media-2020-05-01 + - tag: schema-media-2020-02-01-preview + - tag: schema-media-2019-09-01-preview + - tag: schema-media-2019-05-01-preview + - tag: schema-media-2018-07-01 + - tag: schema-media-2018-06-01-preview + - tag: schema-media-2018-03-30-preview + - tag: schema-media-2015-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-media-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2020-05-01/AccountFilters.json + - Microsoft.Media/stable/2020-05-01/Accounts.json + - Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2020-05-01/Encoding.json + - Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2020-05-01/streamingservice.json + - Microsoft.Media/stable/2020-05-01/Common.json + +``` + +### Tag: schema-media-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json + +``` + +### Tag: schema-media-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json + +``` + +### Tag: schema-media-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2019-05-01-preview/AccountFilters.json + - Microsoft.Media/preview/2019-05-01-preview/Accounts.json + - Microsoft.Media/preview/2019-05-01-preview/AssetsAndAssetFilters.json + - Microsoft.Media/preview/2019-05-01-preview/Common.json + - Microsoft.Media/preview/2019-05-01-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2019-05-01-preview/Encoding.json + - Microsoft.Media/preview/2019-05-01-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2019-05-01-preview/streamingservice.json + +``` + +### Tag: schema-media-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2018-07-01/AccountFilters.json + - Microsoft.Media/stable/2018-07-01/Accounts.json + - Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2018-07-01/Encoding.json + - Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2018-07-01/streamingservice.json + - Microsoft.Media/stable/2018-07-01/Common.json + +``` + +### Tag: schema-media-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2018-06-01-preview/Accounts.json + - Microsoft.Media/preview/2018-06-01-preview/Assets.json + - Microsoft.Media/preview/2018-06-01-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2018-06-01-preview/Encoding.json + - Microsoft.Media/preview/2018-06-01-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2018-06-01-preview/streamingservice.json + +``` + +### Tag: schema-media-2018-03-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-03-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2018-03-30-preview/Accounts.json + - Microsoft.Media/preview/2018-03-30-preview/Assets.json + - Microsoft.Media/preview/2018-03-30-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2018-03-30-preview/Encoding.json + - Microsoft.Media/preview/2018-03-30-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2018-03-30-preview/streamingservice.json + +``` + +### Tag: schema-media-2015-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2015-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2015-10-01/media.json + +``` diff --git a/specification/mediaservices/resource-manager/readme.go.md b/specification/mediaservices/resource-manager/readme.go.md index 9254d7a9d81d..67b27da0d748 100644 --- a/specification/mediaservices/resource-manager/readme.go.md +++ b/specification/mediaservices/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ```yaml $(go) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2015-10 - tag: package-2018-03-preview - tag: package-2018-06-preview @@ -20,6 +21,15 @@ batch: - tag: package-2019-05-preview ``` +### Tag: package-2020-05 and go + +These settings apply only when `--tag=package-2020-05 --go` is specified on the command line. +Please also specify the `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2020-05' && $(go) +output-folder: $(go-sdk-folder)/services/mediaservices/mgmt/2020-05-01/$(namespace) +``` + ### Tag: package-2015-10 and go These settings apply only when `--tag=package-2015-10 --go` is specified on the command line. diff --git a/specification/mediaservices/resource-manager/readme.java.md b/specification/mediaservices/resource-manager/readme.java.md new file mode 100644 index 000000000000..15bf2760628a --- /dev/null +++ b/specification/mediaservices/resource-manager/readme.java.md @@ -0,0 +1,103 @@ +## Java + +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.mediaservices +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mediaservices +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2015-10 + - tag: package-2018-03-preview + - tag: package-2018-06-preview + - tag: package-2018-07 + - tag: package-2019-05-preview + - tag: package-2020-05 +``` + +### Tag: package-2015-10 and java + +These settings apply only when `--tag=package-2015-10 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2015-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2015_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2015_10_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-03-preview and java + +These settings apply only when `--tag=package-2018-03-preview --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2018-03-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2018_03_30_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_03_30_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-06-preview and java + +These settings apply only when `--tag=package-2018-06-preview --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2018-06-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2018_06_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_06_01_preview +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. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2018-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2018_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_07_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2019-05-preview and java + +These settings apply only when `--tag=package-2019-05-preview --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2019-05-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2019_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2019_05_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-05 and java + +These settings apply only when `--tag=package-2020-05 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mediaservices.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index 5d98b8ef86d9..39d5cbbc62dc 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -171,6 +171,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_media_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mediaservices/resource-manager ``` ## C# @@ -224,93 +227,7 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -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.mediaservices -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mediaservices -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2015-10 - - tag: package-2018-03-preview - - tag: package-2018-06-preview - - tag: package-2018-07 - - tag: package-2019-05-preview -``` - -### Tag: package-2015-10 and java - -These settings apply only when `--tag=package-2015-10 --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2015-10' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.mediaservices.v2015_10_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2015_10_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2018-03-preview and java - -These settings apply only when `--tag=package-2018-03-preview --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2018-03-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.mediaservices.v2018_03_30_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_03_30_preview -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2018-06-preview and java - -These settings apply only when `--tag=package-2018-06-preview --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2018-06-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.mediaservices.v2018_06_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_06_01_preview -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. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2018-07' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.mediaservices.v2018_07_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2018_07_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2019-05-preview and java - -These settings apply only when `--tag=package-2019-05-preview --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2019-05-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.mediaservices.v2019_05_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/mediaservices/mgmt-v2019_05_01_preview -regenerate-manager: true -generate-interface: true -``` +See configuration in [readme.java.md](./readme.java.md) ## Suppression @@ -326,64 +243,7 @@ directive: reason: Output not required for job update ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Media/stable/2020-05-01/AccountFilters.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/Accounts.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/Encoding.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/streamingservice.json - - $(this-folder)/Microsoft.Media/stable/2020-05-01/Common.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/AccountFilters.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/Accounts.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/Encoding.json - - $(this-folder)/Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/streamingservice.json - - $(this-folder)/Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/AccountFilters.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/Accounts.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/AssetsAndAssetFilters.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/Common.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/ContentKeyPolicies.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/Encoding.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/StreamingPoliciesAndStreamingLocators.json - - $(this-folder)/Microsoft.Media/preview/2019-05-01-preview/streamingservice.json - - $(this-folder)/Microsoft.Media/stable/2018-07-01/Common.json - - $(this-folder)/Microsoft.Media/stable/2015-10-01/media.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/Accounts.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/Assets.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/ContentKeyPolicies.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/Encoding.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/StreamingPoliciesAndStreamingLocators.json - - $(this-folder)/Microsoft.Media/preview/2018-03-30-preview/streamingservice.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/Accounts.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/Assets.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/ContentKeyPolicies.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/Encoding.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/StreamingPoliciesAndStreamingLocators.json - - $(this-folder)/Microsoft.Media/preview/2018-06-01-preview/streamingservice.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/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json index 6811e6ce707d..49c50e05f7e5 100644 --- a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json @@ -9,7 +9,7 @@ "email": "azuremigrate@microsoft.com" } }, - "host": "localhost", + "host": "management.azure.com", "schemes": [ "https" ], diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json index 5841cad6ae43..68fbd32f52dd 100644 --- a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json @@ -9,7 +9,7 @@ "email": "azuremigrate@microsoft.com" } }, - "host": "localhost", + "host": "management.azure.com", "schemes": [ "https" ], diff --git a/specification/migrate/resource-manager/readme.azureresourceschema.md b/specification/migrate/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..48e3a39e8a41 --- /dev/null +++ b/specification/migrate/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-offazure-2020-07-07 + - tag: schema-offazure-2020-01-01 + - tag: schema-migrate-2019-10-01 + - tag: schema-migrate-2018-02-02 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-offazure-2020-07-07 and azureresourceschema + +``` yaml $(tag) == 'schema-offazure-2020-07-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OffAzure/stable/2020-07-07/migrate.json + +``` + +### Tag: schema-offazure-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-offazure-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OffAzure/stable/2020-01-01/migrate.json + +``` + +### Tag: schema-migrate-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/stable/2019-10-01/migrate.json + +``` + +### Tag: schema-migrate-2018-02-02 and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2018-02-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/stable/2018-02-02/migrate.json + +``` diff --git a/specification/migrate/resource-manager/readme.md b/specification/migrate/resource-manager/readme.md index 8b2a9c8e0e15..bb38ec4e0480 100644 --- a/specification/migrate/resource-manager/readme.md +++ b/specification/migrate/resource-manager/readme.md @@ -121,35 +121,16 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js migrate/resource-manager ``` ## Go See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Migrate/stable/2018-02-02/migrate.json - - $(this-folder)/Microsoft.Migrate/stable/2019-10-01/migrate.json - - $(this-folder)/Microsoft.OffAzure/stable/2020-01-01/migrate.json - - $(this-folder)/Microsoft.OffAzure/stable/2020-07-07/migrate.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/migrateprojects/resource-manager/readme.azureresourceschema.md b/specification/migrateprojects/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..53d53c148b61 --- /dev/null +++ b/specification/migrateprojects/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-migrate-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-migrate-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/preview/2018-09-01-preview/migrate.json + +``` diff --git a/specification/migrateprojects/resource-manager/readme.md b/specification/migrateprojects/resource-manager/readme.md index 4a68c64f2d7e..3b4299f2cf5d 100644 --- a/specification/migrateprojects/resource-manager/readme.md +++ b/specification/migrateprojects/resource-manager/readme.md @@ -69,6 +69,9 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js migrateprojects/resource-manager ``` ## Go @@ -98,27 +101,7 @@ Please also specify `--go-sdk-folder=`. + +### Tag: schema-mixedreality-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/stable/2020-05-01/proxy.json + - Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json + +``` + +### Tag: schema-mixedreality-2020-04-06-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2020-04-06-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json + - Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json + +``` + +### Tag: schema-mixedreality-2019-12-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2019-12-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2019-12-02-preview/proxy.json + - Microsoft.MixedReality/preview/2019-12-02-preview/remote-rendering.json + - Microsoft.MixedReality/preview/2019-12-02-preview/spatial-anchors.json + +``` + +### Tag: schema-mixedreality-2019-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2019-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.json + +``` diff --git a/specification/mixedreality/resource-manager/readme.md b/specification/mixedreality/resource-manager/readme.md index ccd310b211e6..eec4de896ddd 100644 --- a/specification/mixedreality/resource-manager/readme.md +++ b/specification/mixedreality/resource-manager/readme.md @@ -93,6 +93,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-go - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mixedreality/resource-manager ``` ## C# @@ -146,34 +149,7 @@ 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 +## AzureResourceSchema -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.MixedReality/stable/2020-05-01/proxy.json - - $(this-folder)/Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json - - $(this-folder)/Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json - - $(this-folder)/Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json - - $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/proxy.json - - $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/remote-rendering.json - - $(this-folder)/Microsoft.MixedReality/preview/2019-12-02-preview/spatial-anchors.json - - $(this-folder)/Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json index 278a0a1a97ce..6d30d3fa0ac5 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json @@ -511,7 +511,7 @@ "LessThanOrEqual" ], "x-ms-enum": { - "name": "Operator", + "name": "conditionOperator", "modelAsString": true }, "description": "The criteria operator." @@ -526,11 +526,15 @@ "description": "The minimum number of violations required within the selected lookback time window required to raise an alert.", "properties": { "numberOfEvaluationPeriods": { - "type": "number", + "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": "number", + "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" } } @@ -558,7 +562,7 @@ "Exclude" ], "x-ms-enum": { - "name": "operator", + "name": "dimensionOperator", "modelAsString": true } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json index e88efc9a9349..a5f09da2e038 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json @@ -851,6 +851,10 @@ "$ref": "#/definitions/MetricDimension" }, "description": "List of dimension conditions." + }, + "skipMetricValidation": { + "type": "boolean", + "description": "Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric validation to be skipped." } }, "required": [ diff --git a/specification/monitor/resource-manager/readme.azureresourceschema.md b/specification/monitor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..64d73c4be188 --- /dev/null +++ b/specification/monitor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,285 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-insights-2020-05-01-preview + - tag: schema-insights-2020-01-01-preview + - tag: schema-insights-2019-11-01-preview + - tag: schema-insights-2019-10-17-preview + - tag: schema-insights-2019-06-01 + - tag: schema-insights-2019-03-01 + - tag: schema-insights-2018-11-27-preview + - tag: schema-insights-2018-09-01 + - tag: schema-insights-2018-06-01-preview + - tag: schema-insights-2018-04-16 + - tag: schema-insights-2018-03-01 + - tag: schema-insights-2018-01-01 + - tag: schema-insights-2017-12-01-preview + - tag: schema-insights-2017-11-01-preview + - tag: schema-insights-2017-05-01-preview + - tag: schema-insights-2017-04-01 + - tag: schema-insights-2017-03-01-preview + - tag: schema-insights-2016-09-01 + - tag: schema-insights-2016-03-01 + - tag: schema-insights-2015-07-01 + - tag: schema-insights-2015-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-insights-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json + +``` + +### Tag: schema-insights-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json + +``` + +### Tag: schema-insights-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_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/privateLinkScopes_API.json + +``` + +### Tag: schema-insights-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2019-06-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json + - Microsoft.Insights/stable/2019-03-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2018-11-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-11-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json + +``` + +### Tag: schema-insights-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-09-01/actionGroups_API.json + - Microsoft.Insights/stable/2018-09-01/baseline_API.json + - Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json + +``` + +### Tag: schema-insights-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json + - Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json + +``` + +### Tag: schema-insights-2018-04-16 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-04-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json + +``` + +### Tag: schema-insights-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - Microsoft.Insights/stable/2018-03-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json + - Microsoft.Insights/stable/2018-01-01/metrics_API.json + +``` + +### Tag: schema-insights-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json + +``` + +### Tag: schema-insights-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json + - Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json + +``` + +### Tag: schema-insights-2017-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json + - Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json + - Microsoft.Insights/preview/2017-05-01-preview/subscriptionDiagnosticsSettings_API.json + - Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json + - Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json + +``` + +### Tag: schema-insights-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json + - Microsoft.Insights/stable/2017-04-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-03-01-preview/activityLogAlerts_API.json + +``` + +### Tag: schema-insights-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2016-09-01/metrics_API.json + - Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json + +``` + +### Tag: schema-insights-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - 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/stable/2016-03-01/metricDefinitions_API.json + +``` + +### Tag: schema-insights-2015-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2015-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json + +``` + +### Tag: schema-insights-2015-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2015-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2015-04-01/autoscale_API.json + - Microsoft.Insights/stable/2015-04-01/operations_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 + +``` diff --git a/specification/monitor/resource-manager/readme.csharp.md b/specification/monitor/resource-manager/readme.csharp.md index 946deb424832..4c45821ceb70 100644 --- a/specification/monitor/resource-manager/readme.csharp.md +++ b/specification/monitor/resource-manager/readme.csharp.md @@ -32,4 +32,16 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Monitor/Management.Monito batch: - tag: profile-hybrid-2019-03-01 + ``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Monitor +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Monitor/Management.Monitor/Generated + +batch: + - tag: profile-hybrid-2020-09-01 ``` \ No newline at end of file diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md index 6b3d8d304a28..4e19b1574cdb 100644 --- a/specification/monitor/resource-manager/readme.md +++ b/specification/monitor/resource-manager/readme.md @@ -569,6 +569,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_monitor'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js monitor/resource-manager ``` ## Python @@ -626,66 +629,22 @@ input-file: - Microsoft.Insights/stable/2015-04-01/operations_API.json ``` -## 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.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json - - $(this-folder)/Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-04-01/autoscale_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-04-01/operations_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-03-01/alertRules_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-03-01/logProfiles_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json - - $(this-folder)/Microsoft.Insights/stable/2019-06-01/actionGroups_API.json - - $(this-folder)/Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-04-01/activityLogs_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-01-01/metrics_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json - - $(this-folder)/Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json - - $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/subscriptionDiagnosticsSettings_API.json - - $(this-folder)/Microsoft.Insights/stable/2019-03-01/actionGroups_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-09-01/actionGroups_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-03-01/actionGroups_API.json - - $(this-folder)/Microsoft.Insights/stable/2017-04-01/actionGroups_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-09-01/baseline_API.json - - $(this-folder)/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json - - $(this-folder)/Microsoft.Insights/preview/2017-03-01-preview/activityLogAlerts_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-09-01/metrics_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json - - $(this-folder)/Microsoft.Insights/stable/2016-03-01/metricDefinitions_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-07-01/serviceDiagnosticsSettings_API.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 +### 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.Insights/stable/2018-01-01/metricDefinitions_API.json +- Microsoft.Insights/stable/2018-01-01/metrics_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/2015-04-01/eventCategories_API.json +- Microsoft.Insights/stable/2015-04-01/operations_API.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index 8d483156a925..92a777c5f250 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -30,6 +30,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-05-preview - tag: package-2020-01-01-preview-only - tag: package-2019-10-17-preview-only - tag: package-2019-06-01-only @@ -54,6 +55,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-05-preview - tag: package-2020-01-01-preview-only - tag: package-2019-10-17-preview-only - tag: package-2019-06-01-only @@ -82,6 +84,19 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-05-preview and python + +These settings apply only when `--tag=package-2020-05-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-preview' +namespace: $(python-base-namespace).v2020_05_01_preview +output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview +python: + namespace: $(python-base-namespace).v2020_05_01_preview + output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview +``` + ### Tag: package-2020-01-01-preview-only and python These settings apply only when `--tag=package-2020-01-01-preview-only --python` is specified on the command line. diff --git a/specification/msi/resource-manager/readme.azureresourceschema.md b/specification/msi/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4ad17aca39dc --- /dev/null +++ b/specification/msi/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managedidentity-2018-11-30 + - tag: schema-managedidentity-2015-08-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managedidentity-2018-11-30 and azureresourceschema + +``` yaml $(tag) == 'schema-managedidentity-2018-11-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedIdentity/stable/2018-11-30/ManagedIdentity.json + +``` + +### Tag: schema-managedidentity-2015-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedidentity-2015-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedIdentity/preview/2015-08-31-preview/ManagedIdentity.json + +``` diff --git a/specification/msi/resource-manager/readme.md b/specification/msi/resource-manager/readme.md index 6540b93517b2..5a9b8cdbc7ef 100644 --- a/specification/msi/resource-manager/readme.md +++ b/specification/msi/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: - bundle install && rake arm:regen_all_profiles['azure_mgmt_msi'] - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js msi/resource-manager ``` @@ -143,28 +146,7 @@ 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.ManagedIdentity/stable/2018-11-30/ManagedIdentity.json - - $(this-folder)/Microsoft.ManagedIdentity/preview/2015-08-31-preview/ManagedIdentity.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json index 930457495d0e..e0dcd9a26329 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -1617,51 +1617,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1956,6 +1911,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2005,7 +1963,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2127,7 +2085,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2185,7 +2143,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2238,7 +2196,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2298,7 +2256,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2434,7 +2392,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2608,7 +2566,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2699,7 +2657,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index af9601bf9324..57933912da9f 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json index 9773e4440b37..a9b356bc2e74 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json index 8addd2520a3d..79e8e6e25313 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/queryTexts/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/queryTexts/{queryId}": { "get": { "tags": [ "QueryTexts" @@ -1493,7 +1493,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/queryTexts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/queryTexts": { "get": { "tags": [ "QueryTexts" @@ -1543,7 +1543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { "get": { "tags": [ "TopQueryStatistics" @@ -1582,7 +1582,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/topQueryStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/topQueryStatistics": { "get": { "tags": [ "TopQueryStatistics" @@ -1630,7 +1630,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/waitStatistics/{waitStatisticsId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/waitStatistics/{waitStatisticsId}": { "get": { "tags": [ "WaitStatistics" @@ -1669,7 +1669,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/waitStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/waitStatistics": { "get": { "tags": [ "WaitStatistics" @@ -1717,7 +1717,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}": { "get": { "tags": [ "Advisors" @@ -1756,7 +1756,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors": { "get": { "tags": [ "Advisors" @@ -1795,7 +1795,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { "post": { "tags": [ "RecommendedActionSessions" @@ -1842,7 +1842,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { "get": { "tags": [ "RecommendedActions" @@ -1884,7 +1884,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions": { "get": { "tags": [ "RecommendedActions" @@ -1933,7 +1933,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsOperationStatus" @@ -1969,7 +1969,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsResult" @@ -2014,7 +2014,7 @@ } } }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -2176,51 +2176,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -2511,6 +2466,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2560,7 +2518,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2682,7 +2640,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2740,7 +2698,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2793,7 +2751,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2853,7 +2811,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2989,7 +2947,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -3163,7 +3121,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3254,7 +3212,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, @@ -3293,7 +3251,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Text." @@ -3432,7 +3390,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Statistic." @@ -3550,7 +3508,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Wait Statistic." @@ -3588,7 +3546,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a recommendation action advisor." @@ -3665,7 +3623,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Recommendation Action." diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 68a43fcfc34a..e562c0bb5b0f 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of MySQL Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CapabilitiesByLocationList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CapabilitiesByLocationList.json new file mode 100644 index 000000000000..54179b014b28 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CapabilitiesByLocationList.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + }, + { + "name": "GeneralPurpose", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_D2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + } + ] + } + ] + }, + { + "name": "MemoryOptimized", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_E2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckNameAvailability.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..03f4890a7aec --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DBforMySQL" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "", + "reason": "" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckVirtualNetworkSubnetUsage.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckVirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..90177d94e351 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/CheckVirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationGet.json new file mode 100644 index 000000000000..70a438703fd8 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "configurationName": "event_scheduler", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..4d8bdab664bc --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "value": "on", + "source": "user-override" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationsListByServer.json new file mode 100644 index 000000000000..def3b30711ea --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ConfigurationsListByServer.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serverName": "mysqltestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "value": "OFF", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4", + "description": "Number of digits by which to increase the scale of the result of division operations.", + "defaultValue": "4", + "dataType": "Integer", + "allowedValues": "0-30", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/div_precision_increment", + "name": "div_precision_increment", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Maximum allowed result length in bytes for the GROUP_CONCAT().", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "4-16777216", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/group_concat_max_len", + "name": "group_concat_max_len", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "ON", + "description": "Whether innodb adaptive hash indexes are enabled or disabled.", + "defaultValue": "ON", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_adaptive_hash_index", + "name": "innodb_adaptive_hash_index", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "The length of time in seconds an InnoDB transaction waits for a row lock before giving up.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "1-3600", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_lock_wait_timeout", + "name": "innodb_lock_wait_timeout", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseCreate.json new file mode 100644 index 000000000000..bff8a976401a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseDelete.json new file mode 100644 index 000000000000..404378d42fe4 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseGet.json new file mode 100644 index 000000000000..820cc9b63ff5 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabaseGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabasesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabasesListByServer.json new file mode 100644 index 000000000000..e0da00a6f878 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/DatabasesListByServer.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db2", + "name": "db2", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleCreate.json new file mode 100644 index 000000000000..03b11cd864c4 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleDelete.json new file mode 100644 index 000000000000..b181e98d1678 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleGet.json new file mode 100644 index 000000000000..a1858025a6ae --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRulesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRulesListByServer.json new file mode 100644 index 000000000000..0b39100d799f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/FirewallRulesListByServer.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule2", + "name": "rule2", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/OperationsList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..6add7867c492 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/OperationsList.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DBforMySQL/locations/performanceTiers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Performance Tiers", + "operation": "List Performance Tiers", + "description": "Returns the list of Performance Tiers available." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "List/Get Firewall Rules", + "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "Create/Update Firewall Rule", + "description": "Creates a firewall rule with the specified parameters or update an existing rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/delete", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "Delete Firewall Rule", + "description": "Deletes an existing firewall rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "List/Get MySQL Servers", + "description": "Return the list of servers or gets the properties for the specified server." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "Create/Update MySQL Server", + "description": "Creates a server with the specified parameters or update the properties or tags for the specified server." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/delete", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "Delete MySQL Server", + "description": "Deletes an existing server." + } + }, + { + "name": "Microsoft.DBforMySQL/performanceTiers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Performance Tiers", + "operation": "List Performance Tiers", + "description": "Returns the list of Performance Tiers available." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/recoverableServers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Recoverable MySQL Server", + "operation": "Get Recoverable MySQL Server info", + "description": "Return the recoverable MySQL Server info" + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Get database metric definitions", + "description": "Return types of metrics that are available for databases" + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "cpu_percent", + "displayName": "CPU percent", + "displayDescription": "CPU percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "memory_percent", + "displayName": "Memory percent", + "displayDescription": "Memory percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "io_consumption_percent", + "displayName": "IO percent", + "displayDescription": "IO percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "storage_percent", + "displayName": "Storage percentage", + "displayDescription": "Storage percentage", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "storage_used", + "displayName": "Storage used", + "displayDescription": "Storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "storage_limit", + "displayName": "Storage limit", + "displayDescription": "Storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_percent", + "displayName": "Server Log storage percent", + "displayDescription": "Server Log storage percent", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_usage", + "displayName": "Server Log storage used", + "displayDescription": "Server Log storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_limit", + "displayName": "Server Log storage limit", + "displayDescription": "Server Log storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "active_connections", + "displayName": "Total active connections", + "displayDescription": "Total active connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "connections_failed", + "displayName": "Total failed connections", + "displayDescription": "Total failed connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "seconds_behind_master", + "displayName": "Replication lag in seconds", + "displayDescription": "Replication lag in seconds", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + } + ] + } + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Read diagnostic setting", + "description": "Gets the disagnostic setting for the resource" + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ReplicasListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ReplicasListByServer.json new file mode 100644 index 000000000000..b5503df0c06f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ReplicasListByServer.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "serverName": "testprimary", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver", + "name": "testserver", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver1", + "name": "testserver1", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver1.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver2", + "name": "testserver2", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver2.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreate.json new file mode 100644 index 000000000000..db62b78f4e95 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreate.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "administratorLogin": "cloudsa", + "administratorLoginPassword": "pass$w0rd", + "sslEnforcement": "Enabled", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "createMode": "Default" + }, + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "westus", + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "elasticServer": "1" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateReplica.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateReplica.json new file mode 100644 index 000000000000..04d66245e40d --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateReplica.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "serverName": "targetserver", + "resourceGroupName": "TargetResourceGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "createMode": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 14 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "replicaCapacity": 0 + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 14 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "replicaCapacity": 0 + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateWithPointInTimeRestore.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateWithPointInTimeRestore.json new file mode 100644 index 000000000000..3c5dfe80c7f1 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerCreateWithPointInTimeRestore.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "serverName": "targetserver", + "resourceGroupName": "TargetResourceGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "brazilsouth", + "properties": { + "restorePointInTime": "2017-12-14T00:00:37.467Z", + "createMode": "PointInTimeRestore", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/sourceserver" + }, + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com" + }, + "location": "brazilsouth", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "brazilsouth", + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "elasticServer": "1" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerDelete.json new file mode 100644 index 000000000000..67aa06b12dd8 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGet.json new file mode 100644 index 000000000000..a8da20a34712 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "earliestRestoreDate": "2020-03-14T18:02:41.577+00:00", + "replicationRole": "None", + "sourceServerId": "", + "replicaCapacity": 5, + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGetWithVnet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGetWithVnet.json new file mode 100644 index 000000000000..23bfd3609f55 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerGetWithVnet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serverName": "mysqltestsrv", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsrv.mysql.database.azure.com", + "replicationRole": "None", + "sourceServerId": "", + "replicaCapacity": 5, + "publicNetworkAccess": "Disabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsrv", + "name": "mysqltestsrv", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyCreate.json new file mode 100644 index 000000000000..bbb430b43a56 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyCreate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-preview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..2ffdb19b61a5 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..c30a6a2402cd --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeysListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeysListByServer.json new file mode 100644 index 000000000000..333b0be52aca --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerKeysListByServer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerRestart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerRestart.json new file mode 100644 index 000000000000..2113645e4f96 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerRestart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStart.json new file mode 100644 index 000000000000..2113645e4f96 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStop.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStop.json new file mode 100644 index 000000000000..2113645e4f96 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdate.json new file mode 100644 index 000000000000..21a0ca95270c --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "administratorLoginPassword": "newpa$$w0rd", + "sslEnforcement": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Disabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": {} + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json new file mode 100644 index 000000000000..eab5131bebdf --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "maintenanceWindow": { + "customWindow": "Enabled", + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0 + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Disabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Disabled", + "haState": "NotEnabled", + "availabilityZone": "1", + "standbyAvailabilityZone": null, + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + }, + "delegatedSubnetArguments": {} + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersList.json new file mode 100644 index 000000000000..4380b5404009 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1", + "name": "mysqltestsvc1", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2", + "name": "mysqltstsvc2", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D13_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 102400, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc3.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg1/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc3", + "name": "mysqltestsvc3", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersListByResourceGroup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersListByResourceGroup.json new file mode 100644 index 000000000000..0dd487649c37 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/examples/ServersListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-07-01-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1", + "name": "mysqltestsvc1", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D13_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2", + "name": "mysqltstsvc2", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/mysql.json new file mode 100644 index 000000000000..aae90e29117a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-preview/mysql.json @@ -0,0 +1,2484 @@ +{ + "swagger": "2.0", + "info": { + "title": "MySQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations.", + "version": "2020-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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}": { + "put": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Create", + "x-ms-examples": { + "Create a new server": { + "$ref": "./examples/ServerCreate.json" + }, + "Create a server as a point in time restore": { + "$ref": "./examples/ServerCreateWithPointInTimeRestore.json" + }, + "Create a replica server": { + "$ref": "./examples/ServerCreateReplica.json" + } + }, + "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Server" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Update", + "x-ms-examples": { + "Update a server": { + "$ref": "./examples/ServerUpdate.json" + }, + "Update server customer maintenance window": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" + } + }, + "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerForUpdate" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Delete", + "x-ms-examples": { + "Delete a server": { + "$ref": "./examples/ServerDelete.json" + } + }, + "description": "Deletes a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Get", + "x-ms-examples": { + "Get a server": { + "$ref": "./examples/ServerGet.json" + }, + "Get a server with vnet": { + "$ref": "./examples/ServerGetWithVnet.json" + } + }, + "description": "Gets information about a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_ListByResourceGroup", + "x-ms-examples": { + "List servers in a resource group": { + "$ref": "./examples/ServersListByResourceGroup.json" + } + }, + "description": "List all the servers in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_List", + "x-ms-examples": { + "List servers in a subscription": { + "$ref": "./examples/ServersList.json" + } + }, + "description": "List all the servers in a given 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": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/restart": { + "post": { + "tags": [ + "ServerRestart" + ], + "operationId": "Servers_Restart", + "x-ms-examples": { + "Restart a server": { + "$ref": "./examples/ServerRestart.json" + } + }, + "description": "Restarts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "Start a server": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "Stop a server": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/replicas": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Replicas_ListByServer", + "x-ms-examples": { + "List replicas for a server": { + "$ref": "./examples/ReplicasListByServer.json" + } + }, + "description": "List all the replicas for a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys/{keyName}": { + "put": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a MySQL Server key": { + "$ref": "./examples/ServerKeyCreate.json" + } + }, + "description": "Creates or updates a MySQL Server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested MySQL Server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Delete", + "x-ms-examples": { + "Delete the MySQL Server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + }, + "description": "Deletes the MySQL Server key with the given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Get", + "x-ms-examples": { + "Get a server key": { + "$ref": "./examples/ServerKeyGet.json" + } + }, + "description": "Gets a server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys": { + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_ListByServer", + "x-ms-examples": { + "List the keys for a server.": { + "$ref": "./examples/ServerKeysListByServer.json" + } + }, + "description": "Gets a list of Server keys.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { + "put": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "x-ms-examples": { + "Create a firewall rule": { + "$ref": "./examples/FirewallRuleCreate.json" + } + }, + "description": "Creates a new firewall rule or updates an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The required parameters for creating or updating a firewall rule." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "x-ms-examples": { + "Delete a firewall rule": { + "$ref": "./examples/FirewallRuleDelete.json" + } + }, + "description": "Deletes a firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "x-ms-examples": { + "Get a firewall rule": { + "$ref": "./examples/FirewallRuleGet.json" + } + }, + "description": "Gets information about a server firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "List all firewall rules in a server": { + "$ref": "./examples/FirewallRulesListByServer.json" + } + }, + "description": "List all the firewall rules in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/databases/{databaseName}": { + "put": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "Create a database": { + "$ref": "./examples/DatabaseCreate.json" + } + }, + "description": "Creates a new database or updates an existing database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The required parameters for creating or updating a database." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Delete", + "x-ms-examples": { + "Delete a database": { + "$ref": "./examples/DatabaseDelete.json" + } + }, + "description": "Deletes a database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Get", + "x-ms-examples": { + "Get a database": { + "$ref": "./examples/DatabaseGet.json" + } + }, + "description": "Gets information about a database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_ListByServer", + "x-ms-examples": { + "List databases in a server": { + "$ref": "./examples/DatabasesListByServer.json" + } + }, + "description": "List all the databases in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/configurations/{configurationName}": { + "patch": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Update", + "x-ms-examples": { + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" + } + }, + "description": "Updates a configuration of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The required parameters for updating a server configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "x-ms-examples": { + "Get a configuration": { + "$ref": "./examples/ConfigurationGet.json" + } + }, + "description": "Gets information about a configuration of server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "List all configurations for a server": { + "$ref": "./examples/ConfigurationsListByServer.json" + } + }, + "description": "List all the configurations in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "LocationBasedCapabilities" + ], + "operationId": "LocationBasedCapabilities_List", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocationList.json" + } + }, + "description": "Get capabilities at specified location in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + } + ], + "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}/providers/Microsoft.DBForMySql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { + "tags": [ + "CheckVirtualNetworkSubnetUsage" + ], + "operationId": "CheckVirtualNetworkSubnetUsage_Execute", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CheckVirtualNetworkSubnetUsage.json" + } + }, + "description": "Get virtual network subnet usage for a given vNet resource id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability_Execute", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "description": "Check the availability of name for server", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if server name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBForMySql/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists all of the available REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServerVersion": { + "type": "string", + "description": "The version of a server.", + "enum": [ + "5.7" + ], + "x-ms-enum": { + "name": "ServerVersion", + "modelAsString": true + } + }, + "SslEnforcement": { + "type": "string", + "description": "Enable ssl enforcement or not when connect to server.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SslEnforcementEnum", + "modelAsString": true + } + }, + "InfrastructureEncryption": { + "type": "string", + "description": "Add a second layer of encryption for your data using new encryption algorithm which gives additional data protection. Value is optional but if passed in, must be 'Disabled' or 'Enabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionEnum", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessEnum", + "modelAsString": true + } + }, + "HaEnabled": { + "type": "string", + "description": "Whether or not HA is enabled for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HaEnabledEnum", + "modelAsString": true + } + }, + "DelegatedSubnetArguments": { + "properties": { + "subnetArmResourceId": { + "type": "string", + "description": "delegated subnet arm resource id." + } + }, + "description": "Delegated subnet arguments of a server" + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", + "properties": { + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "StorageProfile": { + "properties": { + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." + }, + "storageMB": { + "type": "integer", + "format": "int32", + "description": "Max storage allowed for a server." + }, + "storageIops": { + "type": "integer", + "format": "int32", + "description": "Storage IOPS for a server." + }, + "storageAutogrow": { + "type": "string", + "description": "Enable Storage Auto Grow.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "StorageAutogrow", + "modelAsString": true + } + } + }, + "description": "Storage Profile properties of a server" + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the sku, e.g. Standard_D32s_v3." + }, + "tier": { + "type": "string", + "description": "The tier of the particular SKU, e.g. GeneralPurpose.", + "enum": [ + "Burstable", + "GeneralPurpose", + "MemoryOptimized" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name", + "tier" + ], + "description": "Billing information related properties of a server." + }, + "ServerProperties": { + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login (required for server creation).", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "version": { + "$ref": "#/definitions/ServerVersion", + "description": "Server version." + }, + "sslEnforcement": { + "$ref": "#/definitions/SslEnforcement", + "description": "Enable ssl enforcement or not when connect to server." + }, + "infrastructureEncryption": { + "$ref": "#/definitions/InfrastructureEncryption", + "description": "Status showing whether the server enabled infrastructure encryption.", + "x-ms-mutability": [ + "create" + ] + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of a server.", + "enum": [ + "Ready", + "Dropping", + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" + ], + "x-ms-enum": { + "name": "ServerState", + "modelAsString": true + } + }, + "haState": { + "type": "string", + "readOnly": true, + "description": "The state of a HA server.", + "enum": [ + "NotEnabled", + "CreatingStandby", + "ReplicatingData", + "FailingOver", + "Healthy", + "RemovingStandby" + ], + "x-ms-enum": { + "name": "ServerHAState", + "modelAsString": true + } + }, + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." + }, + "fullyQualifiedDomainName": { + "type": "string", + "description": "The fully qualified domain name of a server.", + "readOnly": true + }, + "earliestRestoreDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Earliest restore point creation time (ISO8601 format)" + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "replicationRole": { + "type": "string", + "description": "The replication role." + }, + "replicaCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "readOnly": true, + "description": "The maximum number of replicas that a primary server can have." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "readOnly": true, + "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'" + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "sourceServerId": { + "type": "string", + "description": "The source MySQL server id.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.", + "x-ms-mutability": [ + "create" + ] + }, + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." + }, + "createMode": { + "type": "string", + "description": "The mode to create a new MySQL server.", + "enum": [ + "Default", + "PointInTimeRestore", + "Replica" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "The properties of a server." + }, + "Server": { + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity", + "description": "The Azure Active Directory identity of the server." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "x-ms-client-flatten": true, + "description": "Properties of the server." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Represents a server." + }, + "ServerPropertiesForUpdate": { + "properties": { + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login." + }, + "sslEnforcement": { + "$ref": "#/definitions/SslEnforcement", + "description": "Enable ssl enforcement or not when connect to server." + }, + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." + }, + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "replicationRole": { + "type": "string", + "description": "The replication role of the server." + } + }, + "description": "The properties that can be updated for a server." + }, + "ServerForUpdate": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerPropertiesForUpdate", + "x-ms-client-flatten": true, + "description": "The properties that can be updated for a server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "Parameters allowed to update for a server." + }, + "ServerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "description": "The list of servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of servers." + }, + "ServerKeyProperties": { + "description": "Properties for a key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'AzureKeyVault'.", + "enum": [ + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the key.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A MySQL Server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector used to protect the key.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Properties of the ServerKey Resource.", + "x-ms-client-flatten": true + } + } + }, + "ServerKeyListResult": { + "description": "A list of MySQL Server keys.", + "type": "object", + "properties": { + "value": { + "description": "A list of MySQL Server keys.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "FirewallRuleProperties": { + "properties": { + "startIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + }, + "endIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "FirewallRule": { + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "description": "Represents a server firewall rule." + }, + "FirewallRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The list of firewall rules in a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of firewall rules." + }, + "DatabaseProperties": { + "properties": { + "charset": { + "type": "string", + "description": "The charset of the database." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + } + }, + "description": "The properties of a database." + }, + "Database": { + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "x-ms-client-flatten": true, + "description": "The properties of a database." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Database." + }, + "DatabaseListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of databases housed in a server" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A List of databases." + }, + "ConfigurationProperties": { + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration." + }, + "defaultValue": { + "type": "string", + "readOnly": true, + "description": "Default value of the configuration." + }, + "dataType": { + "type": "string", + "readOnly": true, + "description": "Data type of the configuration." + }, + "allowedValues": { + "type": "string", + "readOnly": true, + "description": "Allowed values of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration." + }, + "isReadOnly": { + "type": "string", + "readOnly": true, + "description": "If is the configuration read only.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsReadOnly", + "modelAsString": true + } + }, + "isConfigPendingRestart": { + "type": "string", + "readOnly": true, + "description": "If is the configuration pending restart or not.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsConfigPendingRestart", + "modelAsString": true + } + }, + "isDynamicConfig": { + "type": "string", + "readOnly": true, + "description": "If is the configuration dynamic.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsDynamicConfig", + "modelAsString": true + } + } + }, + "description": "The properties of a configuration." + }, + "Configuration": { + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "The properties of a configuration." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Configuration." + }, + "ConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The list of server configurations." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server configurations." + }, + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "description": "A list of delegated subnet usage", + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "description": "A list of supported Vcores", + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true + } + }, + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "minStorageSize": { + "description": "The minimal supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "maxStorageSize": { + "description": "The maximum supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "minBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Minimal backup retention days", + "readOnly": true + }, + "maxBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Maximum backup retention days", + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "description": "A list of supported storage editions", + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "description": "A list of supported server versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "description": "A list of supported flexible server editions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "readOnly": true, + "description": "Operation resource provider name." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "readOnly": true, + "description": "Localized friendly name for the operation." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Operation description." + } + }, + "description": "Display metadata associated with the operation." + }, + "Operation": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation being performed on this particular object." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "The localized display information for this particular operation or action." + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The intended executor of the operation.", + "enum": [ + "NotSpecified", + "user", + "system" + ], + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false, + "description": "Additional descriptions for the operation." + } + }, + "description": "REST API operation definition." + }, + "OperationListResult": { + "description": "A list of resource provider operations.", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "NameAvailabilityRequest": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Resource name to verify." + }, + "type": { + "type": "string", + "description": "Resource type used for verification." + } + }, + "description": "Request from client to check resource name availability." + }, + "NameAvailability": { + "properties": { + "message": { + "type": "string", + "description": "Error Message." + }, + "nameAvailable": { + "type": "boolean", + "description": "Indicates whether the resource name is available." + }, + "reason": { + "type": "string", + "description": "Reason for name being unavailable." + } + }, + "description": "Represents a resource name availability." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The resource management error response." + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server firewall rule.", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the database.", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server configuration.", + "x-ms-parameter-location": "method" + }, + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, + "KeyNameParameter": { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server key.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json new file mode 100644 index 000000000000..ac537987f888 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + }, + { + "name": "GeneralPurpose", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_D2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + } + ] + } + ] + }, + { + "name": "MemoryOptimized", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_E2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..2b82b6978e3a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json deleted file mode 100644 index 89163e0da956..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowCreate.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-07-01-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", - "parameters": { - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - } - } - }, - "responses": { - "201": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - }, - "200": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - }, - "202": {} - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json deleted file mode 100644 index 02d91e35a6fc..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowDelete.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "TestGroup", - "api-version": "2020-07-01-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": {}, - "202": {}, - "204": {} - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json deleted file mode 100644 index ba086b9877e5..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowGet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-07-01-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforMySQL/flexibleServers/maintenanceWindows" - } - } - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json deleted file mode 100644 index d67701018154..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/MaintenanceWindowsListByServer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-02-14-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforMySQL/flexibleServers/maintenanceWindows" - } - ] - } - } - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json index 3adac848f697..81d22cd3151f 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json @@ -34,7 +34,7 @@ "fullyQualifiedDomainName": "testserver.mysql.database.azure.com", "version": "5.7", "replicationRole": "Replica", - "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", "replicaCapacity": 0 } }, @@ -63,7 +63,7 @@ "fullyQualifiedDomainName": "testserver1.mysql.database.azure.com", "version": "5.7", "replicationRole": "Replica", - "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", "replicaCapacity": 0 } }, @@ -92,7 +92,7 @@ "fullyQualifiedDomainName": "testserver2.mysql.database.azure.com", "version": "5.7", "replicationRole": "Replica", - "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", "replicaCapacity": 0 } } diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json index 66901e5f2c54..428b56c8f4bf 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json @@ -10,7 +10,6 @@ "administratorLogin": "cloudsa", "administratorLoginPassword": "pass$w0rd", "sslEnforcement": "Enabled", - "publicNetworkAccess": "Enabled", "storageProfile": { "storageMB": 128000, "storageIops": 200, diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json index 5fd812fe0901..bc1f9f6d98b5 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json @@ -32,7 +32,7 @@ "state": "Ready", "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", "replicationRole": "Replica", - "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", "replicaCapacity": 0 }, "location": "westus", @@ -63,7 +63,7 @@ "state": "Ready", "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", "replicationRole": "Replica", - "primaryServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", "replicaCapacity": 0 }, "location": "westus", diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json index 26101224c4d2..7cbb5a26261b 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json @@ -25,10 +25,22 @@ "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", "earliestRestoreDate": "2020-03-14T18:02:41.577+00:00", "replicationRole": "None", - "primaryServerId": "", + "sourceServerId": "", "replicaCapacity": 5, "publicNetworkAccess": "Enabled", - "standbyCount": 0 + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + } }, "location": "westus", "tags": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json index a2fc5d608772..389a8dd0ee29 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json @@ -24,14 +24,12 @@ "state": "Ready", "fullyQualifiedDomainName": "mysqltestsrv.mysql.database.azure.com", "replicationRole": "None", - "primaryServerId": "", + "sourceServerId": "", "replicaCapacity": 5, - "publicNetworkAccess": "Enabled", - "standbyCount": 0, - "vnetInjArgs": { - "delegatedSubnetName": "test-subnet", - "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437", - "delegatedVnetName": "test-vnet" + "publicNetworkAccess": "Disabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" } }, "location": "westus", diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json new file mode 100644 index 000000000000..fa91152a79d9 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..09475f2b43b8 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..18d96d5f825b --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json new file mode 100644 index 000000000000..c54140e20c4f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json index c042adec2a3d..5fc1612264ac 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json @@ -7,8 +7,7 @@ "parameters": { "properties": { "administratorLoginPassword": "newpa$$w0rd", - "sslEnforcement": "Disabled", - "publicNetworkAccess": "Disabled" + "sslEnforcement": "Disabled" } } }, @@ -27,9 +26,20 @@ }, "version": "5.7", "sslEnforcement": "Disabled", - "publicNetworkAccess": "Disabled", + "publicNetworkAccess": "Enabled", "state": "Ready", - "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com" + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": {} }, "location": "westus", "tags": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json new file mode 100644 index 000000000000..417d0843ccfb --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "maintenanceWindow": { + "customWindow": "Enabled", + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0 + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Disabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Disabled", + "haState": "NotEnabled", + "availabilityZone": "1", + "standbyAvailabilityZone": null, + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + }, + "delegatedSubnetArguments": {} + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json index 52e7d53cd3da..d7e237cea7cb 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json @@ -108,6 +108,9 @@ "x-ms-examples": { "Update a server": { "$ref": "./examples/ServerUpdate.json" + }, + "Update server customer maintenance window": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" } }, "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", @@ -496,6 +499,205 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys/{keyName}": { + "put": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a MySQL Server key": { + "$ref": "./examples/ServerKeyCreate.json" + } + }, + "description": "Creates or updates a MySQL Server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested MySQL Server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Delete", + "x-ms-examples": { + "Delete the MySQL Server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + }, + "description": "Deletes the MySQL Server key with the given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Get", + "x-ms-examples": { + "Get a server key": { + "$ref": "./examples/ServerKeyGet.json" + } + }, + "description": "Gets a server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys": { + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_ListByServer", + "x-ms-examples": { + "List the keys for a server.": { + "$ref": "./examples/ServerKeysListByServer.json" + } + }, + "description": "Gets a list of Server keys.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ @@ -1040,127 +1242,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/maintenanceWindows/{maintenanceWindowName}": { - "put": { - "tags": [ - "MaintenanceWindows" - ], - "operationId": "MaintenanceWindows_CreateOrUpdate", - "x-ms-examples": { - "Create a maintenance window": { - "$ref": "./examples/MaintenanceWindowCreate.json" - } - }, - "description": "Creates a new maintenance window.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/MaintenanceWindowNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MaintenanceWindow" - }, - "description": "The required parameters for creating or updating a customer maintenance window." - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MaintenanceWindow" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/MaintenanceWindow" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "MaintenanceWindows" - ], - "operationId": "MaintenanceWindows_Delete", - "x-ms-examples": { - "Delete a maintenance window": { - "$ref": "./examples/MaintenanceWindowDelete.json" - } - }, - "description": "Deletes a maintenance window.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/MaintenanceWindowNameParameter" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true - }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/locations/{locationName}/capabilities": { "get": { "tags": [ - "MaintenanceWindows" + "LocationBasedCapabilities" ], - "operationId": "MaintenanceWindows_Get", + "operationId": "LocationBasedCapabilities_List", "x-ms-examples": { - "Get a maintenance window": { - "$ref": "./examples/MaintenanceWindowGet.json" + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocationList.json" } }, - "description": "Get the maintenance windows of a given server.", + "description": "Get capabilities at specified location in a given subscription.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -1169,20 +1262,14 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/MaintenanceWindowNameParameter" + "$ref": "#/parameters/LocationNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MaintenanceWindow" + "$ref": "#/definitions/CapabilitiesListResult" } }, "default": { @@ -1191,21 +1278,24 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/maintenanceWindows": { - "get": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { "tags": [ - "MaintenanceWindows" + "CheckVirtualNetworkSubnetUsage" ], - "operationId": "MaintenanceWindows_ListByServer", + "operationId": "CheckVirtualNetworkSubnetUsage_Execute", "x-ms-examples": { - "List maintenance windows for a server": { - "$ref": "./examples/MaintenanceWindowsListByServer.json" + "CapabilitiesList": { + "$ref": "./examples/CheckVirtualNetworkSubnetUsage.json" } }, - "description": "List all the maintenance windows in a given server.", + "description": "Get virtual network subnet usage for a given vNet resource id.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -1214,17 +1304,23 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "#/parameters/LocationNameParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" + }, + "description": "The required parameters for creating or updating a server." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MaintenanceWindowListResult" + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" } }, "default": { @@ -1233,9 +1329,6 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, @@ -1366,22 +1459,51 @@ "modelAsString": true } }, - "VnetInjArgs": { + "HaEnabled": { + "type": "string", + "description": "Whether or not HA is enabled for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HaEnabledEnum", + "modelAsString": true + } + }, + "DelegatedSubnetArguments": { "properties": { - "delegatedVnetID": { + "subnetArmResourceId": { "type": "string", - "description": "delegated vNet ID" - }, - "delegatedSubnetName": { + "description": "delegated subnet arm resource id." + } + }, + "description": "Delegated subnet arguments of a server" + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", + "properties": { + "customWindow": { "type": "string", - "description": "delegated subnet name" + "description": "indicates whether custom window is enabled or disabled" }, - "delegatedVnetName": { - "type": "string", - "description": "delegated vNet name" + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" } - }, - "description": "Vnet properties of a server" + } }, "StorageProfile": { "properties": { @@ -1435,6 +1557,10 @@ } } }, + "required": [ + "name", + "tier" + ], "description": "Billing information related properties of a server." }, "ServerProperties": { @@ -1507,10 +1633,9 @@ "modelAsString": true } }, - "standbyCount": { - "type": "integer", - "format": "int32", - "description": "stand by count value can be either 0 or 1" + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." }, "fullyQualifiedDomainName": { "type": "string", @@ -1520,6 +1645,7 @@ "earliestRestoreDate": { "type": "string", "format": "date-time", + "readOnly": true, "description": "Earliest restore point creation time (ISO8601 format)" }, "storageProfile": { @@ -1530,26 +1656,28 @@ "type": "string", "description": "The replication role." }, - "primaryServerId": { - "type": "string", - "description": "The primary server id of a replica server.", - "readOnly": true - }, "replicaCapacity": { "type": "integer", "format": "int32", "minimum": 0, + "readOnly": true, "description": "The maximum number of replicas that a primary server can have." }, "publicNetworkAccess": { "$ref": "#/definitions/PublicNetworkAccess", + "readOnly": true, "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'" }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, "sourceServerId": { "type": "string", - "description": "The source MySQL server name to restore from.", + "description": "The source MySQL server id.", "x-ms-mutability": [ - "create" + "create", + "read" ] }, "restorePointInTime": { @@ -1560,9 +1688,23 @@ "create" ] }, - "vnetInjArgs": { - "$ref": "#/definitions/VnetInjArgs", - "description": "Vnet arguments." + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." }, "createMode": { "type": "string", @@ -1629,18 +1771,17 @@ "$ref": "#/definitions/SslEnforcement", "description": "Enable ssl enforcement or not when connect to server." }, - "vnetInjArgs": { - "$ref": "#/definitions/VnetInjArgs", - "description": "Vnet arguments." + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." }, - "standbyCount": { - "type": "integer", - "format": "int32", - "description": "stand by count value can be either 0 or 1" + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." }, - "publicNetworkAccess": { - "$ref": "#/definitions/PublicNetworkAccess", - "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'" + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." }, "replicationRole": { "type": "string", @@ -1687,6 +1828,76 @@ }, "description": "A list of servers." }, + "ServerKeyProperties": { + "description": "Properties for a key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'AzureKeyVault'.", + "enum": [ + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the key.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A MySQL Server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector used to protect the key.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Properties of the ServerKey Resource.", + "x-ms-client-flatten": true + } + } + }, + "ServerKeyListResult": { + "description": "A list of MySQL Server keys.", + "type": "object", + "properties": { + "value": { + "description": "A list of MySQL Server keys.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, "FirewallRuleProperties": { "properties": { "startIpAddress": { @@ -1890,70 +2101,206 @@ }, "description": "A list of server configurations." }, - "MaintenanceWindowProperties": { + "VirtualNetworkSubnetUsageParameter": { + "type": "object", "properties": { - "dayOfWeek": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { "type": "integer", - "format": "int32", - "description": "The day of week of the maintenance window to start" + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "description": "A list of delegated subnet usage", + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true }, - "durationInMinutes": { + "storageSizeMB": { "type": "integer", - "format": "int32", - "description": "The duration of the maintenance window to run." + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true }, - "startHour": { + "vCores": { "type": "integer", - "format": "int32", - "description": "The starting hour of the maintenance window." + "format": "int64", + "description": "supported vCores", + "readOnly": true }, - "startMinute": { + "supportedIops": { "type": "integer", - "format": "int32", - "description": "The starting minutes of the maintenance window." + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true } }, - "required": [ - "dayOfWeek", - "startHour", - "startMinute" - ], - "description": "The properties of a server maintenance window." + "description": "Vcores capability" }, - "MaintenanceWindow": { + "ServerVersionCapability": { + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/MaintenanceWindowProperties", - "x-ms-client-flatten": true, - "description": "The properties of a customer maintenance window." + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "description": "A list of supported Vcores", + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true } }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "minStorageSize": { + "description": "The minimal supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "maxStorageSize": { + "description": "The maximum supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "minBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Minimal backup retention days", + "readOnly": true + }, + "maxBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Maximum backup retention days", + "readOnly": true } - ], - "required": [ - "properties" - ], - "description": "Represents a server maintenance window." + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "description": "A list of supported storage editions", + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "description": "A list of supported server versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "description": "A list of supported flexible server editions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." }, - "MaintenanceWindowListResult": { + "CapabilitiesListResult": { "type": "object", "properties": { "value": { + "description": "A list of supported capabilities.", "type": "array", "items": { - "$ref": "#/definitions/MaintenanceWindow" + "$ref": "#/definitions/CapabilityProperties" }, - "description": "The list of server maintenance window." + "readOnly": true }, "nextLink": { - "description": "The link used to get the next page of operations.", - "type": "string" + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true } }, - "description": "A list of maintenance windows for a MySQL server." + "description": "location capability" }, "OperationDisplay": { "properties": { @@ -2107,12 +2454,20 @@ "description": "The name of the server configuration.", "x-ms-parameter-location": "method" }, - "MaintenanceWindowNameParameter": { - "name": "maintenanceWindowName", + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, + "KeyNameParameter": { + "name": "keyName", "in": "path", "required": true, "type": "string", - "description": "The name of the maintenance window.", + "description": "The name of the server key.", "x-ms-parameter-location": "method" } } diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json index ea7d518cec52..9a9febae0725 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -1531,30 +1531,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1841,6 +1817,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -1890,7 +1869,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/ServerSecurityAlertPolicies.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/ServerSecurityAlertPolicies.json deleted file mode 100644 index f06f99236f47..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/ServerSecurityAlertPolicies.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-01-01", - "title": "MySQLManagementClient", - "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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 - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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/ServerSecurityAlertsCreate.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get the server's threat detection policies.", - "operationId": "ServerSecurityAlertPolicies_ListByServer", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertsPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - }, - "systemData": { - "readOnly": true, - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" - } - } - }, - "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", - "required": true, - "type": "string", - "description": "The name of the server.", - "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/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json index 5c0084877ce5..a14a3a2e4cfb 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json @@ -101,6 +101,58 @@ }, "x-ms-long-running-operation": true } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/upgrade": { + "post": { + "tags": [ + "ServerUpgrade" + ], + "operationId": "Servers_Upgrade", + "x-ms-examples": { + "ServerUpgrade": { + "$ref": "./examples/ServerUpgrade.json" + } + }, + "description": "Upgrade server version.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerUpgradeParameters" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } } }, "definitions": { @@ -113,6 +165,20 @@ } }, "description": "An error response from the Batch service." + }, + "ServerUpgradeParameters": { + "properties": { + "properties": { + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Represents an server storage profile." + } + }, + "x-ms-client-flatten": true, + "description": "The properties that can be updated for a server." + } + } } }, "parameters": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json deleted file mode 100644 index 3c886e6a21f4..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01", - "parameters": { - "properties": { - "state": "Enabled" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMySQL/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforMySQL/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" - } - } - }, - "202": {} - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json deleted file mode 100644 index 35cb2d49f5e2..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMySQL/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforMySQL/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": "Disabled" - } - } - } - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json deleted file mode 100644 index 628dbd5cd7f0..000000000000 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMySQL/servers/securityalert-6440/securityAlertPolicies", - "name": "Default", - "type": "Microsoft.DBforMySQL/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" - } - } - ] - } - } - } -} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json new file mode 100644 index 000000000000..ae59ddbce340 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "targetServerVersion": "5.7" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/readme.az.md b/specification/mysql/resource-manager/readme.az.md new file mode 100644 index 000000000000..e4e631ded08e --- /dev/null +++ b/specification/mysql/resource-manager/readme.az.md @@ -0,0 +1,14 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: mysql + namespace: azure.mgmt.mysql + package-name: azure-mgmt-mysql +az-output-folder: $(azure-cli-extension-folder)/src/mysql +python-sdk-output-folder: "$(az-output-folder)/azext_mysql/vendored_sdks/mysql" +# add additinal configuration here specific for Azure CLI +# refer to the faq.md for more details +``` \ No newline at end of file diff --git a/specification/mysql/resource-manager/readme.azureresourceschema.md b/specification/mysql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c16bc7ae0e11 --- /dev/null +++ b/specification/mysql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,65 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbformysql-2020-01-01 + - tag: schema-dbformysql-2018-06-01 + - tag: schema-dbformysql-2017-12-01-preview + - tag: schema-dbformysql-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbformysql-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json + - Microsoft.DBforMySQL/stable/2020-01-01/Servers.json + +``` + +### Tag: schema-dbformysql-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json + - Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json + - Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json + +``` + +### Tag: schema-dbformysql-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json + +``` + +### Tag: schema-dbformysql-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json + - Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/mysql/resource-manager/readme.cli.md b/specification/mysql/resource-manager/readme.cli.md index 2144861c95e8..3b1199f24bc9 100644 --- a/specification/mysql/resource-manager/readme.cli.md +++ b/specification/mysql/resource-manager/readme.cli.md @@ -43,4 +43,5 @@ cli: - name: ServerDelete - name: ServerStart - name: ServerStop + - name: ServerUpgrade ``` \ No newline at end of file diff --git a/specification/mysql/resource-manager/readme.go.md b/specification/mysql/resource-manager/readme.go.md index 1ce4bf29f208..02c81a7eba72 100644 --- a/specification/mysql/resource-manager/readme.go.md +++ b/specification/mysql/resource-manager/readme.go.md @@ -5,7 +5,6 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) go: license-header: MICROSOFT_APACHE_NO_VERSION - namespace: mysql clear-output-folder: true ``` @@ -13,17 +12,30 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-07-01-preview - tag: package-2020-01-01 - tag: package-2017-12-01-preview - tag: package-2017-12-01 ``` +### 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-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(go) +rpname: mysql +namespace: mysqlflexibleservers +output-folder: $(go-sdk-folder)/services/preview/$(rpname)/mgmt/2020-07-01-preview/$(namespace) +``` + ### Tag: package-2020-01-01 and go These settings apply only when `--tag=package-2020-01-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-01-01' && $(go) +namespace: mysql output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace) ``` @@ -33,6 +45,7 @@ These settings apply only when `--tag=package-2017-12-01-preview --go` is specif Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2017-12-01-preview' && $(go) +namespace: mysql output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-12-01-preview/$(namespace) ``` @@ -42,5 +55,6 @@ These settings apply only when `--tag=package-2017-12-01 --go` is specified on t Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2017-12-01' && $(go) +namespace: mysql output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2017-12-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md index 9c165bd91bba..1b824b2c8548 100644 --- a/specification/mysql/resource-manager/readme.md +++ b/specification/mysql/resource-manager/readme.md @@ -96,12 +96,12 @@ These settings apply only when `--tag=package-2020-01-01` is specified on the co ``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +- Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json - Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json - Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json - Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json -- Microsoft.DBforMySQL/stable/2020-01-01/ServerSecurityAlertPolicies.json - Microsoft.DBforMySQL/stable/2020-01-01/Servers.json ``` @@ -114,6 +114,15 @@ input-file: - Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json ``` +### Tag: package-2020-07-01-preview + +These settings apply only when `--tag=package-2020-07-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-preview' +input-file: +- Microsoft.DBforMySQL/preview/2020-07-01-preview/mysql.json +``` + ## Suppression ``` yaml directive: @@ -145,6 +154,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mysql/resource-manager ``` @@ -158,37 +170,13 @@ csharp: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.Management.MySQL - output-folder: $(csharp-sdks-folder)/mysql/Microsoft.Azure.Management.MySQL/src/Generated + output-folder: $(csharp-sdks-folder)/mysql/Microsoft.Azure.Management.MySQL/src/mysql/Generated clear-output-folder: true ``` - ## 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) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.rdbms.mysql - package-name: azure-mgmt-rdbms - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms -``` +See configuration in [readme.python.md](./readme.python.md) ## Go @@ -198,39 +186,7 @@ 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 +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.DBforMySQL/preview/2017-12-01-preview/mysql.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json - - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json - - $(this-folder)/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2020-01-01/ServerSecurityAlertPolicies.json - - $(this-folder)/Microsoft.DBforMySQL/stable/2020-01-01/Servers.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/mysql/resource-manager/readme.python.md b/specification/mysql/resource-manager/readme.python.md new file mode 100644 index 000000000000..9b7067fa7b86 --- /dev/null +++ b/specification/mysql/resource-manager/readme.python.md @@ -0,0 +1,67 @@ +## 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 !$(track2) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + package-name: azure-mgmt-rdbms + clear-output-folder: true + no-namespace-folders: true +``` + +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-rdbms +no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml !$(track2) +batch: + - tag: package-2020-01-01 + - tag: package-2020-07-01-preview +``` + +```yaml $(track2) +clear-output-folder: true +batch: + - tag: package-2020-01-01 + - tag: package-2020-07-01-preview +``` + +### Tag: package-2020-01-01 and python + +These settings apply only when `--tag=package-2020-01-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-01-01' && $(python) +namespace: azure.mgmt.rdbms.mysql +output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql +python: + namespace: azure.mgmt.rdbms.mysql + output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql +``` + +### 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. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(python) +namespace: azure.mgmt.rdbms.mysql_flexibleservers +output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql_flexibleservers +python: + namespace: azure.mgmt.rdbms.mysql_flexibleservers + output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql_flexibleservers +``` \ No newline at end of file diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json index a3a8d6aa40a1..e71fd281e583 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json @@ -1998,7 +1998,7 @@ "title": "replicationSchedule", "type": "string", "description": "Schedule", - "example": "10minutely, hourly, daily, weekly, monthly" + "example": "10minutely, hourly, daily" }, "remoteVolumeResourceId": { "title": "remoteVolumeResourceId", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json index 6a0529befb33..57334c79c13a 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json @@ -2241,9 +2241,7 @@ "enum": [ "_10minutely", "hourly", - "daily", - "weekly", - "monthly" + "daily" ], "x-ms-enum": { "name": "ReplicationSchedule", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json index d5e2a155ee23..5c54e45f30f8 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json @@ -2272,9 +2272,7 @@ "enum": [ "_10minutely", "hourly", - "daily", - "weekly", - "monthly" + "daily" ], "x-ms-enum": { "name": "ReplicationSchedule", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json index 91a6ba8ba2ad..91bd33676782 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json @@ -1906,7 +1906,7 @@ "Ultra" ], "x-ms-enum": { - "name": "ServiceLevel", + "name": "PoolServiceLevel", "modelAsString": true, "values": [ { @@ -1991,7 +1991,7 @@ "Ultra" ], "x-ms-enum": { - "name": "ServiceLevel", + "name": "PatchServiceLevel", "modelAsString": true, "values": [ { @@ -2114,7 +2114,7 @@ "Ultra" ], "x-ms-enum": { - "name": "ServiceLevel", + "name": "VolumeServiceLevel", "modelAsString": true, "values": [ { @@ -2301,9 +2301,7 @@ "enum": [ "_10minutely", "hourly", - "daily", - "weekly", - "monthly" + "daily" ], "x-ms-enum": { "name": "ReplicationSchedule", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..65750af77fd9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..d3ed922d7abe --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-03-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..fc3ad657110a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_List.json new file mode 100644 index 000000000000..1372ddea5371 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..3425567d9702 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-03-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..dfb2fe1bdb44 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-03-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..f90726b03ed6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-03-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..11f8b0d4f6f0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..6b576a1e9041 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-03-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Get.json new file mode 100644 index 000000000000..dd356116356b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_List.json new file mode 100644 index 000000000000..d205131151e3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Update.json new file mode 100644 index 000000000000..4e1548ccde9d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Pools_Update.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-03-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..065697aabeb0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-03-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..8b92e2c7729e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-03-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..dbb0546ddd94 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..925b7d0ee759 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..a024ae1332e3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-03-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..81f39323b64d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..f3c0d9297ee2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..1ca0f55adb33 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..28ba77ea3065 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..f3c0d9297ee2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..a4fbb40951f2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_List.json new file mode 100644 index 000000000000..073f568a4839 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..f6daa33d4f98 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..f3c0d9297ee2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..e42678bb908d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..9d563fb4c690 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/examples/Volumes_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-03-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json new file mode 100644 index 000000000000..8836d436d991 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-03-01/netapp.json @@ -0,0 +1,2771 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-03-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "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.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceNameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceNameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp 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 NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "ResourceNameAvailability": { + "description": "Information regarding availability of a resource name.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "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 resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "PatchServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily", + "weekly", + "monthly" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "subnet": { + "title": "subnet", + "type": "string", + "description": "The subnet", + "example": "1.2.3.4" + }, + "startIp": { + "title": "startIp", + "description": "The start of IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "endIp": { + "title": "endIp", + "description": "The end of IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "gateway": { + "title": "gateway", + "description": "The gateway of the IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "netmask": { + "title": "netmask", + "description": "The netmask of the IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "255.255.255.0" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-03-01" + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..aba4960cdd29 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..d9604fb9072d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..28b862df740f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering" + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_List.json new file mode 100644 index 000000000000..7d127ac8075c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..789d8913e603 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..90de6514aefc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..598b534709d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..da4828b8dec9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..232808ad6322 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..0258711a70a1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/BackupPolicies_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 0, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Delete.json new file mode 100644 index 000000000000..63c3337ab97f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Get.json new file mode 100644 index 000000000000..a1c6de3d81fd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_List.json new file mode 100644 index 000000000000..ccec522d23f3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Account_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Create.json new file mode 100644 index 000000000000..5f2fbb5fe05b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Create.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "label": "myLabel" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Delete.json new file mode 100644 index 000000000000..cdfdd661cac9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "poolName": "poolName", + "volumeName": "volumeName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Get.json new file mode 100644 index 000000000000..08946493d505 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_List.json new file mode 100644 index 000000000000..b3a2651411a9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Update.json new file mode 100644 index 000000000000..adc5a8cfccf5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Backups_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..cb880e3f0498 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..6e145ad82a8d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..8de7c440d298 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..0b72016b8c3b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..0f0193626f44 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Get.json new file mode 100644 index 000000000000..ec675c2aaaa3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_List.json new file mode 100644 index 000000000000..33bc564cb9c0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Update.json new file mode 100644 index 000000000000..0568e91433ef --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Pools_Update.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..ebaa1c23a15b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..86283d16571e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..904de0ced731 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..d536acf47c95 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..643c3020706e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..7df4bc2adcb9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..ddb759222d07 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..582444cb35b4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..87d49c41a4dd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..eb38145e0ce7 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..9af1e3a78dbb --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Vaults_List.json new file mode 100644 index 000000000000..52b58165235d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Vaults_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1", + "name": "account1/vault1", + "type": "Microsoft.NetApp/netAppAccounts/vaults", + "location": "eastus", + "properties": { + "vaultName": "east US" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..283ff746cbe5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..53151656cb63 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..b6d9873bc2cd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..7ae07cec38d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..b5f28d1847b5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_List.json new file mode 100644 index 000000000000..67200391da0d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..d7e211df1707 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_PoolChange.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..d117dd6b20a6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..285bcc71128f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..3d0cdd1f7202 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/examples/Volumes_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json new file mode 100644 index 000000000000..85f72bb38178 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-05-01/netapp.json @@ -0,0 +1,4656 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-05-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "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.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Get", + "description": "Get a snapshot Policy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Create", + "description": "Create a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Delete", + "description": "Delete snapshot policy", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/listVolumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes associated with snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups for a Netapp Account", + "description": "List all Backups for a Netapp Account", + "operationId": "AccountBackups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_List": { + "$ref": "examples/Backups_Account_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get Backup for a Netapp Account", + "description": "Get Backup for a Netapp Account", + "operationId": "AccountBackups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_Get": { + "$ref": "examples/Backups_Account_Get.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete Backup for a Netapp Account", + "description": "Delete Backup for a Netapp Account", + "operationId": "AccountBackups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AccountBackups_Delete": { + "$ref": "examples/Backups_Account_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups", + "description": "List all backups for a volume", + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/Backups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get a backup", + "description": "Get a particular backup of the volume", + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/Backups_Get.json" + } + } + }, + "put": { + "tags": [ + "Backups" + ], + "summary": "Create a backup", + "description": "Create a backup for the volume", + "operationId": "Backups_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backup" + } + } + ], + "responses": { + "200": { + "description": "OK created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Create": { + "$ref": "examples/Backups_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backups" + ], + "summary": "Patch a backup", + "description": "Patch a backup for the volume", + "operationId": "Backups_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/backupPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Update": { + "$ref": "examples/Backups_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete backup", + "description": "Delete a backup of the volume", + "operationId": "Backups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/Backups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "BackupPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "BackupPolicies_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "BackupPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "BackupPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "summary": "List vaults", + "description": "List vaults for a Netapp Account", + "operationId": "Vaults_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/vaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Vaults_List": { + "$ref": "examples/Vaults_List.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp 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 NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "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 resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "x-ms-secret": true, + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "PatchServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Backup.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + } + } + }, + "volumeBackupProperties": { + "description": "Volume Backup Properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "type": "boolean", + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + }, + "backupEnabled": { + "type": "boolean", + "description": "Backup Enabled" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Snapshot policy name" + }, + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "$ref": "#/definitions/hourlySchedule" + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "$ref": "#/definitions/dailySchedule" + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "$ref": "#/definitions/weeklySchedule" + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "$ref": "#/definitions/monthlySchedule" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "type": "object", + "readOnly": true, + "description": "Associated volume resource Id" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupsList": { + "description": "List of Backups", + "type": "object", + "properties": { + "value": { + "description": "A list of Backups", + "type": "array", + "items": { + "$ref": "#/definitions/backup" + } + } + } + }, + "backup": { + "description": "Backup of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPatch": { + "description": "Backup patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupProperties": { + "description": "Backup properties", + "type": "object", + "properties": { + "creationDate": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the backup", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "size": { + "type": "integer", + "readOnly": true, + "description": "Size of backup", + "format": "int64" + }, + "label": { + "type": "string", + "description": "Label for backup" + }, + "backupType": { + "type": "string", + "readOnly": true, + "description": "Type of backup adhoc or scheduled" + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of backup policy" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "yearlyBackupsToKeep": { + "type": "integer", + "description": "Yearly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + } + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyDetails": { + "description": "Backup policy properties", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "vaultList": { + "description": "List of Vaults", + "type": "object", + "properties": { + "value": { + "description": "A list of vaults", + "type": "array", + "items": { + "$ref": "#/definitions/vault" + } + } + } + }, + "vault": { + "description": "Vault information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Vault Properties", + "$ref": "#/definitions/vaultProperties", + "x-ms-client-flatten": true + } + } + }, + "vaultProperties": { + "description": "Vault properties", + "type": "object", + "properties": { + "vaultName": { + "type": "string", + "readOnly": false, + "description": "Vault Name" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy target", + "x-ms-parameter-location": "method" + }, + "BackupName": { + "name": "backupName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the backup", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-05-01" + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..aba4960cdd29 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..d9604fb9072d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..e234d1126a61 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering", + "statusDetails": "Status Details" + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json new file mode 100644 index 000000000000..7d127ac8075c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..789d8913e603 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..90de6514aefc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..598b534709d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..da4828b8dec9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..232808ad6322 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..0258711a70a1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 0, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json new file mode 100644 index 000000000000..63c3337ab97f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json new file mode 100644 index 000000000000..a1c6de3d81fd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json new file mode 100644 index 000000000000..ccec522d23f3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json new file mode 100644 index 000000000000..5f2fbb5fe05b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "label": "myLabel" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json new file mode 100644 index 000000000000..cdfdd661cac9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "poolName": "poolName", + "volumeName": "volumeName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json new file mode 100644 index 000000000000..08946493d505 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json new file mode 100644 index 000000000000..b3a2651411a9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json new file mode 100644 index 000000000000..adc5a8cfccf5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..cb880e3f0498 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..6e145ad82a8d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..8de7c440d298 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..0e461cdc649c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium", + "qosType": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..0f0193626f44 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json new file mode 100644 index 000000000000..1ecee24e676c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json new file mode 100644 index 000000000000..f866a365b251 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json new file mode 100644 index 000000000000..364c3d3faa64 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..ebaa1c23a15b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..86283d16571e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..904de0ced731 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..d536acf47c95 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..643c3020706e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..7df4bc2adcb9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..ddb759222d07 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..582444cb35b4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..87d49c41a4dd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..eb38145e0ce7 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..9af1e3a78dbb --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json new file mode 100644 index 000000000000..52b58165235d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1", + "name": "account1/vault1", + "type": "Microsoft.NetApp/netAppAccounts/vaults", + "location": "eastus", + "properties": { + "vaultName": "east US" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..283ff746cbe5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..53151656cb63 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..6d579b547d3f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "throughputMibps": 128 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..7ae07cec38d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..03bd60e14b64 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json new file mode 100644 index 000000000000..9e9a73f3859b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..d7e211df1707 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..d117dd6b20a6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..285bcc71128f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..fc735427bbf8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json new file mode 100644 index 000000000000..ba1124809de5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json @@ -0,0 +1,4772 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-06-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "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.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Get", + "description": "Get a snapshot Policy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Create", + "description": "Create a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Delete", + "description": "Delete snapshot policy", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/listVolumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes associated with snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups for a Netapp Account", + "description": "List all Backups for a Netapp Account", + "operationId": "AccountBackups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_List": { + "$ref": "examples/Backups_Account_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get Backup for a Netapp Account", + "description": "Get Backup for a Netapp Account", + "operationId": "AccountBackups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_Get": { + "$ref": "examples/Backups_Account_Get.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete Backup for a Netapp Account", + "description": "Delete Backup for a Netapp Account", + "operationId": "AccountBackups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AccountBackups_Delete": { + "$ref": "examples/Backups_Account_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups", + "description": "List all backups for a volume", + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/Backups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get a backup", + "description": "Get a particular backup of the volume", + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/Backups_Get.json" + } + } + }, + "put": { + "tags": [ + "Backups" + ], + "summary": "Create a backup", + "description": "Create a backup for the volume", + "operationId": "Backups_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backup" + } + } + ], + "responses": { + "200": { + "description": "OK created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Create": { + "$ref": "examples/Backups_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backups" + ], + "summary": "Patch a backup", + "description": "Patch a backup for the volume", + "operationId": "Backups_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/backupPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Update": { + "$ref": "examples/Backups_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete backup", + "description": "Delete a backup of the volume", + "operationId": "Backups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/Backups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "BackupPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "BackupPolicies_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "BackupPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "BackupPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "summary": "List vaults", + "description": "List vaults for a Netapp Account", + "operationId": "Vaults_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/vaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Vaults_List": { + "$ref": "examples/Vaults_List.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp 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 NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "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 resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "x-ms-secret": true, + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "ActiveDirectoryStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Active Directory created but not in use" + }, + { + "value": "InUse", + "description": "Active Directory in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "Active Directory Deleted" + }, + { + "value": "Error", + "description": "Error with the Active Directory" + }, + { + "value": "Updating", + "description": "Active Directory Updating" + } + ] + } + }, + "statusDetails": { + "type": "string", + "description": "Any details in regards to the Status of the Active Directory", + "readOnly": true + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + }, + "serverRootCACertificate": { + "type": "string", + "maxLength": 10240, + "minLength": 1, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.", + "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "totalThroughputMibps": { + "type": "number", + "description": "Total throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "utilizedThroughputMibps": { + "type": "number", + "description": "Utilized throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Backup.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "securityStyle": { + "type": "string", + "description": "The security style of volume", + "enum": [ + "ntfs", + "unix" + ], + "x-ms-enum": { + "name": "SecurityStyle", + "modelAsString": true + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + } + } + }, + "volumeBackupProperties": { + "description": "Volume Backup Properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "type": "boolean", + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + }, + "backupEnabled": { + "type": "boolean", + "description": "Backup Enabled" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Snapshot policy name" + }, + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "$ref": "#/definitions/hourlySchedule" + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "$ref": "#/definitions/dailySchedule" + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "$ref": "#/definitions/weeklySchedule" + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "$ref": "#/definitions/monthlySchedule" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "type": "object", + "readOnly": true, + "description": "Associated volume resource Id" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupsList": { + "description": "List of Backups", + "type": "object", + "properties": { + "value": { + "description": "A list of Backups", + "type": "array", + "items": { + "$ref": "#/definitions/backup" + } + } + } + }, + "backup": { + "description": "Backup of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPatch": { + "description": "Backup patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupProperties": { + "description": "Backup properties", + "type": "object", + "properties": { + "backupId": { + "title": "backupId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Backup", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "creationDate": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the backup", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "size": { + "type": "integer", + "readOnly": true, + "description": "Size of backup", + "format": "int64" + }, + "label": { + "type": "string", + "description": "Label for backup" + }, + "backupType": { + "type": "string", + "readOnly": true, + "description": "Type of backup adhoc or scheduled" + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of backup policy" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "yearlyBackupsToKeep": { + "type": "integer", + "description": "Yearly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + } + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyDetails": { + "description": "Backup policy properties", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "vaultList": { + "description": "List of Vaults", + "type": "object", + "properties": { + "value": { + "description": "A list of vaults", + "type": "array", + "items": { + "$ref": "#/definitions/vault" + } + } + } + }, + "vault": { + "description": "Vault information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Vault Properties", + "$ref": "#/definitions/vaultProperties", + "x-ms-client-flatten": true + } + } + }, + "vaultProperties": { + "description": "Vault properties", + "type": "object", + "properties": { + "vaultName": { + "type": "string", + "readOnly": false, + "description": "Vault Name" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy target", + "x-ms-parameter-location": "method" + }, + "BackupName": { + "name": "backupName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the backup", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-06-01" + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..8ab6f15abfd8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering", + "aesEncryption": true, + "ldapSigning": false + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..46ebb2a9fa02 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..9dd366d4f0db --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "password": "****************", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering", + "statusDetails": "Status Details", + "aesEncryption": true, + "ldapSigning": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_List.json new file mode 100644 index 000000000000..65d3123cde84 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..dab4940dc786 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..26494faa0055 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-07-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..30f7901d9a6f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..37d9ed7be02e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..580a578f324b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..1aa5aa449955 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/BackupPolicies_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-07-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 0, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Delete.json new file mode 100644 index 000000000000..e0db24d96c3c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupName": "backupName", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Get.json new file mode 100644 index 000000000000..bd4a0ae81d1a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupName": "backup1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_List.json new file mode 100644 index 000000000000..350fdb5cbe21 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Account_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Create.json new file mode 100644 index 000000000000..79ebda912e3d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Create.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "label": "myLabel" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Delete.json new file mode 100644 index 000000000000..7c72de17fb06 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "poolName": "poolName", + "volumeName": "volumeName", + "backupName": "backupName", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Get.json new file mode 100644 index 000000000000..73d6e3b5793c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_List.json new file mode 100644 index 000000000000..715084e053f5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Update.json new file mode 100644 index 000000000000..d8eb8c1701a3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Backups_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..a64beb2fb14e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-07-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..ada44af04be2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-07-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..18bb30338cc5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-07-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..df4f0db01352 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium", + "qosType": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..6f5570783402 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Get.json new file mode 100644 index 000000000000..ce0bf1b111ab --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_List.json new file mode 100644 index 000000000000..ef6111ad37ed --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Update.json new file mode 100644 index 000000000000..a830254d3831 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Pools_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..2deb179e6823 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..129587be3f2f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..b3b124f91a1c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..b72951f45bb3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..554ff92c4a4c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..960d2e0c8fb3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "name": "sdk-net-tests-snapshotPolicy-1", + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..61dce860e7dc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-07-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..25ef8abc8a81 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..3e2d9a4a613e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..15c333a1e07a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..9f6e9b52fc6b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Vaults_List.json new file mode 100644 index 000000000000..626baa820efe --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Vaults_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1", + "name": "account1/vault1", + "type": "Microsoft.NetApp/netAppAccounts/vaults", + "location": "eastus", + "properties": { + "vaultName": "east US" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..7ab437c49d4f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..41063e18e1b4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..6d9a5fb096d7 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "throughputMibps": 128.0 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128.0, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128.0, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..7bfa9748ebf4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..0f375e24142b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..97524115fbd8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128.0, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_List.json new file mode 100644 index 000000000000..307f96de4634 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128.0, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..3cde97294056 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_PoolChange.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..0f375e24142b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..9f4d8f6b3d9a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..0f375e24142b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..70bdff55b81f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..b48d51ea2cb6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/examples/Volumes_Update.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-07-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128.0, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json new file mode 100644 index 000000000000..8db29d7474b3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-07-01/netapp.json @@ -0,0 +1,4796 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-07-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "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.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Get", + "description": "Get a snapshot Policy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Create", + "description": "Create a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Delete", + "description": "Delete snapshot policy", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/listVolumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes associated with snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups for a Netapp Account", + "description": "List all Backups for a Netapp Account", + "operationId": "AccountBackups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_List": { + "$ref": "examples/Backups_Account_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get Backup for a Netapp Account", + "description": "Get Backup for a Netapp Account", + "operationId": "AccountBackups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_Get": { + "$ref": "examples/Backups_Account_Get.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete Backup for a Netapp Account", + "description": "Delete Backup for a Netapp Account", + "operationId": "AccountBackups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AccountBackups_Delete": { + "$ref": "examples/Backups_Account_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups", + "description": "List all backups for a volume", + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/Backups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get a backup", + "description": "Get a particular backup of the volume", + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/Backups_Get.json" + } + } + }, + "put": { + "tags": [ + "Backups" + ], + "summary": "Create a backup", + "description": "Create a backup for the volume", + "operationId": "Backups_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backup" + } + } + ], + "responses": { + "200": { + "description": "OK created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Create": { + "$ref": "examples/Backups_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backups" + ], + "summary": "Patch a backup", + "description": "Patch a backup for the volume", + "operationId": "Backups_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/backupPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Update": { + "$ref": "examples/Backups_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete backup", + "description": "Delete a backup of the volume", + "operationId": "Backups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/Backups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "BackupPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "BackupPolicies_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "BackupPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "BackupPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "summary": "List vaults", + "description": "List vaults for a Netapp Account", + "operationId": "Vaults_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/vaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Vaults_List": { + "$ref": "examples/Vaults_List.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp 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 NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "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 resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "ActiveDirectoryStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Active Directory created but not in use" + }, + { + "value": "InUse", + "description": "Active Directory in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "Active Directory Deleted" + }, + { + "value": "Error", + "description": "Error with the Active Directory" + }, + { + "value": "Updating", + "description": "Active Directory Updating" + } + ] + } + }, + "statusDetails": { + "type": "string", + "description": "Any details in regards to the Status of the Active Directory", + "readOnly": true + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + }, + "serverRootCACertificate": { + "type": "string", + "maxLength": 10240, + "minLength": 1, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.", + "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + }, + "aesEncryption": { + "type": "boolean", + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "ldapSigning": { + "type": "boolean", + "description": "Specifies whether or not the LDAP traffic needs to be signed." + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "totalThroughputMibps": { + "type": "number", + "description": "Total throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "utilizedThroughputMibps": { + "type": "number", + "description": "Utilized throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Backup.", + "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}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "securityStyle": { + "type": "string", + "description": "The security style of volume", + "enum": [ + "ntfs", + "unix" + ], + "x-ms-enum": { + "name": "SecurityStyle", + "modelAsString": true + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + } + } + }, + "volumeBackupProperties": { + "description": "Volume Backup Properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "type": "boolean", + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + }, + "backupEnabled": { + "type": "boolean", + "description": "Backup Enabled" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Snapshot policy name" + }, + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "$ref": "#/definitions/hourlySchedule" + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "$ref": "#/definitions/dailySchedule" + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "$ref": "#/definitions/weeklySchedule" + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "$ref": "#/definitions/monthlySchedule" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "type": "object", + "readOnly": true, + "description": "Associated volume resource Id" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupsList": { + "description": "List of Backups", + "type": "object", + "properties": { + "value": { + "description": "A list of Backups", + "type": "array", + "items": { + "$ref": "#/definitions/backup" + } + } + } + }, + "backup": { + "description": "Backup of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPatch": { + "description": "Backup patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupProperties": { + "description": "Backup properties", + "type": "object", + "properties": { + "backupId": { + "title": "backupId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Backup", + "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}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "creationDate": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the backup", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "size": { + "type": "integer", + "readOnly": true, + "description": "Size of backup", + "format": "int64" + }, + "label": { + "type": "string", + "description": "Label for backup" + }, + "backupType": { + "type": "string", + "readOnly": true, + "description": "Type of backup adhoc or scheduled" + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of backup policy" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "yearlyBackupsToKeep": { + "type": "integer", + "description": "Yearly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + } + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyDetails": { + "description": "Backup policy properties", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "vaultList": { + "description": "List of Vaults", + "type": "object", + "properties": { + "value": { + "description": "A list of vaults", + "type": "array", + "items": { + "$ref": "#/definitions/vault" + } + } + } + }, + "vault": { + "description": "Vault information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Vault Properties", + "$ref": "#/definitions/vaultProperties", + "x-ms-client-flatten": true + } + } + }, + "vaultProperties": { + "description": "Vault properties", + "type": "object", + "properties": { + "vaultName": { + "type": "string", + "readOnly": false, + "description": "Vault Name" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy target", + "x-ms-parameter-location": "method" + }, + "BackupName": { + "name": "backupName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the backup", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-07-01" + } + } +} diff --git a/specification/netapp/resource-manager/readme.azureresourceschema.md b/specification/netapp/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c7d6389bac95 --- /dev/null +++ b/specification/netapp/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-netapp-2020-06-01 + - tag: schema-netapp-2020-02-01 + - tag: schema-netapp-2019-11-01 + - tag: schema-netapp-2019-10-01 + - tag: schema-netapp-2019-08-01 + - tag: schema-netapp-2019-07-01 + - tag: schema-netapp-2019-06-01 + - tag: schema-netapp-2019-05-01 + - tag: schema-netapp-2017-08-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-netapp-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2020-06-01/netapp.json + +``` + +### Tag: schema-netapp-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2020-02-01/netapp.json + +``` + +### Tag: schema-netapp-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-11-01/netapp.json + +``` + +### Tag: schema-netapp-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-10-01/netapp.json + +``` + +### Tag: schema-netapp-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-08-01/netapp.json + +``` + +### Tag: schema-netapp-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-07-01/netapp.json + +``` + +### Tag: schema-netapp-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-06-01/netapp.json + +``` + +### Tag: schema-netapp-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-05-01/netapp.json + +``` + +### Tag: schema-netapp-2017-08-15 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2017-08-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/preview/2017-08-15/netapp.json + +``` diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md index 5aff5119c44b..06d8c8a097c7 100644 --- a/specification/netapp/resource-manager/readme.go.md +++ b/specification/netapp/resource-manager/readme.go.md @@ -13,6 +13,10 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-netapp-2020-07-01 + - tag: package-netapp-2020-06-01 + - tag: package-netapp-2020-05-01 + - tag: package-netapp-2020-03-01 - tag: package-netapp-2020-02-01 - tag: package-netapp-2019-11-01 - tag: package-netapp-2019-10-01 @@ -22,6 +26,40 @@ batch: - tag: package-netapp-2019-05-01 - tag: package-2017-08-15 ``` +### Tag: package-netapp-2020-07-01 and go + +These settings apply only when `--tag=package-netapp-2020-07-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-07-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +``` +### Tag: package-netapp-2020-06-01 and go + +These settings apply only when `--tag=package-netapp-2020-06-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-06-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + +### Tag: package-netapp-2020-05-01 and go + +These settings apply only when `--tag=package-netapp-2020-05-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-05-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) +``` + +### Tag: package-netapp-2020-03-01 and go + +These settings apply only when `--tag=package-netapp-2020-03-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-03-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-01/$(namespace) +``` ### Tag: package-netapp-2020-02-01 and go These settings apply only when `--tag=package-netapp-2020-02-01 --go` is specified on the command line. @@ -31,6 +69,7 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-07-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_07_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-netapp-2020-06-01 and java + +These settings apply only when `--tag=package-netapp-2020-06-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-06-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-netapp-2020-05-01 and java + +These settings apply only when `--tag=package-netapp-2020-05-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-05-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-netapp-2020-03-01 and java + +These settings apply only when `--tag=package-netapp-2020-03-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-03-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_03_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_03_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-netapp-2020-02-01 and java These settings apply only when `--tag=package-netapp-2020-02-01 --java` is specified on the command line. diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md index 4a4404c61528..d669c3b2597a 100644 --- a/specification/netapp/resource-manager/readme.md +++ b/specification/netapp/resource-manager/readme.md @@ -28,7 +28,43 @@ These are the global settings for the Azure NetApp Files API. title: NetAppManagementClient description: Microsoft NetApp Azure Resource Provider specification openapi-type: arm -tag: package-netapp-2020-02-01 +tag: package-netapp-2020-07-01 +``` + +### Tag: package-netapp-2020-07-01 + +These settings apply only when `--tag=package-netapp-2020-07-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-07-01' +input-file: +- Microsoft.NetApp/stable/2020-07-01/netapp.json +``` + +### Tag: package-netapp-2020-06-01 + +These settings apply only when `--tag=package-netapp-2020-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-06-01' +input-file: +- Microsoft.NetApp/stable/2020-06-01/netapp.json +``` + +### Tag: package-netapp-2020-05-01 + +These settings apply only when `--tag=package-netapp-2020-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-05-01' +input-file: +- Microsoft.NetApp/stable/2020-05-01/netapp.json +``` + +### Tag: package-netapp-2020-03-01 + +These settings apply only when `--tag=package-netapp-2020-03-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-03-01' +input-file: +- Microsoft.NetApp/stable/2020-03-01/netapp.json ``` ### Tag: package-netapp-2020-02-01 @@ -121,6 +157,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-java - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js netapp/resource-manager ``` @@ -144,28 +183,10 @@ 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. +## AzureResourceSchema -This block is updated by an automatic script. Edits may be lost! +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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.NetApp/stable/2020-02-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-11-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-10-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-08-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-07-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-06-01/netapp.json - - $(this-folder)/Microsoft.NetApp/stable/2019-05-01/netapp.json - - $(this-folder)/Microsoft.NetApp/preview/2017-08-15/netapp.json - -``` ## trenton These settings apply only when `--trenton` is specified on the command line. @@ -181,11 +202,3 @@ trenton: clear_output_folder: false ``` -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/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json new file mode 100644 index 000000000000..9b46fd4c2ff6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet" + }, + "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", + "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/vnet/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..32158faaedfd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListAllPolicies.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2020-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": 128, + "fileUploadLimitInMb": 750, + "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.0" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..0faa1a7f616f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-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": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "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/2020-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..63ec90cd9645 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "location": "WestUs", + "properties": { + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "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": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "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": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "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/2020-05-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..c887714443bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..50555ffcb9ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2020-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": 128, + "fileUploadLimitInMb": 750, + "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.0", + "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" + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json index 783bab0768f8..61e1f2cdf1cb 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json @@ -1232,6 +1232,53 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/bastionHosts": { + "get": { + "operationId": "VirtualNetworks_GetBastionHosts", + "description": "Get a list of bastion hosts accessible from the given 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": "List of bastion hosts accessible that can connect to resources in the given virtual network", + "schema": { + "$ref": "./bastionHost.json#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check IP address availability": { + "$ref": "./examples/VirtualNetworkGetBastionHosts.json" + } + } + } } }, "definitions": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json new file mode 100644 index 000000000000..111927abcdca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json @@ -0,0 +1,743 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-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", + "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." + } + } + }, + "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": { + "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": { + "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 + } + } + } + }, + "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" + ], + "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." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json index 4c4763daf114..fe1cc02b707c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json @@ -84,35 +84,6 @@ "type": "Microsoft.Network/natGateways" } }, - "202": { - "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/2020-06-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json index 143834ed788d..4d2810262e1b 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json @@ -1524,20 +1524,20 @@ }, "BackendAddressPoolPropertiesFormat": { "properties": { - "backendIPConfigurations": { - "readOnly": true, + "loadBalancerBackendAddresses": { "type": "array", "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "#/definitions/LoadBalancerBackendAddress" }, - "description": "An array of references to IP addresses defined in network interfaces." + "description": "An array of backend addresses." }, - "loadBalancerBackendAddresses": { + "backendIPConfigurations": { + "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/LoadBalancerBackendAddress" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" }, - "description": "An array of backend addresses." + "description": "An array of references to IP addresses defined in network interfaces." }, "loadBalancingRules": { "readOnly": true, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json index 76240b24ca24..d2ad3c4d7d54 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json @@ -196,10 +196,7 @@ } }, "202": { - "description": "Accepted and the operation will complete asynchronously.", - "schema": { - "$ref": "#/definitions/NatGateway" - } + "description": "Accepted and the operation will complete asynchronously." }, "default": { "description": "Error response describing why the operation failed.", diff --git a/specification/network/resource-manager/readme.azureresourceschema.md b/specification/network/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6664e4a46a7b --- /dev/null +++ b/specification/network/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,1299 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2020-06-01 + - tag: schema-network-2020-05-01 + - tag: schema-network-2020-04-01 + - tag: schema-network-2020-03-01 + - tag: schema-network-2019-12-01 + - tag: schema-network-2019-11-01 + - tag: schema-network-2019-09-01 + - tag: schema-network-2019-08-01 + - tag: schema-network-2019-07-01 + - tag: schema-network-2019-06-01 + - tag: schema-network-2019-04-01 + - tag: schema-network-2019-02-01 + - tag: schema-network-2018-12-01 + - tag: schema-network-2018-11-01 + - tag: schema-network-2018-10-01 + - tag: schema-network-2018-08-01 + - tag: schema-network-2018-07-01 + - tag: schema-network-2018-06-01 + - tag: schema-network-2018-04-01 + - tag: schema-network-2018-02-01 + - tag: schema-network-2018-01-01 + - tag: schema-network-2017-11-01 + - tag: schema-network-2017-10-01 + - tag: schema-network-2017-09-01 + - tag: schema-network-2017-08-01 + - tag: schema-network-2017-06-01 + - tag: schema-network-2017-03-01 + - tag: schema-network-2016-12-01 + - tag: schema-network-2016-09-01 + - tag: schema-network-2016-06-01 + - tag: schema-network-2016-03-30 + - tag: schema-network-2015-06-15 + - tag: schema-network-2015-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-06-01/applicationGateway.json + - Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/availableDelegations.json + - Microsoft.Network/stable/2020-06-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-06-01/azureFirewall.json + - Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-06-01/bastionHost.json + - Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-06-01/customIpPrefix.json + - Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-06-01/dscpConfiguration.json + - Microsoft.Network/stable/2020-06-01/endpointService.json + - Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-06-01/expressRoutePort.json + - Microsoft.Network/stable/2020-06-01/firewallPolicy.json + - Microsoft.Network/stable/2020-06-01/ipAllocation.json + - Microsoft.Network/stable/2020-06-01/ipGroups.json + - Microsoft.Network/stable/2020-06-01/loadBalancer.json + - Microsoft.Network/stable/2020-06-01/natGateway.json + - Microsoft.Network/stable/2020-06-01/network.json + - Microsoft.Network/stable/2020-06-01/networkInterface.json + - Microsoft.Network/stable/2020-06-01/networkProfile.json + - Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-06-01/networkWatcher.json + - Microsoft.Network/stable/2020-06-01/operation.json + - Microsoft.Network/stable/2020-06-01/privateEndpoint.json + - Microsoft.Network/stable/2020-06-01/privateLinkService.json + - Microsoft.Network/stable/2020-06-01/publicIpAddress.json + - Microsoft.Network/stable/2020-06-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-06-01/routeFilter.json + - Microsoft.Network/stable/2020-06-01/routeTable.json + - Microsoft.Network/stable/2020-06-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-06-01/serviceCommunity.json + - Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-06-01/serviceTags.json + - Microsoft.Network/stable/2020-06-01/usage.json + - Microsoft.Network/stable/2020-06-01/virtualNetwork.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-06-01/virtualRouter.json + - Microsoft.Network/stable/2020-06-01/virtualWan.json + - Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-05-01/applicationGateway.json + - Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-05-01/availableDelegations.json + - Microsoft.Network/stable/2020-05-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-05-01/azureFirewall.json + - Microsoft.Network/stable/2020-05-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-05-01/bastionHost.json + - Microsoft.Network/stable/2020-05-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-05-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-05-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-05-01/endpointService.json + - Microsoft.Network/stable/2020-05-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-05-01/expressRoutePort.json + - Microsoft.Network/stable/2020-05-01/firewallPolicy.json + - Microsoft.Network/stable/2020-05-01/ipAllocation.json + - Microsoft.Network/stable/2020-05-01/ipGroups.json + - Microsoft.Network/stable/2020-05-01/loadBalancer.json + - Microsoft.Network/stable/2020-05-01/natGateway.json + - Microsoft.Network/stable/2020-05-01/network.json + - Microsoft.Network/stable/2020-05-01/networkInterface.json + - Microsoft.Network/stable/2020-05-01/networkProfile.json + - Microsoft.Network/stable/2020-05-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-05-01/networkWatcher.json + - Microsoft.Network/stable/2020-05-01/operation.json + - Microsoft.Network/stable/2020-05-01/privateEndpoint.json + - Microsoft.Network/stable/2020-05-01/privateLinkService.json + - Microsoft.Network/stable/2020-05-01/publicIpAddress.json + - Microsoft.Network/stable/2020-05-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-05-01/routeFilter.json + - Microsoft.Network/stable/2020-05-01/routeTable.json + - Microsoft.Network/stable/2020-05-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-05-01/serviceCommunity.json + - Microsoft.Network/stable/2020-05-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-05-01/serviceTags.json + - Microsoft.Network/stable/2020-05-01/usage.json + - Microsoft.Network/stable/2020-05-01/virtualNetwork.json + - Microsoft.Network/stable/2020-05-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-05-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-05-01/virtualRouter.json + - Microsoft.Network/stable/2020-05-01/virtualWan.json + - Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-04-01/applicationGateway.json + - Microsoft.Network/stable/2020-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-04-01/availableDelegations.json + - Microsoft.Network/stable/2020-04-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-04-01/azureFirewall.json + - Microsoft.Network/stable/2020-04-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-04-01/bastionHost.json + - Microsoft.Network/stable/2020-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-04-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-04-01/endpointService.json + - Microsoft.Network/stable/2020-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-04-01/expressRoutePort.json + - Microsoft.Network/stable/2020-04-01/firewallPolicy.json + - Microsoft.Network/stable/2020-04-01/ipAllocation.json + - Microsoft.Network/stable/2020-04-01/ipGroups.json + - Microsoft.Network/stable/2020-04-01/loadBalancer.json + - Microsoft.Network/stable/2020-04-01/natGateway.json + - Microsoft.Network/stable/2020-04-01/network.json + - Microsoft.Network/stable/2020-04-01/networkInterface.json + - Microsoft.Network/stable/2020-04-01/networkProfile.json + - Microsoft.Network/stable/2020-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-04-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-04-01/networkWatcher.json + - Microsoft.Network/stable/2020-04-01/operation.json + - Microsoft.Network/stable/2020-04-01/privateEndpoint.json + - Microsoft.Network/stable/2020-04-01/privateLinkService.json + - Microsoft.Network/stable/2020-04-01/publicIpAddress.json + - Microsoft.Network/stable/2020-04-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-04-01/routeFilter.json + - Microsoft.Network/stable/2020-04-01/routeTable.json + - Microsoft.Network/stable/2020-04-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-04-01/serviceCommunity.json + - Microsoft.Network/stable/2020-04-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-04-01/serviceTags.json + - Microsoft.Network/stable/2020-04-01/usage.json + - Microsoft.Network/stable/2020-04-01/virtualNetwork.json + - Microsoft.Network/stable/2020-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-04-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-04-01/virtualRouter.json + - Microsoft.Network/stable/2020-04-01/virtualWan.json + - Microsoft.Network/stable/2020-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-04-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-03-01/applicationGateway.json + - Microsoft.Network/stable/2020-03-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-03-01/availableDelegations.json + - Microsoft.Network/stable/2020-03-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-03-01/azureFirewall.json + - Microsoft.Network/stable/2020-03-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-03-01/bastionHost.json + - Microsoft.Network/stable/2020-03-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-03-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-03-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-03-01/endpointService.json + - Microsoft.Network/stable/2020-03-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-03-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-03-01/expressRoutePort.json + - Microsoft.Network/stable/2020-03-01/firewallPolicy.json + - Microsoft.Network/stable/2020-03-01/ipAllocation.json + - Microsoft.Network/stable/2020-03-01/ipGroups.json + - Microsoft.Network/stable/2020-03-01/loadBalancer.json + - Microsoft.Network/stable/2020-03-01/natGateway.json + - Microsoft.Network/stable/2020-03-01/network.json + - Microsoft.Network/stable/2020-03-01/networkInterface.json + - Microsoft.Network/stable/2020-03-01/networkProfile.json + - Microsoft.Network/stable/2020-03-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-03-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-03-01/networkWatcher.json + - Microsoft.Network/stable/2020-03-01/operation.json + - Microsoft.Network/stable/2020-03-01/privateEndpoint.json + - Microsoft.Network/stable/2020-03-01/privateLinkService.json + - Microsoft.Network/stable/2020-03-01/publicIpAddress.json + - Microsoft.Network/stable/2020-03-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-03-01/routeFilter.json + - Microsoft.Network/stable/2020-03-01/routeTable.json + - Microsoft.Network/stable/2020-03-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-03-01/serviceCommunity.json + - Microsoft.Network/stable/2020-03-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-03-01/serviceTags.json + - Microsoft.Network/stable/2020-03-01/usage.json + - Microsoft.Network/stable/2020-03-01/virtualNetwork.json + - Microsoft.Network/stable/2020-03-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-03-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-03-01/virtualRouter.json + - Microsoft.Network/stable/2020-03-01/virtualWan.json + - Microsoft.Network/stable/2020-03-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-03-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-03-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-12-01/applicationGateway.json + - Microsoft.Network/stable/2019-12-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-12-01/availableDelegations.json + - Microsoft.Network/stable/2019-12-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-12-01/azureFirewall.json + - Microsoft.Network/stable/2019-12-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-12-01/bastionHost.json + - Microsoft.Network/stable/2019-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-12-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-12-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-12-01/endpointService.json + - Microsoft.Network/stable/2019-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-12-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-12-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-12-01/expressRoutePort.json + - Microsoft.Network/stable/2019-12-01/firewallPolicy.json + - Microsoft.Network/stable/2019-12-01/ipGroups.json + - Microsoft.Network/stable/2019-12-01/loadBalancer.json + - Microsoft.Network/stable/2019-12-01/natGateway.json + - Microsoft.Network/stable/2019-12-01/network.json + - Microsoft.Network/stable/2019-12-01/networkInterface.json + - Microsoft.Network/stable/2019-12-01/networkProfile.json + - Microsoft.Network/stable/2019-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-12-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2019-12-01/networkWatcher.json + - Microsoft.Network/stable/2019-12-01/operation.json + - Microsoft.Network/stable/2019-12-01/privateEndpoint.json + - Microsoft.Network/stable/2019-12-01/privateLinkService.json + - Microsoft.Network/stable/2019-12-01/publicIpAddress.json + - Microsoft.Network/stable/2019-12-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-12-01/routeFilter.json + - Microsoft.Network/stable/2019-12-01/routeTable.json + - Microsoft.Network/stable/2019-12-01/serviceCommunity.json + - Microsoft.Network/stable/2019-12-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-12-01/serviceTags.json + - Microsoft.Network/stable/2019-12-01/usage.json + - Microsoft.Network/stable/2019-12-01/virtualNetwork.json + - Microsoft.Network/stable/2019-12-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-12-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-12-01/virtualRouter.json + - Microsoft.Network/stable/2019-12-01/virtualWan.json + - Microsoft.Network/stable/2019-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-12-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-12-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-11-01/applicationGateway.json + - Microsoft.Network/stable/2019-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-11-01/availableDelegations.json + - Microsoft.Network/stable/2019-11-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-11-01/azureFirewall.json + - Microsoft.Network/stable/2019-11-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-11-01/bastionHost.json + - Microsoft.Network/stable/2019-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-11-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-11-01/endpointService.json + - Microsoft.Network/stable/2019-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-11-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-11-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-11-01/expressRoutePort.json + - Microsoft.Network/stable/2019-11-01/firewallPolicy.json + - Microsoft.Network/stable/2019-11-01/ipGroups.json + - Microsoft.Network/stable/2019-11-01/loadBalancer.json + - Microsoft.Network/stable/2019-11-01/natGateway.json + - Microsoft.Network/stable/2019-11-01/network.json + - Microsoft.Network/stable/2019-11-01/networkInterface.json + - Microsoft.Network/stable/2019-11-01/networkProfile.json + - Microsoft.Network/stable/2019-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-11-01/networkWatcher.json + - Microsoft.Network/stable/2019-11-01/operation.json + - Microsoft.Network/stable/2019-11-01/privateEndpoint.json + - Microsoft.Network/stable/2019-11-01/privateLinkService.json + - Microsoft.Network/stable/2019-11-01/publicIpAddress.json + - Microsoft.Network/stable/2019-11-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-11-01/routeFilter.json + - Microsoft.Network/stable/2019-11-01/routeTable.json + - Microsoft.Network/stable/2019-11-01/serviceCommunity.json + - Microsoft.Network/stable/2019-11-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-11-01/serviceTags.json + - Microsoft.Network/stable/2019-11-01/usage.json + - Microsoft.Network/stable/2019-11-01/virtualNetwork.json + - Microsoft.Network/stable/2019-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-11-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-11-01/virtualRouter.json + - Microsoft.Network/stable/2019-11-01/virtualWan.json + - Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-11-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-09-01/applicationGateway.json + - Microsoft.Network/stable/2019-09-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-09-01/availableDelegations.json + - Microsoft.Network/stable/2019-09-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-09-01/azureFirewall.json + - Microsoft.Network/stable/2019-09-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-09-01/bastionHost.json + - Microsoft.Network/stable/2019-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-09-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-09-01/endpointService.json + - Microsoft.Network/stable/2019-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-09-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-09-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-09-01/expressRoutePort.json + - Microsoft.Network/stable/2019-09-01/firewallPolicy.json + - Microsoft.Network/stable/2019-09-01/ipGroups.json + - Microsoft.Network/stable/2019-09-01/loadBalancer.json + - Microsoft.Network/stable/2019-09-01/natGateway.json + - Microsoft.Network/stable/2019-09-01/network.json + - Microsoft.Network/stable/2019-09-01/networkInterface.json + - Microsoft.Network/stable/2019-09-01/networkProfile.json + - Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-09-01/networkWatcher.json + - Microsoft.Network/stable/2019-09-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-09-01/operation.json + - Microsoft.Network/stable/2019-09-01/privateEndpoint.json + - Microsoft.Network/stable/2019-09-01/privateLinkService.json + - Microsoft.Network/stable/2019-09-01/publicIpAddress.json + - Microsoft.Network/stable/2019-09-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-09-01/routeFilter.json + - Microsoft.Network/stable/2019-09-01/routeTable.json + - Microsoft.Network/stable/2019-09-01/serviceCommunity.json + - Microsoft.Network/stable/2019-09-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-09-01/serviceTags.json + - Microsoft.Network/stable/2019-09-01/usage.json + - Microsoft.Network/stable/2019-09-01/virtualNetwork.json + - Microsoft.Network/stable/2019-09-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-09-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-09-01/virtualRouter.json + - Microsoft.Network/stable/2019-09-01/virtualWan.json + - Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-09-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-08-01/applicationGateway.json + - Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-08-01/availableDelegations.json + - Microsoft.Network/stable/2019-08-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-08-01/azureFirewall.json + - Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-08-01/bastionHost.json + - Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-08-01/endpointService.json + - Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-08-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-08-01/expressRoutePort.json + - Microsoft.Network/stable/2019-08-01/firewallPolicy.json + - Microsoft.Network/stable/2019-08-01/loadBalancer.json + - Microsoft.Network/stable/2019-08-01/natGateway.json + - Microsoft.Network/stable/2019-08-01/network.json + - Microsoft.Network/stable/2019-08-01/networkInterface.json + - Microsoft.Network/stable/2019-08-01/networkProfile.json + - Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-08-01/networkWatcher.json + - Microsoft.Network/stable/2019-08-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-08-01/operation.json + - Microsoft.Network/stable/2019-08-01/privateEndpoint.json + - Microsoft.Network/stable/2019-08-01/privateLinkService.json + - Microsoft.Network/stable/2019-08-01/publicIpAddress.json + - Microsoft.Network/stable/2019-08-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-08-01/routeFilter.json + - Microsoft.Network/stable/2019-08-01/routeTable.json + - Microsoft.Network/stable/2019-08-01/serviceCommunity.json + - Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-08-01/serviceTags.json + - Microsoft.Network/stable/2019-08-01/usage.json + - Microsoft.Network/stable/2019-08-01/virtualNetwork.json + - Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-08-01/virtualRouter.json + - Microsoft.Network/stable/2019-08-01/virtualWan.json + - Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-07-01/applicationGateway.json + - Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-07-01/availableDelegations.json + - Microsoft.Network/stable/2019-07-01/azureFirewall.json + - Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-07-01/bastionHost.json + - Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-07-01/endpointService.json + - Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-07-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-07-01/expressRoutePort.json + - Microsoft.Network/stable/2019-07-01/firewallPolicy.json + - Microsoft.Network/stable/2019-07-01/loadBalancer.json + - Microsoft.Network/stable/2019-07-01/natGateway.json + - Microsoft.Network/stable/2019-07-01/network.json + - Microsoft.Network/stable/2019-07-01/networkInterface.json + - Microsoft.Network/stable/2019-07-01/networkProfile.json + - Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-07-01/networkWatcher.json + - Microsoft.Network/stable/2019-07-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-07-01/operation.json + - Microsoft.Network/stable/2019-07-01/privateEndpoint.json + - Microsoft.Network/stable/2019-07-01/privateLinkService.json + - Microsoft.Network/stable/2019-07-01/publicIpAddress.json + - Microsoft.Network/stable/2019-07-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-07-01/routeFilter.json + - Microsoft.Network/stable/2019-07-01/routeTable.json + - Microsoft.Network/stable/2019-07-01/serviceCommunity.json + - Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-07-01/serviceTags.json + - Microsoft.Network/stable/2019-07-01/usage.json + - Microsoft.Network/stable/2019-07-01/virtualNetwork.json + - Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-07-01/virtualRouter.json + - Microsoft.Network/stable/2019-07-01/virtualWan.json + - Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-06-01/applicationGateway.json + - Microsoft.Network/stable/2019-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-06-01/availableDelegations.json + - Microsoft.Network/stable/2019-06-01/azureFirewall.json + - Microsoft.Network/stable/2019-06-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-06-01/bastionHost.json + - Microsoft.Network/stable/2019-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-06-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-06-01/endpointService.json + - Microsoft.Network/stable/2019-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-06-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-06-01/expressRoutePort.json + - Microsoft.Network/stable/2019-06-01/firewallPolicy.json + - Microsoft.Network/stable/2019-06-01/loadBalancer.json + - Microsoft.Network/stable/2019-06-01/natGateway.json + - Microsoft.Network/stable/2019-06-01/network.json + - Microsoft.Network/stable/2019-06-01/networkInterface.json + - Microsoft.Network/stable/2019-06-01/networkProfile.json + - Microsoft.Network/stable/2019-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-06-01/networkWatcher.json + - Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-06-01/operation.json + - Microsoft.Network/stable/2019-06-01/privateEndpoint.json + - Microsoft.Network/stable/2019-06-01/privateLinkService.json + - Microsoft.Network/stable/2019-06-01/publicIpAddress.json + - Microsoft.Network/stable/2019-06-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-06-01/routeFilter.json + - Microsoft.Network/stable/2019-06-01/routeTable.json + - Microsoft.Network/stable/2019-06-01/serviceCommunity.json + - Microsoft.Network/stable/2019-06-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-06-01/serviceTags.json + - Microsoft.Network/stable/2019-06-01/usage.json + - Microsoft.Network/stable/2019-06-01/virtualNetwork.json + - Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-06-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-06-01/virtualWan.json + - Microsoft.Network/stable/2019-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-06-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-04-01/applicationGateway.json + - Microsoft.Network/stable/2019-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-04-01/availableDelegations.json + - Microsoft.Network/stable/2019-04-01/azureFirewall.json + - Microsoft.Network/stable/2019-04-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-04-01/bastionHost.json + - Microsoft.Network/stable/2019-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-04-01/endpointService.json + - Microsoft.Network/stable/2019-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-04-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-04-01/expressRoutePort.json + - Microsoft.Network/stable/2019-04-01/privateEndpoint.json + - Microsoft.Network/stable/2019-04-01/privateLinkService.json + - Microsoft.Network/stable/2019-04-01/loadBalancer.json + - Microsoft.Network/stable/2019-04-01/natGateway.json + - Microsoft.Network/stable/2019-04-01/network.json + - Microsoft.Network/stable/2019-04-01/networkInterface.json + - Microsoft.Network/stable/2019-04-01/networkProfile.json + - Microsoft.Network/stable/2019-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-04-01/networkWatcher.json + - Microsoft.Network/stable/2019-04-01/operation.json + - Microsoft.Network/stable/2019-04-01/publicIpAddress.json + - Microsoft.Network/stable/2019-04-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-04-01/routeFilter.json + - Microsoft.Network/stable/2019-04-01/routeTable.json + - Microsoft.Network/stable/2019-04-01/serviceCommunity.json + - Microsoft.Network/stable/2019-04-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-04-01/serviceTags.json + - Microsoft.Network/stable/2019-04-01/usage.json + - Microsoft.Network/stable/2019-04-01/virtualNetwork.json + - Microsoft.Network/stable/2019-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-04-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-04-01/virtualWan.json + - Microsoft.Network/stable/2019-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-04-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-04-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-02-01/applicationGateway.json + - Microsoft.Network/stable/2019-02-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-02-01/availableDelegations.json + - Microsoft.Network/stable/2019-02-01/azureFirewall.json + - Microsoft.Network/stable/2019-02-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-02-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-02-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-02-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-02-01/endpointService.json + - Microsoft.Network/stable/2019-02-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-02-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-02-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-02-01/expressRoutePort.json + - Microsoft.Network/stable/2019-02-01/interfaceEndpoint.json + - Microsoft.Network/stable/2019-02-01/loadBalancer.json + - Microsoft.Network/stable/2019-02-01/natGateway.json + - Microsoft.Network/stable/2019-02-01/network.json + - Microsoft.Network/stable/2019-02-01/networkInterface.json + - Microsoft.Network/stable/2019-02-01/networkProfile.json + - Microsoft.Network/stable/2019-02-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-02-01/networkWatcher.json + - Microsoft.Network/stable/2019-02-01/operation.json + - Microsoft.Network/stable/2019-02-01/publicIpAddress.json + - Microsoft.Network/stable/2019-02-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-02-01/routeFilter.json + - Microsoft.Network/stable/2019-02-01/routeTable.json + - Microsoft.Network/stable/2019-02-01/serviceCommunity.json + - Microsoft.Network/stable/2019-02-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-02-01/usage.json + - Microsoft.Network/stable/2019-02-01/virtualNetwork.json + - Microsoft.Network/stable/2019-02-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-02-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-02-01/virtualWan.json + - Microsoft.Network/stable/2019-02-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-02-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-02-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-12-01/applicationGateway.json + - Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-12-01/availableDelegations.json + - Microsoft.Network/stable/2018-12-01/azureFirewall.json + - Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-12-01/endpointService.json + - Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-12-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-12-01/expressRoutePort.json + - Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-12-01/loadBalancer.json + - Microsoft.Network/stable/2018-12-01/network.json + - Microsoft.Network/stable/2018-12-01/networkInterface.json + - Microsoft.Network/stable/2018-12-01/networkProfile.json + - Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-12-01/networkWatcher.json + - Microsoft.Network/stable/2018-12-01/operation.json + - Microsoft.Network/stable/2018-12-01/publicIpAddress.json + - Microsoft.Network/stable/2018-12-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-12-01/routeFilter.json + - Microsoft.Network/stable/2018-12-01/routeTable.json + - Microsoft.Network/stable/2018-12-01/serviceCommunity.json + - Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-12-01/usage.json + - Microsoft.Network/stable/2018-12-01/virtualNetwork.json + - Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-12-01/virtualWan.json + - Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2018-12-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +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 + +``` + +### Tag: schema-network-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-10-01/applicationGateway.json + - Microsoft.Network/stable/2018-10-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-10-01/availableDelegations.json + - Microsoft.Network/stable/2018-10-01/azureFirewall.json + - Microsoft.Network/stable/2018-10-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-10-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-10-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-10-01/endpointService.json + - Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-10-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-10-01/expressRoutePort.json + - Microsoft.Network/stable/2018-10-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-10-01/loadBalancer.json + - Microsoft.Network/stable/2018-10-01/network.json + - Microsoft.Network/stable/2018-10-01/networkInterface.json + - Microsoft.Network/stable/2018-10-01/networkProfile.json + - Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-10-01/networkWatcher.json + - Microsoft.Network/stable/2018-10-01/operation.json + - Microsoft.Network/stable/2018-10-01/publicIpAddress.json + - Microsoft.Network/stable/2018-10-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-10-01/routeFilter.json + - Microsoft.Network/stable/2018-10-01/routeTable.json + - Microsoft.Network/stable/2018-10-01/serviceCommunity.json + - Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-10-01/usage.json + - Microsoft.Network/stable/2018-10-01/virtualNetwork.json + - Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-10-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-10-01/virtualWan.json + - Microsoft.Network/stable/2018-10-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-10-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-08-01/applicationGateway.json + - Microsoft.Network/stable/2018-08-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-08-01/availableDelegations.json + - Microsoft.Network/stable/2018-08-01/azureFirewall.json + - Microsoft.Network/stable/2018-08-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-08-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-08-01/endpointService.json + - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-08-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-08-01/expressRoutePort.json + - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-08-01/loadBalancer.json + - Microsoft.Network/stable/2018-08-01/network.json + - Microsoft.Network/stable/2018-08-01/networkInterface.json + - Microsoft.Network/stable/2018-08-01/networkProfile.json + - Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-08-01/networkWatcher.json + - Microsoft.Network/stable/2018-08-01/operation.json + - Microsoft.Network/stable/2018-08-01/publicIpAddress.json + - Microsoft.Network/stable/2018-08-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-08-01/routeFilter.json + - Microsoft.Network/stable/2018-08-01/routeTable.json + - Microsoft.Network/stable/2018-08-01/serviceCommunity.json + - Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-08-01/usage.json + - Microsoft.Network/stable/2018-08-01/virtualNetwork.json + - Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-08-01/virtualWan.json + - Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-08-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-07-01/azureFirewall.json + - Microsoft.Network/stable/2018-07-01/applicationGateway.json + - Microsoft.Network/stable/2018-07-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-07-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-07-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-07-01/endpointService.json + - Microsoft.Network/stable/2018-07-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-07-01/loadBalancer.json + - Microsoft.Network/stable/2018-07-01/network.json + - Microsoft.Network/stable/2018-07-01/networkInterface.json + - Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-07-01/networkWatcher.json + - Microsoft.Network/stable/2018-07-01/operation.json + - Microsoft.Network/stable/2018-07-01/publicIpAddress.json + - Microsoft.Network/stable/2018-07-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-07-01/routeFilter.json + - Microsoft.Network/stable/2018-07-01/routeTable.json + - Microsoft.Network/stable/2018-07-01/serviceCommunity.json + - Microsoft.Network/stable/2018-07-01/usage.json + - Microsoft.Network/stable/2018-07-01/virtualNetwork.json + - Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-07-01/virtualWan.json + - Microsoft.Network/stable/2018-07-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-07-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json + +``` + +### Tag: schema-network-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-06-01/azureFirewall.json + - Microsoft.Network/stable/2018-06-01/applicationGateway.json + - Microsoft.Network/stable/2018-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-06-01/endpointService.json + - Microsoft.Network/stable/2018-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-06-01/loadBalancer.json + - Microsoft.Network/stable/2018-06-01/network.json + - Microsoft.Network/stable/2018-06-01/networkInterface.json + - Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-06-01/networkWatcher.json + - Microsoft.Network/stable/2018-06-01/operation.json + - Microsoft.Network/stable/2018-06-01/publicIpAddress.json + - Microsoft.Network/stable/2018-06-01/routeFilter.json + - Microsoft.Network/stable/2018-06-01/routeTable.json + - Microsoft.Network/stable/2018-06-01/serviceCommunity.json + - Microsoft.Network/stable/2018-06-01/usage.json + - Microsoft.Network/stable/2018-06-01/virtualNetwork.json + - Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-06-01/virtualWan.json + - Microsoft.Network/stable/2018-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-06-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-04-01/azureFirewall.json + - Microsoft.Network/stable/2018-04-01/applicationGateway.json + - Microsoft.Network/stable/2018-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-04-01/endpointService.json + - Microsoft.Network/stable/2018-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-04-01/loadBalancer.json + - Microsoft.Network/stable/2018-04-01/network.json + - Microsoft.Network/stable/2018-04-01/networkInterface.json + - Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-04-01/networkWatcher.json + - Microsoft.Network/stable/2018-04-01/operation.json + - Microsoft.Network/stable/2018-04-01/publicIpAddress.json + - Microsoft.Network/stable/2018-04-01/routeFilter.json + - Microsoft.Network/stable/2018-04-01/routeTable.json + - Microsoft.Network/stable/2018-04-01/serviceCommunity.json + - Microsoft.Network/stable/2018-04-01/usage.json + - Microsoft.Network/stable/2018-04-01/virtualNetwork.json + - Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-04-01/virtualWan.json + - Microsoft.Network/stable/2018-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-04-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-02-01/applicationGateway.json + - Microsoft.Network/stable/2018-02-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-02-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-02-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-02-01/endpointService.json + - Microsoft.Network/stable/2018-02-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-02-01/loadBalancer.json + - Microsoft.Network/stable/2018-02-01/network.json + - Microsoft.Network/stable/2018-02-01/networkInterface.json + - Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-02-01/networkWatcher.json + - Microsoft.Network/stable/2018-02-01/operation.json + - Microsoft.Network/stable/2018-02-01/publicIpAddress.json + - Microsoft.Network/stable/2018-02-01/routeFilter.json + - Microsoft.Network/stable/2018-02-01/routeTable.json + - Microsoft.Network/stable/2018-02-01/serviceCommunity.json + - Microsoft.Network/stable/2018-02-01/usage.json + - Microsoft.Network/stable/2018-02-01/virtualNetwork.json + - Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-02-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-02-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-01-01/applicationGateway.json + - Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-01-01/endpointService.json + - Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-01-01/loadBalancer.json + - Microsoft.Network/stable/2018-01-01/network.json + - Microsoft.Network/stable/2018-01-01/networkInterface.json + - Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-01-01/networkWatcher.json + - Microsoft.Network/stable/2018-01-01/operation.json + - Microsoft.Network/stable/2018-01-01/publicIpAddress.json + - Microsoft.Network/stable/2018-01-01/routeFilter.json + - Microsoft.Network/stable/2018-01-01/routeTable.json + - Microsoft.Network/stable/2018-01-01/serviceCommunity.json + - Microsoft.Network/stable/2018-01-01/usage.json + - Microsoft.Network/stable/2018-01-01/virtualNetwork.json + - Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-11-01/applicationGateway.json + - Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-11-01/endpointService.json + - Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-11-01/loadBalancer.json + - Microsoft.Network/stable/2017-11-01/network.json + - Microsoft.Network/stable/2017-11-01/networkInterface.json + - Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-11-01/networkWatcher.json + - Microsoft.Network/stable/2017-11-01/operation.json + - Microsoft.Network/stable/2017-11-01/publicIpAddress.json + - Microsoft.Network/stable/2017-11-01/routeFilter.json + - Microsoft.Network/stable/2017-11-01/routeTable.json + - Microsoft.Network/stable/2017-11-01/serviceCommunity.json + - Microsoft.Network/stable/2017-11-01/usage.json + - Microsoft.Network/stable/2017-11-01/virtualNetwork.json + - Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-10-01/applicationGateway.json + - Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-10-01/endpointService.json + - Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-10-01/loadBalancer.json + - Microsoft.Network/stable/2017-10-01/network.json + - Microsoft.Network/stable/2017-10-01/networkInterface.json + - Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-10-01/networkWatcher.json + - Microsoft.Network/stable/2017-10-01/operation.json + - Microsoft.Network/stable/2017-10-01/publicIpAddress.json + - Microsoft.Network/stable/2017-10-01/routeFilter.json + - Microsoft.Network/stable/2017-10-01/routeTable.json + - Microsoft.Network/stable/2017-10-01/serviceCommunity.json + - Microsoft.Network/stable/2017-10-01/usage.json + - Microsoft.Network/stable/2017-10-01/virtualNetwork.json + - Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-10-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-10-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-09-01/applicationGateway.json + - Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-09-01/endpointService.json + - Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-09-01/loadBalancer.json + - Microsoft.Network/stable/2017-09-01/network.json + - Microsoft.Network/stable/2017-09-01/networkInterface.json + - Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-09-01/networkWatcher.json + - Microsoft.Network/stable/2017-09-01/operation.json + - Microsoft.Network/stable/2017-09-01/publicIpAddress.json + - Microsoft.Network/stable/2017-09-01/routeFilter.json + - Microsoft.Network/stable/2017-09-01/routeTable.json + - Microsoft.Network/stable/2017-09-01/serviceCommunity.json + - Microsoft.Network/stable/2017-09-01/usage.json + - Microsoft.Network/stable/2017-09-01/virtualNetwork.json + - Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-08-01/applicationGateway.json + - Microsoft.Network/stable/2017-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-08-01/endpointService.json + - Microsoft.Network/stable/2017-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-08-01/loadBalancer.json + - Microsoft.Network/stable/2017-08-01/network.json + - Microsoft.Network/stable/2017-08-01/networkInterface.json + - Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-08-01/networkWatcher.json + - Microsoft.Network/stable/2017-08-01/publicIpAddress.json + - Microsoft.Network/stable/2017-08-01/routeFilter.json + - Microsoft.Network/stable/2017-08-01/routeTable.json + - Microsoft.Network/stable/2017-08-01/serviceCommunity.json + - Microsoft.Network/stable/2017-08-01/usage.json + - Microsoft.Network/stable/2017-08-01/virtualNetwork.json + - Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-08-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-06-01/applicationGateway.json + - Microsoft.Network/stable/2017-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-06-01/endpointService.json + - Microsoft.Network/stable/2017-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-06-01/loadBalancer.json + - Microsoft.Network/stable/2017-06-01/network.json + - Microsoft.Network/stable/2017-06-01/networkInterface.json + - Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-06-01/networkWatcher.json + - Microsoft.Network/stable/2017-06-01/publicIpAddress.json + - Microsoft.Network/stable/2017-06-01/routeFilter.json + - Microsoft.Network/stable/2017-06-01/routeTable.json + - Microsoft.Network/stable/2017-06-01/serviceCommunity.json + - Microsoft.Network/stable/2017-06-01/usage.json + - Microsoft.Network/stable/2017-06-01/virtualNetwork.json + - Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-06-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-03-01/applicationGateway.json + - Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-03-01/loadBalancer.json + - Microsoft.Network/stable/2017-03-01/network.json + - Microsoft.Network/stable/2017-03-01/networkInterface.json + - Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-03-01/networkWatcher.json + - Microsoft.Network/stable/2017-03-01/publicIpAddress.json + - Microsoft.Network/stable/2017-03-01/routeFilter.json + - Microsoft.Network/stable/2017-03-01/routeTable.json + - Microsoft.Network/stable/2017-03-01/serviceCommunity.json + - Microsoft.Network/stable/2017-03-01/usage.json + - Microsoft.Network/stable/2017-03-01/virtualNetwork.json + - Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-03-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-03-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2016-12-01/applicationGateway.json + - Microsoft.Network/stable/2016-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2016-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2016-12-01/loadBalancer.json + - Microsoft.Network/stable/2016-12-01/network.json + - Microsoft.Network/stable/2016-12-01/networkInterface.json + - Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2016-12-01/networkWatcher.json + - Microsoft.Network/stable/2016-12-01/publicIpAddress.json + - Microsoft.Network/stable/2016-12-01/routeFilter.json + - Microsoft.Network/stable/2016-12-01/routeTable.json + - Microsoft.Network/stable/2016-12-01/serviceCommunity.json + - Microsoft.Network/stable/2016-12-01/usage.json + - Microsoft.Network/stable/2016-12-01/virtualNetwork.json + - Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json + +``` + +### Tag: schema-network-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2016-09-01/applicationGateway.json + - Microsoft.Network/stable/2016-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2016-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2016-09-01/loadBalancer.json + - Microsoft.Network/stable/2016-09-01/network.json + - Microsoft.Network/stable/2016-09-01/networkInterface.json + - Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2016-09-01/networkWatcher.json + - Microsoft.Network/stable/2016-09-01/publicIpAddress.json + - Microsoft.Network/stable/2016-09-01/routeTable.json + - Microsoft.Network/stable/2016-09-01/usage.json + - Microsoft.Network/stable/2016-09-01/virtualNetwork.json + - Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json + +``` + +### Tag: schema-network-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-06-01/network.json + +``` + +### Tag: schema-network-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-03-30/network.json + +``` + +### Tag: schema-network-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2015-06-15/applicationGateway.json + - Microsoft.Network/stable/2015-06-15/checkDnsAvailability.json + - Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json + - Microsoft.Network/stable/2015-06-15/loadBalancer.json + - Microsoft.Network/stable/2015-06-15/network.json + - Microsoft.Network/stable/2015-06-15/networkInterface.json + - Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json + - Microsoft.Network/stable/2015-06-15/publicIpAddress.json + - Microsoft.Network/stable/2015-06-15/routeTable.json + - Microsoft.Network/stable/2015-06-15/usage.json + - Microsoft.Network/stable/2015-06-15/virtualNetwork.json + - Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json + - Microsoft.Network/stable/2015-06-15/vmssNetworkInterface.json + +``` + +### Tag: schema-network-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2015-05-01-preview/network.json + +``` diff --git a/specification/network/resource-manager/readme.csharp.md b/specification/network/resource-manager/readme.csharp.md index 7add46771d4c..69834cdd64cb 100644 --- a/specification/network/resource-manager/readme.csharp.md +++ b/specification/network/resource-manager/readme.csharp.md @@ -70,4 +70,16 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Network/Management.Networ batch: - tag: profile-hybrid-2019-03-01 + ``` + + ### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Network +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Network/Management.Network/Generated + +batch: + - tag: profile-hybrid-2020-09-01 ``` \ No newline at end of file diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md index c8c9e609a2d7..e5d2b5e50dac 100644 --- a/specification/network/resource-manager/readme.go.md +++ b/specification/network/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06 - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 @@ -47,6 +48,15 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2020-06 and go + +These settings apply only when `--tag=package-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + ### Tag: package-2020-05 and go These settings apply only when `--tag=package-2020-05 --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 d2df4bb20159..e05a5f82adf3 100644 --- a/specification/network/resource-manager/readme.java.md +++ b/specification/network/resource-manager/readme.java.md @@ -20,12 +20,16 @@ directive: - rename-operation: from: VirtualHubBgpConnection_Delete to: VirtualHubBgpConnections_Delete + - rename-operation: + from: InboundSecurityRule_CreateOrUpdate + to: InboundSecurityRuleOperation_CreateOrUpdate ``` ### Java multi-api ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-06 - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 @@ -35,6 +39,20 @@ batch: - tag: package-2019-06 - tag: package-2019-04 - tag: package-2019-02 + - tag: package-2018-11 +``` + +### Tag: package-2020-06 and java + +These settings apply only when `--tag=package-2020-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.network.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/network/mgmt-v2020_06_01 + regenerate-manager: true + generate-interface: true ``` ### Tag: package-2020-05 and java @@ -167,6 +185,19 @@ java: generate-interface: true ``` +### Tag: package-2018-11 and java + +These settings apply only when `--tag=package-2018-11 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2018-11' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.network.v2018_11_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/network/mgmt-v2018_11_01 + regenerate-manager: true + generate-interface: true +``` + ### Tag: package-2018-08 and java These settings apply only when `--tag=package-2018-08 --java` is specified on the command line. diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 64ed94248f10..9da6602627a6 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -192,6 +192,7 @@ input-file: - Microsoft.Network/stable/2020-05-01/virtualWan.json - Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json - Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json ``` ### Tag: package-2020-04 @@ -1455,6 +1456,23 @@ input-file: - Microsoft.Network/preview/2015-05-01-preview/network.json ``` +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. + +``` yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: + - Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.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/networkSecurityGroup.json + - Microsoft.Network/stable/2018-11-01/operation.json + - Microsoft.Network/stable/2018-11-01/publicIpAddress.json + - Microsoft.Network/stable/2018-11-01/routeTable.json + - Microsoft.Network/stable/2018-11-01/virtualNetwork.json +``` + ## Suppression ``` yaml @@ -1695,6 +1713,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_network'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js network/resource-manager ``` ## Suppression @@ -1733,901 +1754,7 @@ 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 +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Network/stable/2020-05-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/ipAllocation.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/network.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/securityPartnerProvider.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/ipAllocation.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/network.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/networkVirtualAppliance.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/securityPartnerProvider.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/ipAllocation.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/network.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/networkVirtualAppliance.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/securityPartnerProvider.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2020-03-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/networkVirtualAppliance.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-12-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/ipGroups.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/networkWatcherConnectionMonitorV1.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/availableServiceAliases.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/networkWatcherConnectionMonitorV1.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/networkWatcherConnectionMonitorV1.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualRouter.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/firewallPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/bastionHost.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/privateEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/privateLinkService.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/serviceTags.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-04-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/interfaceEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/natGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/network.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2019-02-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-12-01/webapplicationfirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/interfaceEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-10-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/availableDelegations.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/azureFirewallFqdnTag.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/expressRouteGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/expressRoutePort.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/networkProfile.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-08-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-06-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/azureFirewall.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/virtualWan.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-04-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/ddosProtectionPlan.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/network.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-10-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/operation.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-08-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/endpointService.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-06-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/network.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/vmssPublicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/network.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/routeFilter.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/serviceCommunity.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/network.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/networkWatcher.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/usage.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2016-06-01/network.json - - $(this-folder)/Microsoft.Network/stable/2016-03-30/network.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/applicationGateway.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/checkDnsAvailability.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/loadBalancer.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/network.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/networkInterface.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/publicIpAddress.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/routeTable.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/usage.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/virtualNetwork.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json - - $(this-folder)/Microsoft.Network/stable/2015-06-15/vmssNetworkInterface.json - - $(this-folder)/Microsoft.Network/preview/2015-05-01-preview/network.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/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index 84a7d2e2d5c6..4e987aec65d6 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -28,6 +28,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: - tag: package-2020-07 + - tag: package-2020-06 - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 @@ -63,6 +64,7 @@ batch: clear-output-folder: true batch: - tag: package-2020-07 + - tag: package-2020-06 - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 @@ -112,6 +114,18 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/netwo python: namespace: azure.mgmt.network.v2020_07_01 output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_07_01 + +### Tag: package-2020-06 and python + +These settings apply only when `--tag=package-2020-06 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06' +namespace: azure.mgmt.network.v2020_06_01 +output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_06_01 +python: + namespace: azure.mgmt.network.v2020_06_01 + output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_06_01 ``` ### Tag: package-2020-05 and python diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md index b8e37386caa2..05744ef38cca 100644 --- a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md @@ -50,11 +50,12 @@ 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 +require: $(this-folder)/../../../../../../profiles/readme.md # all the input files across all versions input-file: - - notebooks.json + - $(this-folder)/notebooks.json + ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/notificationhubs/resource-manager/readme.azureresourceschema.md b/specification/notificationhubs/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d3ffdfc77fad --- /dev/null +++ b/specification/notificationhubs/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-notificationhubs-2017-04-01 + - tag: schema-notificationhubs-2016-03-01 + - tag: schema-notificationhubs-2014-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-notificationhubs-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json + +``` + +### Tag: schema-notificationhubs-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2016-03-01/notificationhubs.json + +``` + +### Tag: schema-notificationhubs-2014-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2014-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2014-09-01/notificationhubs.json + +``` diff --git a/specification/notificationhubs/resource-manager/readme.md b/specification/notificationhubs/resource-manager/readme.md index 776209cfbe47..799fd3c01789 100644 --- a/specification/notificationhubs/resource-manager/readme.md +++ b/specification/notificationhubs/resource-manager/readme.md @@ -93,6 +93,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_notification_hubs'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js notificationhubs/resource-manager ``` @@ -206,29 +209,7 @@ 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.NotificationHubs/stable/2017-04-01/notificationhubs.json - - $(this-folder)/Microsoft.NotificationHubs/stable/2016-03-01/notificationhubs.json - - $(this-folder)/Microsoft.NotificationHubs/stable/2014-09-01/notificationhubs.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json index 197cfe9edba2..d04ee8c192f6 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json @@ -581,7 +581,7 @@ "in": "query", "required": true, "type": "string", - "description": "Client Api Version." + "description": "The client API version." }, "ResourceGroupNameParameter": { "name": "resourceGroupName", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json index 745bc549f03b..d34b30b8e4b5 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json @@ -309,7 +309,7 @@ "in": "query", "required": true, "type": "string", - "description": "Client Api Version." + "description": "The client API version." }, "ResourceGroupNameParameter": { "name": "resourceGroupName", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json index 2a01a76827ae..e025c56880fb 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json @@ -637,7 +637,7 @@ "in": "path", "required": true, "type": "string", - "description": "The workspace's resource subscription ID." + "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", @@ -652,7 +652,7 @@ "required": true, "type": "string", "x-ms-parameter-location": "method", - "description": "The workspace's resource group name.", + "description": "The name of the resource group to get. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportCreateOrUpdate.json index f738632a370c..00e71ce6ab28 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportCreateOrUpdate.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportCreateOrUpdate.json @@ -25,7 +25,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportGet.json index aee7dba8ecfb..472297024e2b 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportGet.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportGet.json @@ -15,7 +15,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportListByWorkspace.json index 4d0a89e0b861..0d01e4a909c9 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportListByWorkspace.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2019-08-01-preview/examples/DataExportListByWorkspace.json @@ -15,7 +15,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json new file mode 100644 index 000000000000..2444bbb1c0a4 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json @@ -0,0 +1,246 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-03-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataCollectorLogs/{tableName}": { + "delete": { + "tags": [ + "DataCollectorLogs" + ], + "x-ms-examples": { + "DataCollectorLogsDelete": { + "$ref": "./examples/DataCollectorLogsDelete.json" + } + }, + "operationId": "DataCollectorLogs_Delete", + "description": "Deletes a specify data collector log table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+[A-Za-z0-9]_CL$", + "minLength": 4, + "maxLength": 63, + "description": "DataCollector table name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ForceDeletion" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + }, + "get": { + "tags": [ + "DataCollectorLogs" + ], + "x-ms-examples": { + "DataCollectorLogsDelete": { + "$ref": "./examples/DataCollectorLogsGet.json" + } + }, + "operationId": "DataCollectorLogs_Get", + "description": "Retrieves a specify data collector log table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+[A-Za-z0-9]_CL$", + "minLength": 4, + "maxLength": 63, + "description": "DataCollector table name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ForceDeletion" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataCollectorLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataCollectorLogs": { + "get": { + "tags": [ + "DataCollectorLogs" + ], + "description": "Listing all data collector log tables, being created via data collector endpoint and scoped to the specified workspace", + "operationId": "DataCollectorLogs_ListByWorkspace", + "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": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataCollectorLogsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "DataCollectorLogsListByWorkspace": { + "$ref": "./examples/DataCollectorLogsListByWorkspace.json" + } + } + } + } + }, + "definitions": { + "DataCollectorLogProperties": { + "description": "Data collector log properties.", + "type": "object", + "properties": { + "name": { + "description": "Table's name.", + "type": "string" + } + } + }, + "DataCollectorLog": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataCollectorLogProperties", + "description": "Data collector log properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Data collector log top level resource container." + }, + "DataCollectorLogsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectorLog" + }, + "description": "data collector log collection." + } + }, + "description": "Data collector log tables collection, all tables are scoped to the specified workspace." + }, + "ErrorContract": { + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Contains details when the response code indicates an error." + } + }, + "parameters": { + "ForceDeletion": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "When true, enables bypassing retention validation.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json index d776e4a1ff24..4ca8b68ce1a2 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json @@ -276,10 +276,6 @@ "type": "string", "description": "The data export rule ID." }, - "allTables": { - "type": "boolean", - "description": "When ‘true’, all workspace's tables are exported." - }, "tableNames": { "type": "array", "items": { diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json new file mode 100644 index 000000000000..7f1d569498f3 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "tableName": "Test_CL", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json new file mode 100644 index 000000000000..93106ef3b11e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "tableName": "Test_CL", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "name": "Table0_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Test_CL", + "name": "Test_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json new file mode 100644 index 000000000000..5870b9f3362c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "name": "Table0_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table0_CL", + "name": "Table0_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table1_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table1_CL", + "name": "Table1_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table2_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table2_CL", + "name": "Table2_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table3_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table3_CL", + "name": "Table3_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table4_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table4_CL", + "name": "Table4_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportCreateOrUpdate.json index 413c8a0480bf..02b00dbe7a71 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportCreateOrUpdate.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportCreateOrUpdate.json @@ -25,7 +25,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], @@ -46,7 +45,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json index 0bb0b00f44b5..1be2c0459fea 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json @@ -15,7 +15,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportListByWorkspace.json index acec03e93f8a..df13cd8a8444 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportListByWorkspace.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportListByWorkspace.json @@ -16,7 +16,6 @@ "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", "type": "EventHub" }, - "allTables": false, "tableNames": [ "Heartbeat" ], diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json new file mode 100644 index 000000000000..c826a847e3b9 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json @@ -0,0 +1,579 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-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.OperationalInsights/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersGet": { + "$ref": "./examples/ClustersListByResourceGroup.json" + } + }, + "operationId": "Clusters_ListByResourceGroup", + "description": "Gets Log Analytics clusters in a 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": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersSubscriptionList": { + "$ref": "./examples/ClustersSubscriptionList.json" + } + }, + "operationId": "Clusters_List", + "description": "Gets the Log Analytics clusters in a 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": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersCreate": { + "$ref": "./examples/ClustersCreate.json" + } + }, + "operationId": "Clusters_CreateOrUpdate", + "description": "Create or update a Log Analytics cluster.", + "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" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "minLength": 4, + "maxLength": 63, + "description": "The name of the Log Analytics cluster." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The parameters required to create or update a Log Analytics cluster." + } + ], + "responses": { + "202": { + "description": "Accepted response definition." + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersDelete": { + "$ref": "./examples/ClustersDelete.json" + } + }, + "operationId": "Clusters_Delete", + "description": "Deletes a cluster instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "NoContent response definition." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersGet": { + "$ref": "./examples/ClustersGet.json" + } + }, + "operationId": "Clusters_Get", + "description": "Gets a Log Analytics cluster instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersPatch": { + "$ref": "./examples/ClustersUpdate.json" + } + }, + "operationId": "Clusters_Update", + "description": "Updates a Log Analytics cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPatch" + }, + "description": "The parameters required to patch a Log Analytics cluster." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing cluster was successfully updated. Check provisioningStatus to see detailed status.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "clusterId": { + "type": "string", + "readOnly": true, + "description": "The ID associated with the cluster." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the cluster.", + "enum": [ + "Creating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "ProvisioningAccount", + "Updating" + ], + "x-ms-enum": { + "name": "ClusterEntityStatus", + "modelAsString": true + } + }, + "isDoubleEncryptionEnabled": { + "type": "boolean", + "readOnly": false, + "description": "Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true'", + "x-ms-mutability": [ + "create" + ] + }, + "isAvailabilityZonesEnabled": { + "type": "boolean", + "readOnly": false, + "description": "Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. This Property can not be modified after cluster creation. Default value is 'true' if region supports Availability Zones." + }, + "billingType": { + "type": "string", + "readOnly": false, + "description": "Configures whether billing will be only on the cluster or each workspace will be billed by its proportional use. This does not change the overall billing, only how it will be distributed. Default value is 'Cluster'", + "enum": [ + "Cluster", + "Workspaces" + ], + "x-ms-enum": { + "name": "BillingType", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/keyVaultProperties", + "description": "The associated key properties." + } + }, + "description": "Cluster properties." + }, + "ClusterErrorResponse": { + "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": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "ClusterPatchProperties": { + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/keyVaultProperties", + "description": "The associated key properties." + } + }, + "description": "Log Analytics cluster patch properties." + }, + "ClusterPatch": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterPatchProperties", + "description": "Log Analytics cluster properties." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "sku": { + "$ref": "#/definitions/ClusterSku", + "description": "The sku properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "description": "The top level Log Analytics cluster resource container.", + "x-ms-azure-resource": true + }, + "Cluster": { + "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "sku": { + "$ref": "#/definitions/ClusterSku", + "description": "The sku properties." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "Log Analytics cluster properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The top level Log Analytics cluster resource container." + }, + "ClusterListResult": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of recommendations.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "A list of Log Analytics clusters." + } + }, + "description": "The list clusters operation response." + }, + "keyVaultProperties": { + "description": "The key vault properties.", + "properties": { + "keyVaultUri": { + "description": "The Key Vault uri which holds they key associated with the Log Analytics cluster.", + "type": "string" + }, + "keyName": { + "description": "The name of the key associated with the Log Analytics cluster.", + "type": "string" + }, + "keyVersion": { + "description": "The version of the key associated with the Log Analytics cluster.", + "type": "string" + }, + "rsaKeySize": { + "description": "Selected key minimum required key size.", + "type": "integer", + "format": "int32", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ClusterSku": { + "description": "The cluster sku definition.", + "properties": { + "capacity": { + "description": "The capacity value", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string", + "description": "The name of the SKU.", + "enum": [ + "CapacityReservation" + ], + "x-ms-enum": { + "name": "ClusterSkuNameEnum", + "modelAsString": 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 identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + }, + "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: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "UserIdentityProperties": { + "type": "object", + "description": "User assigned identity properties.", + "properties": { + "principalId": { + "readOnly": true, + "description": "The principal id of user assigned identity.", + "type": "string" + }, + "clientId": { + "readOnly": true, + "description": "The client id of user assigned identity.", + "type": "string" + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Operations.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Operations.json new file mode 100644 index 000000000000..30447d99e87d --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/Operations.json @@ -0,0 +1,118 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-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.OperationalInsights/operations": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/OperationsListByTenant.json" + } + }, + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available OperationalInsights Rest API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list solution operations.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of solution operations supported by the OperationsManagement resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Supported operation of OperationalInsights resource provider.", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft OperationsManagement.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of operation", + "type": "string" + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersCreate.json new file mode 100644 index 000000000000..7f6b58136f55 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersCreate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "parameters": { + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + }, + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "provisioningState": "ProvisioningAccount", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/oiautorest6685", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "oiautorest6685", + "type": "Microsoft.OperationalInsights/clusters", + "location": "australiasoutheast" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "ProvisioningAccount", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/oiautorest6685", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "oiautorest6685", + "type": "Microsoft.OperationalInsights/clusters", + "location": "australiasoutheast" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersDelete.json new file mode 100644 index 000000000000..859ff3048e99 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersGet.json new file mode 100644 index 000000000000..1b68ff85aa4d --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + }, + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/mms-eus/providers/microsoft.operationalinsights/clusters/southukws", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "SouthUKWS", + "type": "Microsoft.OperationalInsights/clusters", + "location": "East US" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersListByResourceGroup.json new file mode 100644 index 000000000000..0efad53c1fe0 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersSubscriptionList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersSubscriptionList.json new file mode 100644 index 000000000000..d37ffb861c5c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersSubscriptionList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersUpdate.json new file mode 100644 index 000000000000..186db9b99bba --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/ClustersUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {} + } + }, + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429", + "rsaKeySize": 1024 + } + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "tags": { + "tag1": "val1" + } + }, + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "UserAssigned", + "tenantId": "72f999bf-acf1-41af-91ab-2d7cd011db47", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "clientId": "eb3a943d-6b12-48a6-b585-ac2316e15ab2", + "principalId": "b31776d4-ee80-4860-9433-ec0101be1891" + } + } + }, + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "1c3f2afc-9ec1-4e74-bfe8-022b83bcd7b1" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/OperationsListByTenant.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/OperationsListByTenant.json new file mode 100644 index 000000000000..98d884d810e2 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-10-01/examples/OperationsListByTenant.json @@ -0,0 +1,327 @@ +{ + "parameters": { + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.OperationalInsights/workspaces/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Create Workspace", + "description": "Creates a new workspace or links to an existing workspace by providing the customer id from the existing workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Get Workspace", + "description": "Gets an existing workspace" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Delete Workspace", + "description": "Deletes a workspace. If the workspace was linked to an existing workspace at creation time then the workspace it was linked to is not deleted." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/generateregistrationcertificate/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Registration Certificate", + "operation": "Generates Registration Certificate for Workspace.", + "description": "Generates Registration Certificate for the workspace. This Certificate is used to connect Microsoft System Center Operation Manager to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Create Storage Configuration", + "description": "Creates a new storage configuration. These configurations are used to pull data from a location in an existing storage account." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Get Storage Configuration", + "description": "Gets a storage configuration." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Delete Storage Configuration", + "description": "Deletes a storage configuration. This will stop Microsoft Operational Insights from reading data from the storage account." + } + }, + { + "name": "Microsoft.OperationalInsights/register/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Register", + "operation": "Register a subscription to a resource provider.", + "description": "Register a subscription to a resource provider." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/sharedKeys/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Shared Keys", + "operation": "List Workspace Shared Keys", + "description": "Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/sharedKeys/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Shared Keys", + "operation": "List Workspace Shared Keys", + "description": "Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/listKeys/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "List Keys", + "operation": "List Workspace Keys", + "description": "Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/listKeys/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "List Keys", + "operation": "List Workspace Keys", + "description": "Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/managementGroups/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Management Group", + "operation": "Get Management Groups for Workspace", + "description": "Gets the names and metadata for System Center Operations Manager management groups connected to this workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/usages/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Usage Metric", + "operation": "Get Usage Data for Workspace", + "description": "Gets usage data for a workspace including the amount of data read by the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/search/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Search", + "operation": "Search Workspace Data", + "description": "Executes a search query" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Search Schema", + "operation": "Get Search Schema", + "description": "Gets the search schema for the workspace. Search schema includes the exposed fields and their types." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/datasources/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Data Source", + "operation": "Get datasources under a workspace.", + "description": "Get datasources under a workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/datasources/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Data Source", + "operation": "Create/Update datasources under a workspace.", + "description": "Create/Update datasources under a workspace." + } + }, + {}, + {}, + {}, + {}, + { + "name": "Microsoft.OperationalInsights/workspaces/notificationSettings/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Notification Settings", + "operation": "Get Notification Settings", + "description": "Get the user's notification settings for the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/notificationSettings/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Notification Settings", + "operation": "Put Notification Settings", + "description": "Set the user's notification settings for the workspace." + } + }, + {}, + {}, + {}, + { + "name": "Microsoft.OperationalInsights/workspaces/configurationScopes/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Configuration Scope", + "operation": "Delete Configuration Scope", + "description": "Delete Configuration Scope" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Get linked services under given workspace.", + "description": "Get linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Create/Update linked services under given workspace.", + "description": "Create/Update linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Delete linked services under given workspace.", + "description": "Delete linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "List Intelligence Packs", + "description": "Lists all intelligence packs that are visible for a given worksapce and also lists whether the pack is enabled or disabled for that workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/enable/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "Enable Intelligence Pack", + "description": "Enables an intelligence pack for a given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/disable/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "Disable Intelligence Pack", + "description": "Disables an intelligence pack for a given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/analytics/query/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Search using new engine.", + "description": "Search using new engine." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/analytics/query/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Get search schema V2.", + "description": "Get search schema V2." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/api/query/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Search using new engine.", + "description": "Search using new engine." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/api/query/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Get search schema V2.", + "description": "Get search schema V2." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/purge/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Delete specified data from workspace", + "description": "Delete specified data from workspace" + } + }, + { + "name": "Microsoft.OperationalInsights/linkTargets/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Unlinked Account", + "operation": "List Unlinked Accounts", + "description": "Lists existing accounts that are not associated with an Azure subscription. To link this Azure subscription to a workspace, use a customer id returned by this operation in the customer id property of the Create Workspace operation." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/metricDefinitions/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Metric Definitions", + "operation": "Metric Definition operation", + "description": "Get Metric Definitions under workspace" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/readme.azureresourceschema.md b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..23723e41df5e --- /dev/null +++ b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,125 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-operationalinsights-2020-08-01 + - tag: schema-operationalinsights-2020-10-01 + - tag: schema-operationalinsights-2020-03-01-preview + - tag: schema-operationalinsights-2019-08-01-preview + - tag: schema-operationalinsights-2015-11-01-preview + - tag: schema-operationalinsights-2015-03-20 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationalinsights-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json + - Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json + - Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json + - Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json + - Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json + - Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json + - Microsoft.OperationalInsights/stable/2020-08-01/Operations.json + - Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json + - Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json + - Microsoft.OperationalInsights/stable/2020-08-01/Usages.json + - Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json + - Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json + - Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json + - Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json + - Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json + - Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json + - Microsoft.OperationalInsights/stable/2020-08-01/Schema.json + - Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json + - Microsoft.OperationalInsights/stable/2020-08-01/Tables.json + +``` + +### Tag: schema-operationalinsights-2020-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2020-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json + - Microsoft.OperationalInsights/stable/2020-10-01/Operations.json + +``` + +### Tag: schema-operationalinsights-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/ManagementGroups.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Operations.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/OperationStatuses.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/SharedKeys.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Usages.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Clusters.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/StorageInsightConfigs.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Gateways.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Schema.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/WorkspacePurge.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json + +``` + +### Tag: schema-operationalinsights-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json + - Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json + +``` + +### Tag: schema-operationalinsights-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2015-11-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json + +``` + +### Tag: schema-operationalinsights-2015-03-20 and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-03-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json + +``` diff --git a/specification/operationalinsights/resource-manager/readme.go.md b/specification/operationalinsights/resource-manager/readme.go.md index 94ee9c7a62d1..83b539dd6d70 100644 --- a/specification/operationalinsights/resource-manager/readme.go.md +++ b/specification/operationalinsights/resource-manager/readme.go.md @@ -15,7 +15,9 @@ go: batch: - tag: package-2015-03 - tag: package-2015-11-preview + - tag: package-2019-08-preview - tag: package-2020-03-preview + - tag: package-2020-10 - tag: package-2020-08 ``` @@ -28,6 +30,15 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-08-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-08-01-preview/$(namespace) +``` + ### Tag: package-2015-11-preview and go These settings apply only when `--tag=package-2015-11-preview --go` is specified on the command line. @@ -46,11 +57,20 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-10' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-01/$(namespace) +``` + ### Tag: package-2020-08 and go These settings apply only when `--tag=package-2020-08 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-08' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-01/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-08-01/$(namespace) ``` diff --git a/specification/operationalinsights/resource-manager/readme.java.md b/specification/operationalinsights/resource-manager/readme.java.md index 92bb1e7a2c03..fd9f56c9a162 100644 --- a/specification/operationalinsights/resource-manager/readme.java.md +++ b/specification/operationalinsights/resource-manager/readme.java.md @@ -27,6 +27,7 @@ batch: - tag: package-2015-03 - tag: package-2015-11-preview - tag: package-2020-03-preview + - tag: package-2020-10 - tag: package-2020-08 ``` @@ -43,6 +44,19 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-10 and java + +These settings apply only when `--tag=package-2020-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.loganalytics.v2020_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/loganalytics/mgmt-v2020_10_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-03-preview and java These settings apply only when `--tag=package-2020-03-preview --java` is specified on the command line. diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index 84122373b295..34124ff87b8d 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -70,6 +70,7 @@ These settings apply only when `--tag=package-2020-03-preview` is specified on t input-file: - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json +- Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json @@ -90,6 +91,16 @@ input-file: - Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.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: +- Microsoft.OperationalInsights/stable/2020-10-01/Clusters.json +- Microsoft.OperationalInsights/stable/2020-10-01/Operations.json +``` + ### Tag: package-2020-08 These settings apply only when `--tag=package-2020-08` is specified on the command line. @@ -138,6 +149,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_operational_insights'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js operationalinsights/resource-manager ``` @@ -210,70 +224,7 @@ directive: reason: properties etag defined as eTag in model ``` -## 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! +## AzureResourceSchema -``` 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.OperationalInsights/preview/2015-11-01-preview/LinkedServices.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/ManagementGroups.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Operations.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/OperationStatuses.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/SharedKeys.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Usages.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Clusters.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/StorageInsightConfigs.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Gateways.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Schema.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/WorkspacePurge.json - - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Operations.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json - - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Tables.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/operationsmanagement/resource-manager/readme.azureresourceschema.md b/specification/operationsmanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5aa1c7bc845a --- /dev/null +++ b/specification/operationsmanagement/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-operationsmanagement-2015-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationsmanagement-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationsmanagement-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json + +``` diff --git a/specification/operationsmanagement/resource-manager/readme.md b/specification/operationsmanagement/resource-manager/readme.md index 016569b64e0a..f4f947c62ed6 100644 --- a/specification/operationsmanagement/resource-manager/readme.md +++ b/specification/operationsmanagement/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-python - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js operationsmanagement/resource-manager ``` @@ -122,27 +125,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CheckServiceProviderAvailability.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CheckServiceProviderAvailability.json new file mode 100644 index 000000000000..aa52f4d1ec70 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CheckServiceProviderAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01", + "checkServiceProviderAvailabilityInput": { + "peeringServiceLocation": "peeringServiceLocation1", + "peeringServiceProvider": "peeringServiceProvider1" + } + }, + "responses": { + "200": { + "body": "Available" + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateDirectPeering.json new file mode 100644 index 000000000000..db79990fd974 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateDirectPeering.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "peering": { + "sku": { + "name": "Basic_Direct_Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + }, + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "microsoftTrackingId": "test-microsoft-reference-id-1", + "peeringDBFacilityId": 99999, + "connectionState": "ProvisioningFailed", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16", + "errorMessage": "IPv4 address is already configured with a different ASN" + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "microsoftTrackingId": "test-microsoft-reference-id-2", + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.1.0/31", + "sessionPrefixV6": "fd00::2/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "microsoftTrackingId": "test-microsoft-reference-id-1", + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "microsoftTrackingId": "test-microsoft-reference-id-2", + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateExchangePeering.json new file mode 100644 index 000000000000..f247cd9f0e28 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateExchangePeering.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "peering": { + "sku": { + "name": "Basic_Exchange_Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "ProvisioningFailed", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D", + "errorMessage": "IPv4 address is already configured with a different ASN" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeerAsn.json new file mode 100644 index 000000000000..2955a915ca22 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeerAsn.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2020-10-01", + "peerAsn": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + }, + "201": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringService.json new file mode 100644 index 000000000000..967f989c5e27 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringService.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2020-10-01", + "peeringService": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + }, + "201": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringServicePrefix.json new file mode 100644 index 000000000000..7dc5e8cf0811 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringServicePrefix.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2020-10-01", + "peeringServicePrefix": { + "properties": { + "prefix": "192.168.1.0/24", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Failed", + "learnedType": "None", + "errorMessage": "Prefix is not announced by the service provider to Microsoft.", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + }, + "201": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Failed", + "learnedType": "None", + "errorMessage": "Prefix is not announced by the service provider to Microsoft.", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringWithExchangeRouteServer.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringWithExchangeRouteServer.json new file mode 100644 index 000000000000..e8075ecb979a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreatePeeringWithExchangeRouteServer.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "peering": { + "sku": { + "name": "Premium_Direct_Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_Direct_Free", + "tier": "Premium", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_Direct_Free", + "tier": "Premium", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredAsn.json new file mode 100644 index 000000000000..993072a62208 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredAsn.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredAsn": { + "properties": { + "asn": 65000 + } + }, + "registeredAsnName": "registeredAsnName" + }, + "responses": { + "200": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName", + "type": "Microsoft.Peering/registeredAsns" + } + }, + "201": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName", + "type": "Microsoft.Peering/registeredAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredPrefix.json new file mode 100644 index 000000000000..f2c1b73fc436 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/CreateRegisteredPrefix.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredPrefix": { + "properties": { + "prefix": "10.22.20.0/24" + } + }, + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + }, + "201": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Pending", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeerAsn.json new file mode 100644 index 000000000000..add7bedb0630 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeerAsn.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2020-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeering.json new file mode 100644 index 000000000000..9d2f1250a881 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeering.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringService.json new file mode 100644 index 000000000000..a22934f7346f --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringService.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2020-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringServicePrefix.json new file mode 100644 index 000000000000..1c1e136b943e --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeletePeeringServicePrefix.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2020-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredAsn.json new file mode 100644 index 000000000000..d4c5bf8ad0bf --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredAsn.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredAsnName": "registeredAsnName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredPrefix.json new file mode 100644 index 000000000000..2af34531c655 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/DeleteRegisteredPrefix.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeerAsn.json new file mode 100644 index 000000000000..07fc9d864f7f --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeerAsn.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeering.json new file mode 100644 index 000000000000..145fae966991 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeering.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringReceivedRoutes.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringReceivedRoutes.json new file mode 100644 index 000000000000..db1073c351ec --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringReceivedRoutes.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "prefix": "1.1.1.0/24", + "asPath": "123 456", + "originAsValidationState": "Valid", + "rpkiValidationState": "Valid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "prefix": "1.1.1.0/24", + "nextHop": "127.0.0.1", + "asPath": "123 456", + "originAsValidationState": "Valid", + "rpkiValidationState": "Valid", + "trustAnchor": "Arin", + "receivedTimestamp": "2020-04-05 03:39:20" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringService.json new file mode 100644 index 000000000000..c9a14dca4eaf --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringService.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringServicePrefix.json new file mode 100644 index 000000000000..996ef49c7ef0 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetPeeringServicePrefix.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredAsn.json new file mode 100644 index 000000000000..0cbfd3588513 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredAsn.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredAsnName": "registeredAsnName0" + }, + "responses": { + "200": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0", + "type": "Microsoft.Peering/registeredAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredPrefix.json new file mode 100644 index 000000000000..48eeab804efb --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/GetRegisteredPrefix.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListCdnPeeringPrefixes.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListCdnPeeringPrefixes.json new file mode 100644 index 000000000000..62029c161d0c --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListCdnPeeringPrefixes.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01", + "peeringLocation": "peeringLocation0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "192.168.1.0/24", + "azureRegion": "West Central US", + "azureService": "AzureCompute", + "isPrimaryRegion": false, + "bgpCommunity": "0000:0000" + }, + "name": "CdnPrefix_192_168_1_0_24", + "id": "/subscriptions/subId/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_192_168_1_0_24", + "type": "Microsoft.Peering/cdnPeeringPrefixes" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListDirectPeeringLocations.json new file mode 100644 index 000000000000..8ee2b0b60037 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListDirectPeeringLocations.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Direct", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address1", + "directPeeringType": "Edge", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + }, + { + "address": "address3", + "directPeeringType": "Cdn", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address2", + "directPeeringType": "Edge", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListExchangePeeringLocations.json new file mode 100644 index 000000000000..ac8c6c47173c --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListExchangePeeringLocations.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name1", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.131.1", + "microsoftIPv6Address": "fd00::1:1", + "facilityIPv4Prefix": "192.168.128.0/17", + "facilityIPv6Prefix": "fd00::1000:0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + }, + { + "exchangeName": "name3", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.2", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/17", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name2", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.1", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/16", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListLegacyPeerings.json new file mode 100644 index 000000000000..66cb8747fff1 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListLegacyPeerings.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "peeringLocation": "peeringLocation0", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "65000" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "name": "peeringName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeerAsnsBySubscription.json new file mode 100644 index 000000000000..7afe7db051c8 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeerAsnsBySubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringOperations.json new file mode 100644 index 000000000000..39c812acaa4b --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringOperations.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Peering/register/action", + "display": { + "provider": "Microsoft.Peering", + "resource": "Peering Resource Provider", + "operation": "Registers the Peering Resource Provider", + "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Write PeerAsn", + "description": "Write any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Read PeerAsn", + "description": "Read any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Delete PeerAsn", + "description": "Delete any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringLocations/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringLocations", + "operation": "Read PeeringLocation", + "description": "Read any peeringLocations" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/legacyPeerings/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "legacyPeerings", + "operation": "Read LegacyPeering", + "description": "Read any legacyPeerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Write Peering", + "description": "Write any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Read Peering", + "description": "Read any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Delete Peering", + "description": "Delete any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServiceLocations/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServiceLocations", + "operation": "Read PeeringServiceLocations", + "description": "Read any peeringServiceLocations" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServiceProviders/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServiceProviders", + "operation": "Read PeeringServiceProviders", + "description": "Read any peeringServiceProviders" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Read PeeringServices", + "description": "Read any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Write PeeringService", + "description": "Write any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Delete PeeringServices", + "description": "Delete any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Read PeeringServicePrefixes", + "description": "Read any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Write PeeringServicePrefixes", + "description": "Write any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Delete PeeringServicePrefixes", + "description": "Delete any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Read RegisteredPrefixes", + "description": "Read any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Write RegisteredPrefixes", + "description": "Write any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Delete RegisteredPrefixes", + "description": "Delete any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Read RegisteredAsns", + "description": "Read any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Write RegisteredAsns", + "description": "Write any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Delete RegisteredAsns", + "description": "Delete any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/receivedRoutes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "receivedRoutes", + "operation": "Read PeeringReceivedRoutes", + "description": "Read any receivedRoutes" + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceCountriesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceCountriesBySubscription.json new file mode 100644 index 000000000000..a16d341b7ed2 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceCountriesBySubscription.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "country1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country1", + "type": "Microsoft.Peering/peeringServiceCountries" + }, + { + "name": "country2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country2", + "type": "Microsoft.Peering/peeringServiceCountries" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceLocationsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceLocationsBySubscription.json new file mode 100644 index 000000000000..7d8abce45a3d --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceLocationsBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "country": "country1", + "state": "state1" + }, + "name": "peeringServiceLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation1", + "type": "Microsoft.Peering/peeringServiceLocations" + }, + { + "properties": { + "country": "country2", + "state": "state2" + }, + "name": "peeringServiceLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation2", + "type": "Microsoft.Peering/peeringServiceLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceProviders.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceProviders.json new file mode 100644 index 000000000000..9ba2d5ab6253 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServiceProviders.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "serviceProviderName": "peeringServiceProvider1" + }, + "name": "peeringServiceProvider1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider1", + "type": "Microsoft.Peering/peeringServiceProviders" + }, + { + "properties": { + "serviceProviderName": "peeringServiceProvider2" + }, + "name": "peeringServiceProvider2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider2", + "type": "Microsoft.Peering/peeringServiceProviders" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesByResourceGroup.json new file mode 100644 index 000000000000..cc2d62d9fa73 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesByResourceGroup.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesBySubscription.json new file mode 100644 index 000000000000..2f9a62b6b7d8 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringServicesBySubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsByResourceGroup.json new file mode 100644 index 000000000000..c51728cf87ef --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsBySubscription.json new file mode 100644 index 000000000000..963e825c79fb --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPeeringsBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPrefixesByPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPrefixesByPeeringService.json new file mode 100644 index 000000000000..350c2f15f0b3 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListPrefixesByPeeringService.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName1" + }, + { + "properties": { + "prefix": "192.168.2.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName2" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredAsnsByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredAsnsByPeering.json new file mode 100644 index 000000000000..67ec5f7ce66a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredAsnsByPeering.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0", + "type": "Microsoft.Peering/registeredAsns" + }, + { + "properties": { + "asn": 65001, + "provisioningState": "Failed" + }, + "name": "registeredAsnName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName1", + "type": "Microsoft.Peering/registeredAsns" + }, + { + "properties": { + "asn": 65002, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName2", + "type": "Microsoft.Peering/registeredAsns" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredPrefixesByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredPrefixesByPeering.json new file mode 100644 index 000000000000..0aced0d9d1f8 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/ListRegisteredPrefixesByPeering.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName0", + "type": "Microsoft.Peering/registeredPrefixes" + }, + { + "properties": { + "prefix": "10.22.21.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName1", + "type": "Microsoft.Peering/registeredPrefixes" + }, + { + "properties": { + "prefix": "10.22.22.0/24", + "prefixValidationState": "Pending", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName2", + "type": "Microsoft.Peering/registeredPrefixes" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringServiceTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringServiceTags.json new file mode 100644 index 000000000000..ef65c82b1add --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringServiceTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2020-10-01", + "tags": { + "tags": { + "tag0": "value0", + "tag1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "tags": { + "tag0": "value0", + "tag1": "value1" + }, + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringTags.json new file mode 100644 index 000000000000..0de6a3f0de59 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/examples/UpdatePeeringTags.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2020-10-01", + "tags": { + "tags": { + "tag0": "value0", + "tag1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "tags": { + "tag0": "value0", + "tag1": "value1" + }, + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/peering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/peering.json new file mode 100644 index 000000000000..f860849ea800 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2020-10-01/peering.json @@ -0,0 +1,3525 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-01", + "title": "PeeringManagementClient", + "description": "APIs to manage Peering resources through the Azure Resource Manager." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/cdnPeeringPrefixes": { + "get": { + "tags": [ + "CdnPeeringPrefixes" + ], + "description": "Lists all of the advertised prefixes for the specified peering location", + "operationId": "CdnPeeringPrefixes_List", + "parameters": [ + { + "name": "peeringLocation", + "in": "query", + "description": "The peering location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CdnPeeringPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the cdn peering prefixes advertised at a particular peering location": { + "$ref": "./examples/ListCdnPeeringPrefixes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability": { + "post": { + "tags": [ + "CheckServiceProviderAvailability" + ], + "description": "Checks if the peering service provider is present within 1000 miles of customer's location", + "operationId": "CheckServiceProviderAvailability", + "parameters": [ + { + "name": "checkServiceProviderAvailabilityInput", + "in": "body", + "description": "The CheckServiceProviderAvailabilityInput indicating customer location and service provider.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckServiceProviderAvailabilityInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "enum": [ + "Available", + "Unavailable" + ], + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check if peering service provider is available in customer location": { + "$ref": "./examples/CheckServiceProviderAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": { + "get": { + "tags": [ + "LegacyPeerings" + ], + "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.", + "operationId": "LegacyPeerings_List", + "parameters": [ + { + "name": "peeringLocation", + "in": "query", + "description": "The location of the peering.", + "required": true, + "type": "string" + }, + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ] + }, + { + "name": "asn", + "in": "query", + "description": "The ASN number associated with a legacy peering.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List legacy peerings": { + "$ref": "./examples/ListLegacyPeerings.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Peering/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available API operations for peering resources.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering operations": { + "$ref": "./examples/ListPeeringOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Gets the peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Get", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peer ASN": { + "$ref": "./examples/GetPeerAsn.json" + } + } + }, + "put": { + "tags": [ + "PeerAsns" + ], + "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_CreateOrUpdate", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "name": "peerAsn", + "in": "body", + "description": "The peer ASN.", + "required": true, + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a peer ASN": { + "$ref": "./examples/CreatePeerAsn.json" + } + } + }, + "delete": { + "tags": [ + "PeerAsns" + ], + "description": "Deletes an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Delete", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peer ASN": { + "$ref": "./examples/DeletePeerAsn.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Lists all of the peer ASNs under the given subscription.", + "operationId": "PeerAsns_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsnListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peer ASNs in a subscription": { + "$ref": "./examples/ListPeerAsnsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": { + "get": { + "tags": [ + "PeeringLocations" + ], + "description": "Lists all of the available peering locations for the specified kind of peering.", + "operationId": "PeeringLocations_List", + "parameters": [ + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ] + }, + { + "name": "directPeeringType", + "in": "query", + "description": "The type of direct peering.", + "required": false, + "type": "string", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs" + ] + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List direct peering locations": { + "$ref": "./examples/ListDirectPeeringLocations.json" + }, + "List exchange peering locations": { + "$ref": "./examples/ListExchangePeeringLocations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}": { + "get": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Gets an existing registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the registered ASN.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a registered ASN associated with the peering": { + "$ref": "./examples/GetRegisteredAsn.json" + } + } + }, + "put": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Creates a new registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the ASN.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsn", + "in": "body", + "description": "The properties needed to create a registered ASN.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a registered ASN for the peering": { + "$ref": "./examples/CreateRegisteredAsn.json" + } + } + }, + "delete": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the registered ASN.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a registered ASN associated with the peering": { + "$ref": "./examples/DeleteRegisteredAsn.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns": { + "get": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Lists all registered ASNs under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsnListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the registered ASNs associated with the peering": { + "$ref": "./examples/ListRegisteredAsnsByPeering.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}": { + "get": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Gets an existing registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a registered prefix associated with the peering": { + "$ref": "./examples/GetRegisteredPrefix.json" + } + } + }, + "put": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Creates a new registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefix", + "in": "body", + "description": "The properties needed to create a registered prefix.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a registered prefix for the peering": { + "$ref": "./examples/CreateRegisteredPrefix.json" + } + } + }, + "delete": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a registered prefix associated with the peering": { + "$ref": "./examples/DeleteRegisteredPrefix.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes": { + "get": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Lists all registered prefixes under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the registered prefixes associated with the peering": { + "$ref": "./examples/ListRegisteredPrefixesByPeering.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Gets an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peering": { + "$ref": "./examples/GetPeering.json" + } + } + }, + "put": { + "tags": [ + "Peerings" + ], + "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "peering", + "in": "body", + "description": "The properties needed to create or update a peering.", + "required": true, + "schema": { + "$ref": "#/definitions/Peering" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a direct peering": { + "$ref": "./examples/CreateDirectPeering.json" + }, + "Create an exchange peering": { + "$ref": "./examples/CreateExchangePeering.json" + }, + "Create a peering with exchange route server": { + "$ref": "./examples/CreatePeeringWithExchangeRouteServer.json" + } + } + }, + "delete": { + "tags": [ + "Peerings" + ], + "description": "Deletes an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peering": { + "$ref": "./examples/DeletePeering.json" + } + } + }, + "patch": { + "tags": [ + "Peerings" + ], + "description": "Updates tags for a peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Update", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "tags", + "in": "body", + "description": "The resource tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTags" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update peering tags": { + "$ref": "./examples/UpdatePeeringTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription and resource group.", + "operationId": "Peerings_ListByResourceGroup", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a resource group": { + "$ref": "./examples/ListPeeringsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription.", + "operationId": "Peerings_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a subscription": { + "$ref": "./examples/ListPeeringsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists the prefixes received over the specified peering under the given subscription and resource group.", + "operationId": "ReceivedRoutes_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "prefix", + "in": "query", + "description": "The optional prefix that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "asPath", + "in": "query", + "description": "The optional AS path that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "originAsValidationState", + "in": "query", + "description": "The optional origin AS validation state that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "rpkiValidationState", + "in": "query", + "description": "The optional RPKI validation state that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "The optional page continuation token that is used in the event of paginated result.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringReceivedRouteListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the prefixes received over the specified peering under the given subscription and resource group.": { + "$ref": "./examples/GetPeeringReceivedRoutes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries": { + "get": { + "tags": [ + "PeeringServiceCountries" + ], + "description": "Lists all of the available countries for peering service.", + "operationId": "PeeringServiceCountries_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceCountryListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service countries": { + "$ref": "./examples/ListPeeringServiceCountriesBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations": { + "get": { + "tags": [ + "PeeringServiceLocations" + ], + "description": "Lists all of the available locations for peering service.", + "operationId": "PeeringServiceLocations_List", + "parameters": [ + { + "name": "country", + "in": "query", + "description": "The country of interest, in which the locations are to be present.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service locations": { + "$ref": "./examples/ListPeeringServiceLocationsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}": { + "get": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Gets an existing prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The properties to be expanded.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a prefix associated with the peering service": { + "$ref": "./examples/GetPeeringServicePrefix.json" + } + } + }, + "put": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Creates a new prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "name": "peeringServicePrefix", + "in": "body", + "description": "The properties needed to create a prefix.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a prefix for the peering service": { + "$ref": "./examples/CreatePeeringServicePrefix.json" + } + } + }, + "delete": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Deletes an existing prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a prefix associated with the peering service": { + "$ref": "./examples/DeletePeeringServicePrefix.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes": { + "get": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Lists all prefixes under the given subscription, resource group and peering service.", + "operationId": "Prefixes_ListByPeeringService", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The properties to be expanded.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the prefixes associated with the peering service": { + "$ref": "./examples/ListPrefixesByPeeringService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders": { + "get": { + "tags": [ + "PeeringServiceProviders" + ], + "description": "Lists all of the available peering service locations for the specified kind of peering.", + "operationId": "PeeringServiceProviders_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service providers": { + "$ref": "./examples/ListPeeringServiceProviders.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Gets an existing peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peering service": { + "$ref": "./examples/GetPeeringService.json" + } + } + }, + "put": { + "tags": [ + "PeeringServices" + ], + "description": "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "peeringService", + "in": "body", + "description": "The properties needed to create or update a peering service.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a peering service": { + "$ref": "./examples/CreatePeeringService.json" + } + } + }, + "delete": { + "tags": [ + "PeeringServices" + ], + "description": "Deletes an existing peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peering service": { + "$ref": "./examples/DeletePeeringService.json" + } + } + }, + "patch": { + "tags": [ + "PeeringServices" + ], + "description": "Updates tags for a peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Update", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "tags", + "in": "body", + "description": "The resource tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTags" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update peering service tags": { + "$ref": "./examples/UpdatePeeringServiceTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Lists all of the peering services under the given subscription and resource group.", + "operationId": "PeeringServices_ListByResourceGroup", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering services in a resource group": { + "$ref": "./examples/ListPeeringServicesByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Lists all of the peerings under the given subscription.", + "operationId": "PeeringServices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering services in a subscription": { + "$ref": "./examples/ListPeeringServicesBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CdnPeeringPrefixListResult": { + "description": "The paginated list of CDN peering prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of CDN peering prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/CdnPeeringPrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of CDN peering prefixes.", + "type": "string" + } + } + }, + "CdnPeeringPrefix": { + "description": "The CDN peering prefix", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CdnPeeringPrefixProperties", + "description": "The properties that define a cdn peering prefix.", + "x-ms-client-flatten": true + } + } + }, + "CdnPeeringPrefixProperties": { + "description": "The properties that define a CDN peering prefix", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix.", + "type": "string", + "readOnly": true + }, + "azureRegion": { + "description": "The Azure region.", + "type": "string", + "readOnly": true + }, + "azureService": { + "description": "The Azure service.", + "type": "string", + "readOnly": true + }, + "isPrimaryRegion": { + "description": "The flag that indicates whether or not this is the primary region.", + "type": "boolean", + "readOnly": true + }, + "bgpCommunity": { + "description": "The BGP Community", + "type": "string", + "readOnly": true + } + } + }, + "CheckServiceProviderAvailabilityInput": { + "description": "Class for CheckServiceProviderAvailabilityInput", + "type": "object", + "properties": { + "peeringServiceLocation": { + "description": "Gets or sets the peering service location.", + "type": "string" + }, + "peeringServiceProvider": { + "description": "Gets or sets the peering service provider.", + "type": "string" + } + } + }, + "PeeringListResult": { + "description": "The paginated list of peerings.", + "type": "object", + "properties": { + "value": { + "description": "The list of peerings.", + "type": "array", + "items": { + "$ref": "#/definitions/Peering" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peerings.", + "type": "string" + } + } + }, + "Peering": { + "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.", + "required": [ + "sku", + "kind", + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/PeeringSku", + "description": "The SKU that defines the tier and kind of the peering." + }, + "kind": { + "description": "The kind of the peering.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringProperties", + "description": "The properties that define a peering.", + "x-ms-client-flatten": true + }, + "location": { + "description": "The location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringSku": { + "description": "The SKU that defines the tier and kind of the peering.", + "type": "object", + "properties": { + "name": { + "description": "The name of the peering SKU.", + "type": "string" + }, + "tier": { + "description": "The tier of the peering SKU.", + "enum": [ + "Basic", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "tier", + "modelAsString": true + } + }, + "family": { + "description": "The family of the peering SKU.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "family", + "modelAsString": true + } + }, + "size": { + "description": "The size of the peering SKU.", + "enum": [ + "Free", + "Metered", + "Unlimited" + ], + "type": "string", + "x-ms-enum": { + "name": "size", + "modelAsString": true + } + } + } + }, + "PeeringProperties": { + "description": "The properties that define connectivity to the Microsoft Cloud Edge.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringPropertiesDirect", + "description": "The properties that define a direct peering." + }, + "exchange": { + "$ref": "#/definitions/PeeringPropertiesExchange", + "description": "The properties that define an exchange peering." + }, + "peeringLocation": { + "description": "The location of the peering.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringPropertiesDirect": { + "description": "The properties that define a direct peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute a direct peering.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectConnection" + } + }, + "useForPeeringService": { + "description": "The flag that indicates whether or not the peering is used for peering service.", + "type": "boolean", + "readOnly": true + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + }, + "directPeeringType": { + "description": "The type of direct peering.", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs" + ], + "type": "string", + "x-ms-enum": { + "name": "directPeeringType", + "modelAsString": true + } + } + } + }, + "PeeringPropertiesExchange": { + "description": "The properties that define an exchange peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute an exchange peering.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangeConnection" + } + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + } + } + }, + "DirectConnection": { + "description": "The properties that define a direct connection.", + "type": "object", + "properties": { + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection.", + "type": "integer" + }, + "provisionedBandwidthInMbps": { + "format": "int32", + "description": "The bandwidth that is actually provisioned.", + "type": "integer", + "readOnly": true + }, + "sessionAddressProvider": { + "description": "The field indicating if Microsoft provides session ip addresses.", + "enum": [ + "Microsoft", + "Peer" + ], + "type": "string", + "x-ms-enum": { + "name": "sessionAddressProvider", + "modelAsString": true + } + }, + "useForPeeringService": { + "description": "The flag that indicates whether or not the connection is used for peering service.", + "type": "boolean" + }, + "microsoftTrackingId": { + "description": "The ID used within Microsoft's peering provisioning system to track the connection", + "type": "string", + "readOnly": true + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + }, + "connectionIdentifier": { + "description": "The unique identifier (GUID) for the connection.", + "type": "string" + }, + "errorMessage": { + "description": "The error message related to the connection state, if any.", + "type": "string", + "readOnly": true + } + } + }, + "SubResource": { + "description": "The sub resource.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of the referenced resource.", + "type": "string" + } + } + }, + "ExchangeConnection": { + "description": "The properties that define an exchange connection.", + "type": "object", + "properties": { + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + }, + "connectionIdentifier": { + "description": "The unique identifier (GUID) for the connection.", + "type": "string" + }, + "errorMessage": { + "description": "The error message related to the connection state, if any.", + "type": "string", + "readOnly": true + } + } + }, + "BgpSession": { + "description": "The properties that define a BGP session.", + "type": "object", + "properties": { + "sessionPrefixV4": { + "description": "The IPv4 prefix that contains both ends' IPv4 addresses.", + "type": "string" + }, + "sessionPrefixV6": { + "description": "The IPv6 prefix that contains both ends' IPv6 addresses.", + "type": "string" + }, + "microsoftSessionIPv4Address": { + "description": "The IPv4 session address on Microsoft's end.", + "type": "string" + }, + "microsoftSessionIPv6Address": { + "description": "The IPv6 session address on Microsoft's end.", + "type": "string" + }, + "peerSessionIPv4Address": { + "description": "The IPv4 session address on peer's end.", + "type": "string" + }, + "peerSessionIPv6Address": { + "description": "The IPv6 session address on peer's end.", + "type": "string" + }, + "sessionStateV4": { + "description": "The state of the IPv4 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "OpenReceived", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV4", + "modelAsString": true + } + }, + "sessionStateV6": { + "description": "The state of the IPv6 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "OpenReceived", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV6", + "modelAsString": true + } + }, + "maxPrefixesAdvertisedV4": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv4 session.", + "type": "integer" + }, + "maxPrefixesAdvertisedV6": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv6 session.", + "type": "integer" + }, + "md5AuthenticationKey": { + "description": "The MD5 authentication key of the session.", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "The paginated list of peering API operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering API operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering API operations.", + "type": "string" + } + } + }, + "Operation": { + "description": "The peering API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The information related to the operation.", + "readOnly": true + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + } + } + }, + "OperationDisplayInfo": { + "description": "The information related to the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the resource provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the operation.", + "type": "string", + "readOnly": true + } + } + }, + "PeerAsn": { + "description": "The essential information related to the peer's ASN.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeerAsnProperties", + "description": "The properties that define a peer's ASN.", + "x-ms-client-flatten": true + } + } + }, + "PeerAsnProperties": { + "description": "The properties that define a peer's ASN.", + "type": "object", + "properties": { + "peerAsn": { + "format": "int32", + "description": "The Autonomous System Number (ASN) of the peer.", + "type": "integer" + }, + "peerContactDetail": { + "description": "The contact details of the peer.", + "type": "array", + "items": { + "$ref": "#/definitions/ContactDetail" + } + }, + "peerName": { + "description": "The name of the peer.", + "type": "string" + }, + "validationState": { + "description": "The validation state of the ASN associated with the peer.", + "enum": [ + "None", + "Pending", + "Approved", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "validationState", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The error message for the validation state", + "type": "string", + "readOnly": true + } + } + }, + "ContactDetail": { + "description": "The contact detail class.", + "type": "object", + "properties": { + "role": { + "description": "The role of the contact.", + "enum": [ + "Noc", + "Policy", + "Technical", + "Service", + "Escalation", + "Other" + ], + "type": "string", + "x-ms-enum": { + "name": "role", + "modelAsString": true + } + }, + "email": { + "description": "The e-mail address of the contact.", + "type": "string" + }, + "phone": { + "description": "The phone number of the contact.", + "type": "string" + } + } + }, + "PeerAsnListResult": { + "description": "The paginated list of peer ASNs.", + "type": "object", + "properties": { + "value": { + "description": "The list of peer ASNs.", + "type": "array", + "items": { + "$ref": "#/definitions/PeerAsn" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peer ASNs.", + "type": "string" + } + } + }, + "PeeringLocationListResult": { + "description": "The paginated list of peering locations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering locations.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringLocation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering locations.", + "type": "string" + } + } + }, + "PeeringLocation": { + "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "kind": { + "description": "The kind of peering that the peering location supports.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringLocationProperties", + "description": "The properties that define a peering location.", + "x-ms-client-flatten": true + } + } + }, + "PeeringLocationProperties": { + "description": "The properties that define a peering location.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringLocationPropertiesDirect", + "description": "The properties that define a direct peering location." + }, + "exchange": { + "$ref": "#/definitions/PeeringLocationPropertiesExchange", + "description": "The properties that define an exchange peering location." + }, + "peeringLocation": { + "description": "The name of the peering location.", + "type": "string" + }, + "country": { + "description": "The country in which the peering location exists.", + "type": "string" + }, + "azureRegion": { + "description": "The Azure region associated with the peering location.", + "type": "string" + } + } + }, + "PeeringLocationPropertiesDirect": { + "description": "The properties that define a direct peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of direct peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectPeeringFacility" + } + }, + "bandwidthOffers": { + "description": "The list of bandwidth offers available at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringBandwidthOffer" + } + } + } + }, + "PeeringLocationPropertiesExchange": { + "description": "The properties that define an exchange peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of exchange peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangePeeringFacility" + } + } + } + }, + "DirectPeeringFacility": { + "description": "The properties that define a direct peering facility.", + "type": "object", + "properties": { + "address": { + "description": "The address of the direct peering facility.", + "type": "string" + }, + "directPeeringType": { + "description": "The type of the direct peering.", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs" + ], + "type": "string", + "x-ms-enum": { + "name": "directPeeringType", + "modelAsString": true + } + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "PeeringBandwidthOffer": { + "description": "The properties that define a peering bandwidth offer.", + "type": "object", + "properties": { + "offerName": { + "description": "The name of the bandwidth offer.", + "type": "string" + }, + "valueInMbps": { + "format": "int32", + "description": "The value of the bandwidth offer in Mbps.", + "type": "integer" + } + } + }, + "ExchangePeeringFacility": { + "description": "The properties that define an exchange peering facility.", + "type": "object", + "properties": { + "exchangeName": { + "description": "The name of the exchange peering facility.", + "type": "string" + }, + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.", + "type": "integer" + }, + "microsoftIPv4Address": { + "description": "The IPv4 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "microsoftIPv6Address": { + "description": "The IPv6 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "facilityIPv4Prefix": { + "description": "The IPv4 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "facilityIPv6Prefix": { + "description": "The IPv6 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "PeeringRegisteredAsn": { + "description": "The customer's ASN that is registered by the peering service provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringRegisteredAsnProperties", + "description": "The properties that define a registered ASN.", + "x-ms-client-flatten": true + } + } + }, + "PeeringRegisteredAsnProperties": { + "description": "The properties that define a registered ASN.", + "type": "object", + "properties": { + "asn": { + "format": "int32", + "description": "The customer's ASN from which traffic originates.", + "type": "integer" + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key that is to be shared with the customer.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringRegisteredAsnListResult": { + "description": "The paginated list of peering registered ASNs.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering registered ASNs.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering registered ASNs.", + "type": "string" + } + } + }, + "PeeringRegisteredPrefix": { + "description": "The customer's prefix that is registered by the peering service provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringRegisteredPrefixProperties", + "description": "The properties that define a registered prefix.", + "x-ms-client-flatten": true + } + } + }, + "PeeringRegisteredPrefixProperties": { + "description": "The properties that define a registered prefix.", + "type": "object", + "properties": { + "prefix": { + "description": "The customer's prefix from which traffic originates.", + "type": "string" + }, + "prefixValidationState": { + "description": "The prefix validation state.", + "enum": [ + "None", + "Invalid", + "Verified", + "Failed", + "Pending", + "Warning", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "prefixValidationState", + "modelAsString": true + } + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key that is to be shared with the customer.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message associated with the validation state, if any.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringRegisteredPrefixListResult": { + "description": "The paginated list of peering registered prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering registered prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering registered prefixes.", + "type": "string" + } + } + }, + "ResourceTags": { + "description": "The resource tags.", + "type": "object", + "properties": { + "tags": { + "description": "Gets or sets the tags, a dictionary of descriptors arm object", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringReceivedRouteListResult": { + "description": "The paginated list of received routes for the peering.", + "type": "object", + "properties": { + "value": { + "description": "The list of received routes for the peering.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringReceivedRoute" + } + }, + "nextLink": { + "description": "The link to fetch the next page of received routes for the peering.", + "type": "string" + } + } + }, + "PeeringReceivedRoute": { + "description": "The properties that define a received route.", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix.", + "type": "string", + "readOnly": true + }, + "nextHop": { + "description": "The next hop for the prefix.", + "type": "string", + "readOnly": true + }, + "asPath": { + "description": "The AS path for the prefix.", + "type": "string", + "readOnly": true + }, + "originAsValidationState": { + "description": "The origin AS change information for the prefix.", + "type": "string", + "readOnly": true + }, + "rpkiValidationState": { + "description": "The RPKI validation state for the prefix and origin AS that's listed in the AS path.", + "type": "string", + "readOnly": true + }, + "trustAnchor": { + "description": "The authority which holds the Route Origin Authorization record for the prefix, if any.", + "type": "string", + "readOnly": true + }, + "receivedTimestamp": { + "description": "The received timestamp associated with the prefix.", + "type": "string", + "readOnly": true + } + } + }, + "PeeringServiceCountryListResult": { + "description": "The paginated list of peering service countries.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service countries.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceCountry" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service countries.", + "type": "string" + } + } + }, + "PeeringServiceCountry": { + "description": "The peering service country.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "PeeringServiceLocationListResult": { + "description": "The paginated list of peering service locations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service locations.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceLocation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service locations.", + "type": "string" + } + } + }, + "PeeringServiceLocation": { + "description": "The peering service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServiceLocationProperties", + "description": "The properties that define a peering service location.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServiceLocationProperties": { + "description": "The properties that define connectivity to the Peering Service Location.", + "type": "object", + "properties": { + "country": { + "description": "Country of the customer", + "type": "string" + }, + "state": { + "description": "State of the customer", + "type": "string" + }, + "azureRegion": { + "description": "Azure region for the location", + "type": "string" + } + } + }, + "PeeringServicePrefix": { + "description": "The peering service prefix class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServicePrefixProperties", + "description": "Gets or sets the peering prefix properties.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServicePrefixProperties": { + "description": "The peering service prefix properties class.", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix from which your traffic originates.", + "type": "string" + }, + "prefixValidationState": { + "description": "The prefix validation state", + "enum": [ + "None", + "Invalid", + "Verified", + "Failed", + "Pending", + "Warning", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "prefixValidationState", + "modelAsString": true + } + }, + "learnedType": { + "description": "The prefix learned type", + "enum": [ + "None", + "ViaServiceProvider", + "ViaSession" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "learnedType", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The error message for validation state", + "type": "string", + "readOnly": true + }, + "events": { + "description": "The list of events for peering service prefix", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServicePrefixEvent" + }, + "readOnly": true + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringServicePrefixEvent": { + "description": "The details of the event associated with a prefix.", + "type": "object", + "properties": { + "eventTimestamp": { + "format": "date-time", + "description": "The timestamp of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventType": { + "description": "The type of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventSummary": { + "description": "The summary of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventLevel": { + "description": "The level of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventDescription": { + "description": "The description of the event associated with a prefix.", + "type": "string", + "readOnly": true + } + } + }, + "PeeringServicePrefixListResult": { + "description": "The paginated list of peering service prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service prefixes.", + "type": "string" + } + } + }, + "PeeringServiceProviderListResult": { + "description": "The paginated list of peering service providers.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service providers.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceProvider" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service providers.", + "type": "string" + } + } + }, + "PeeringServiceProvider": { + "description": "PeeringService provider", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServiceProviderProperties", + "description": "The properties that define a peering service provider.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServiceProviderProperties": { + "description": "The properties that define connectivity to the Peering Service Provider.", + "type": "object", + "properties": { + "serviceProviderName": { + "description": "The name of the service provider.", + "type": "string" + } + } + }, + "PeeringService": { + "description": "Peering Service", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/PeeringServiceSku", + "description": "The SKU that defines the type of the peering service." + }, + "properties": { + "$ref": "#/definitions/PeeringServiceProperties", + "description": "The properties that define a peering service.", + "x-ms-client-flatten": true + }, + "location": { + "description": "The location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringServiceSku": { + "description": "The SKU that defines the type of the peering service.", + "type": "object", + "properties": { + "name": { + "description": "The name of the peering service SKU.", + "type": "string" + } + } + }, + "PeeringServiceProperties": { + "description": "The properties that define connectivity to the Peering Service.", + "type": "object", + "properties": { + "peeringServiceLocation": { + "description": "The PeeringServiceLocation of the Customer.", + "type": "string" + }, + "peeringServiceProvider": { + "description": "The MAPS Provider Name.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringServiceListResult": { + "description": "The paginated list of peering services.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering services.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringService" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering services.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "The error response that indicates why an operation has failed.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail", + "description": "The error detail that describes why an operation has failed." + } + } + }, + "ErrorDetail": { + "description": "The error detail that describes why an operation has failed.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "The ARM resource class.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The ID of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/peering/resource-manager/readme.azureresourceschema.md b/specification/peering/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..92cf3226da03 --- /dev/null +++ b/specification/peering/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-peering-2020-10-01 + - tag: schema-peering-2020-04-01 + - tag: schema-peering-2020-01-01-preview + - tag: schema-peering-2019-09-01-preview + - tag: schema-peering-2019-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-peering-2020-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2020-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/stable/2020-10-01/peering.json + +``` + +### Tag: schema-peering-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/stable/2020-04-01/peering.json + +``` + +### Tag: schema-peering-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2020-01-01-preview/peering.json + +``` + +### Tag: schema-peering-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2019-09-01-preview/peering.json + +``` + +### Tag: schema-peering-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2019-08-01-preview/peering.json + +``` diff --git a/specification/peering/resource-manager/readme.go.md b/specification/peering/resource-manager/readme.go.md index 27337b355f40..9ec673b54fe6 100644 --- a/specification/peering/resource-manager/readme.go.md +++ b/specification/peering/resource-manager/readme.go.md @@ -11,7 +11,11 @@ go: ``` ### Go multi-api - +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-10-01 +``` +or ``` yaml $(go) && $(multiapi) batch: - tag: package-2020-04-01 @@ -32,6 +36,15 @@ batch: - tag: package-2019-08-01-preview ``` +### Tag: package-2020-10-01 and go + +These settings apply only when `--tag=package-2020-10-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-10-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-10-01/$(namespace) +``` + ### Tag: package-2020-04-01 and go These settings apply only when `--tag=package-2020-04-01 --go` is specified on the command line. diff --git a/specification/peering/resource-manager/readme.java.md b/specification/peering/resource-manager/readme.java.md index 41cb57f82562..a25716a4e548 100644 --- a/specification/peering/resource-manager/readme.java.md +++ b/specification/peering/resource-manager/readme.java.md @@ -13,8 +13,11 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering ``` ### Java multi-api - - +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-10-01 +``` +or ``` yaml $(java) && $(multiapi) batch: - tag: package-2020-04-01 @@ -35,6 +38,19 @@ batch: - tag: package-2019-08-01-preview ``` +### Tag: package-2020-10-01 and java + +These settings apply only when `--tag=package-2020-10-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-10-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.peering.v2020_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/peering/mgmt-v2020_10_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-04-01 and java These settings apply only when `--tag=package-2020-04-01 --java` is specified on the command line. diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md index 947c30cb6823..fbbe96e7a7ae 100644 --- a/specification/peering/resource-manager/readme.md +++ b/specification/peering/resource-manager/readme.md @@ -22,6 +22,14 @@ To see additional help and options, run: ### Basic Information These are the global settings for the Peering API. +``` yaml +title: PeeringManagementClient +description: Peering Client +openapi-type: arm +tag: package-2020-10-01 +``` +or + ``` yaml title: PeeringManagementClient description: Peering Client @@ -49,6 +57,14 @@ description: Peering Client openapi-type: arm tag: package-2019-08-01-preview ``` +### Tag: package-2020-10-01 + +These settings apply only when `--tag=package-2020-10-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-10-01' +input-file: +- Microsoft.Peering/stable/2020-10-01/peering.json +``` ### Tag: package-2020-04-01 @@ -105,6 +121,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_peering'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js peering/resource-manager ``` ## C# @@ -119,29 +138,7 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.cli.md](./readme.cli.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 +## AzureResourceSchema -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.Peering/stable/2020-04-01/peering.json - - $(this-folder)/Microsoft.Peering/preview/2020-01-01-preview/peering.json - - $(this-folder)/Microsoft.Peering/preview/2019-09-01-preview/peering.json - - $(this-folder)/Microsoft.Peering/preview/2019-08-01-preview/peering.json - -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Peering/preview/2019-06-01-preview/peering.json -``` diff --git a/specification/peering/resource-manager/readme.ruby.md b/specification/peering/resource-manager/readme.ruby.md index e62dc7a47c9e..58da419f7340 100644 --- a/specification/peering/resource-manager/readme.ruby.md +++ b/specification/peering/resource-manager/readme.ruby.md @@ -2,6 +2,12 @@ These settings apply only when `--ruby` is specified on the command line. +``` yaml +package-name: azure_mgmt_peering +package-version: "2020-10-01" +azure-arm: true +``` +or ``` yaml package-name: azure_mgmt_peering package-version: "2020-04-01" @@ -28,6 +34,11 @@ azure-arm: true ### Ruby multi-api +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2020-10-01 +``` +or ``` yaml $(ruby) && $(multiapi) batch: - tag: package-2020-04-01 @@ -48,6 +59,16 @@ batch: - tag: package-2019-08-01-preview ``` +### Tag: package-2020-10-01 and ruby + +These settings apply only when `--tag=package-2020-10-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-10-01' && $(ruby) +namespace: "Azure::Peering::Mgmt::V2020_10_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_peering/lib +``` + ### Tag: package-2020-04-01 and ruby These settings apply only when `--tag=package-2020-04-01 --ruby` is specified on the command line. diff --git a/specification/policyinsights/resource-manager/readme.azureresourceschema.md b/specification/policyinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7bf614fc2a2a --- /dev/null +++ b/specification/policyinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,66 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-policyinsights-2019-10-01 + - tag: schema-policyinsights-2019-07-01 + - tag: schema-policyinsights-2018-07-01-preview + - tag: schema-policyinsights-2018-04-04 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-policyinsights-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json + - Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json + - Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json + +``` + +### Tag: schema-policyinsights-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2019-07-01/remediations.json + +``` + +### Tag: schema-policyinsights-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json + +``` + +### Tag: schema-policyinsights-2018-04-04 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2018-04-04' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json + - Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json + +``` diff --git a/specification/policyinsights/resource-manager/readme.go.md b/specification/policyinsights/resource-manager/readme.go.md index fa3fa5126749..249c80b4f08a 100644 --- a/specification/policyinsights/resource-manager/readme.go.md +++ b/specification/policyinsights/resource-manager/readme.go.md @@ -23,7 +23,7 @@ These settings apply only when `--tag=package-2019-10 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2019-10' && $(go) -output-folder: $(go-sdk-folder)/services//$(namespace)/mgmt/2019-10-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-10-01-preview/$(namespace) ``` ### Tag: package-2018-07 and go diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md index 021a18defb12..f347aea242be 100644 --- a/specification/policyinsights/resource-manager/readme.md +++ b/specification/policyinsights/resource-manager/readme.md @@ -122,6 +122,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js policyinsights/resource-manager ``` @@ -234,36 +237,7 @@ generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2019-07-01/remediations.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json - - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json - - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json - - $(this-folder)/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json - - $(this-folder)/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json new file mode 100644 index 000000000000..804d967b678c --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview", + "tenantConfiguration": { + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json new file mode 100644 index 000000000000..640025727bc7 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json new file mode 100644 index 000000000000..bbb7cfefdb1f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Portal/tenantConfigurations", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json new file mode 100644 index 000000000000..b945a54fcc08 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json new file mode 100644 index 000000000000..1895a45a5f2f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json @@ -0,0 +1,256 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-01-01-preview", + "title": "portal", + "description": "Manage tenant configuration.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/providers/Microsoft.Portal/tenantConfigurations": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_List", + "description": "Gets list of the tenant configurations.", + "parameters": [ + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of tenant configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get list of Tenant configurations": { + "$ref": "examples/TenantConfiguration/GetListOfTenantConfigurations.json" + } + } + } + }, + "/providers/Microsoft.Portal/tenantConfigurations/{configurationName}": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Get", + "description": "Gets the tenant configuration.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the tenant configuration.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Tenant configuration": { + "$ref": "examples/TenantConfiguration/GetTenantConfiguration.json" + } + } + }, + "put": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Create", + "description": "Create the tenant configuration. If configuration already exists - update it. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + }, + { + "name": "tenantConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The parameters required to create or update tenant configuration." + } + ], + "responses": { + "201": { + "description": "Created. New configuration was created", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "200": { + "description": "OK. Existing configuration updated.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Tenant configuration": { + "$ref": "examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json" + } + } + }, + "delete": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Delete", + "description": "Delete the tenant configuration. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Configuration was deleted." + }, + "204": { + "description": "No content. Configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Tenant configuration": { + "$ref": "examples/TenantConfiguration/DeleteTenantConfiguration.json" + } + } + } + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration name. Value must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "configurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ConfigurationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The array of tenant configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of tenant configurations." + }, + "Configuration": { + "type": "object", + "description": "Tenant configuration.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationProperties", + "description": "Tenant configuration properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ConfigurationProperties": { + "type": "object", + "description": "Tenant configuration properties.", + "x-ms-azure-resource": true, + "properties": { + "enforcePrivateMarkdownStorage": { + "type": "boolean", + "description": "When flag is set to true Markdown tile will require external storage configuration (URI). The inline content configuration will be prohibited." + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json new file mode 100644 index 000000000000..452a679c3340 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2020-09-01-preview", + "tenantConfiguration": { + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json new file mode 100644 index 000000000000..ab65bfbf4885 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurationViolations.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurationViolations.json new file mode 100644 index 000000000000..6a05668145d4 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurationViolations.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "private/5f4ff99a-efa9-40f9-9c04-6b5716828c0e", + "userId": "", + "errorMessage": "Tenant is configured to allow only URI configuration for the Markdown tiles on dashboards." + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json new file mode 100644 index 000000000000..6707113b27a2 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Portal/tenantConfigurations", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json new file mode 100644 index 000000000000..acdef20dfe34 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json new file mode 100644 index 000000000000..751774a6bde9 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "dashboard": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + }, + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json new file mode 100644 index 000000000000..10e7488cbe00 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json new file mode 100644 index 000000000000..8245989bfe7f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json new file mode 100644 index 000000000000..75ec89637b75 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + }, + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2", + "name": "testDashboard2", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json new file mode 100644 index 000000000000..96a8e65508b1 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + }, + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2", + "name": "testDashboard2", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json new file mode 100644 index 000000000000..089068e1fb6d --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Portal/dashboards/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Get Dashboard", + "description": "Reads the dashboards for the subscription." + } + }, + { + "name": "Microsoft.Portal/dashboards/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Set Dashboard", + "description": "Add or modify dashboard to a subscription." + } + }, + { + "name": "Microsoft.Portal/dashboards/delete", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Delete Dashboard", + "description": "Removes the dashboard from the subscription." + } + }, + { + "name": "Microsoft.Portal/register/action", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Portal Resource Provider", + "operation": "Registers the Portal Resource Provider", + "description": "Registers the subscription for the portal resource provider and enables shared dashboards." + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json new file mode 100644 index 000000000000..e0c901c6d277 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "dashboard": { + "tags": { + "aKey": "bValue", + "anotherKey": "anotherValue2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "bValue", + "anotherKey": "anotherValue2" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json new file mode 100644 index 000000000000..2ebeb8c17ede --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json @@ -0,0 +1,756 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "title": "portal", + "description": "Allows creation and deletion of Azure Shared Dashboards.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "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.Portal/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List the portal operations": { + "$ref": "examples/operationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "The Microsoft Portal operations API.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}": { + "put": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_CreateOrUpdate", + "x-ms-examples": { + "Create or update a Dashboard": { + "$ref": "examples/createOrUpdateDashboard.json" + } + }, + "description": "Creates or updates a Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "dashboard", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Dashboard" + }, + "description": "The parameters required to create or update a dashboard." + } + ], + "responses": { + "201": { + "description": "Created response definition. Resource has been created", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "200": { + "description": "Resource already exists.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Delete", + "x-ms-examples": { + "Delete a Dashboard": { + "$ref": "examples/deleteDashboard.json" + } + }, + "description": "Deletes the Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "OK resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Get", + "x-ms-examples": { + "Get a Dashboard": { + "$ref": "examples/getDashboard.json" + } + }, + "description": "Gets the Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Update", + "x-ms-examples": { + "Update a Dashboard": { + "$ref": "examples/updateDashboard.json" + } + }, + "description": "Updates an existing Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "dashboard", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchableDashboard" + }, + "description": "The updatable fields of a Dashboard." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards": { + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_ListByResourceGroup", + "x-ms-examples": { + "List all custom resource providers on the resourceGroup": { + "$ref": "examples/listDashboardsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Gets all the Dashboards within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of Dashboards.", + "schema": { + "$ref": "#/definitions/DashboardListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards": { + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_ListBySubscription", + "x-ms-examples": { + "List all custom resource providers on the subscription": { + "$ref": "examples/listDashboardsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Gets all the dashboards within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of dashboards.", + "schema": { + "$ref": "#/definitions/DashboardListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "DashboardListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Dashboard" + }, + "description": "The array of custom resource provider manifests." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of dashboards." + }, + "DashboardParts": { + "type": "object", + "description": "A dashboard part.", + "required": [ + "position" + ], + "properties": { + "position": { + "type": "object", + "required": [ + "x", + "y", + "rowSpan", + "colSpan" + ], + "description": "The dashboard's part position.", + "properties": { + "x": { + "type": "integer", + "description": "The dashboard's part x coordinate." + }, + "y": { + "type": "integer", + "description": "The dashboard's part y coordinate." + }, + "rowSpan": { + "type": "integer", + "description": "The dashboard's part row span." + }, + "colSpan": { + "type": "integer", + "description": "The dashboard's part column span." + }, + "metadata": { + "description": "The dashboard part's metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "metadata": { + "description": "The dashboard part's metadata.", + "type": "object", + "$ref": "#/definitions/DashboardPartMetadata" + } + } + }, + "DashboardPartMetadata": { + "type": "object", + "required": [ + "type" + ], + "description": "A dashboard part metadata.", + "properties": { + "type": { + "type": "string", + "description": "The type of dashboard part." + } + }, + "discriminator": "type" + }, + "MarkdownPartMetadata": { + "type": "object", + "description": "Markdown part metadata.", + "x-ms-discriminator-value": "Extension/HubsExtension/PartType/MarkdownPart", + "allOf": [ + { + "$ref": "#/definitions/DashboardPartMetadata" + } + ], + "properties": { + "inputs": { + "type": "array", + "description": "Input to dashboard part.", + "items": { + "type": "object" + } + }, + "settings": { + "type": "object", + "description": "Markdown part settings.", + "properties": { + "content": { + "type": "object", + "description": "The content of markdown part.", + "properties": { + "settings": { + "type": "object", + "description": "The setting of the content of markdown part.", + "properties": { + "content": { + "type": "string", + "description": "The content of the markdown part." + }, + "title": { + "type": "string", + "description": "The title of the markdown part." + }, + "subtitle": { + "type": "string", + "description": "The subtitle of the markdown part." + }, + "markdownSource": { + "type": "integer", + "format": "int32", + "description": "The source of the content of the markdown part." + }, + "markdownUri": { + "type": "string", + "description": "The uri of markdown content." + } + } + } + } + } + } + } + } + }, + "DashboardLens": { + "type": "object", + "description": "A dashboard lens.", + "required": [ + "order", + "parts" + ], + "properties": { + "order": { + "type": "integer", + "description": "The lens order." + }, + "parts": { + "type": "array", + "description": "The dashboard parts.", + "items": { + "$ref": "#/definitions/DashboardParts" + } + }, + "metadata": { + "description": "The dashboard len's metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "DashboardProperties": { + "type": "object", + "description": "The shared dashboard properties.", + "properties": { + "lenses": { + "type": "array", + "description": "The dashboard lenses.", + "items": { + "$ref": "#/definitions/DashboardLens" + } + }, + "metadata": { + "description": "The dashboard metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "Dashboard": { + "type": "object", + "description": "The shared dashboard resource definition.", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "required": [ + "location" + ], + "properties": { + "properties": { + "description": "The shared dashboard properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DashboardProperties" + }, + "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" + } + } + }, + "PatchableDashboard": { + "type": "object", + "description": "The shared dashboard resource definition.", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "properties": { + "properties": { + "description": "The shared dashboard properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DashboardProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "ResourceProviderOperationList": { + "type": "object", + "description": "Results of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + } + }, + "ResourceProviderOperation": { + "type": "object", + "description": "Supported operations of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation applies to data-plane.", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Custom Providers.", + "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" + } + } + } + } + }, + "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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "DashboardNameParameter": { + "name": "dashboardName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dashboard.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json new file mode 100644 index 000000000000..31ea569ca460 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json @@ -0,0 +1,333 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "title": "portal", + "description": "Manage tenant configuration.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/providers/Microsoft.Portal/tenantConfigurations": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_List", + "description": "Gets list of the tenant configurations.", + "parameters": [ + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of tenant configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get list of Tenant configurations": { + "$ref": "examples/TenantConfiguration/GetListOfTenantConfigurations.json" + } + } + } + }, + "/providers/Microsoft.Portal/tenantConfigurations/{configurationName}": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Get", + "description": "Gets the tenant configuration.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the tenant configuration.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Tenant configuration": { + "$ref": "examples/TenantConfiguration/GetTenantConfiguration.json" + } + } + }, + "put": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Create", + "description": "Create the tenant configuration. If configuration already exists - update it. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + }, + { + "name": "tenantConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The parameters required to create or update tenant configuration." + } + ], + "responses": { + "201": { + "description": "Created. New configuration was created", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "200": { + "description": "OK. Existing configuration updated.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Tenant configuration": { + "$ref": "examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json" + } + } + }, + "delete": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Delete", + "description": "Delete the tenant configuration. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Configuration was deleted." + }, + "204": { + "description": "No content. Configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Tenant configuration": { + "$ref": "examples/TenantConfiguration/DeleteTenantConfiguration.json" + } + } + } + }, + "/providers/Microsoft.Portal/listTenantConfigurationViolations": { + "post": { + "tags": [ + "listTenantConfigurationViolations" + ], + "operationId": "ListTenantConfigurationViolations_List", + "description": "Gets list of items that violate tenant's configuration.", + "parameters": [ + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of items that violate tenant's configuration.", + "schema": { + "$ref": "#/definitions/ViolationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get list of of items that violate tenant's configuration": { + "$ref": "examples/TenantConfiguration/GetListOfTenantConfigurationViolations.json" + } + } + } + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration name. Value must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "configurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ConfigurationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The array of tenant configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of tenant configurations." + }, + "Configuration": { + "type": "object", + "description": "Tenant configuration.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationProperties", + "description": "Tenant configuration properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ConfigurationProperties": { + "type": "object", + "description": "Tenant configuration properties.", + "x-ms-azure-resource": true, + "properties": { + "enforcePrivateMarkdownStorage": { + "type": "boolean", + "description": "When flag is set to true Markdown tile will require external storage configuration (URI). The inline content configuration will be prohibited." + } + } + }, + "ViolationsList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Violation" + }, + "description": "The array of violations." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of list of items that violate tenant's configuration." + }, + "Violation": { + "type": "object", + "description": "Violation information.", + "properties": { + "id": { + "description": "Id of the item that violates tenant configuration.", + "type": "string", + "readOnly": true + }, + "userId": { + "description": "Id of the user who owns violated item.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/portal/resource-manager/readme.azureresourceschema.md b/specification/portal/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..fffdb3030891 --- /dev/null +++ b/specification/portal/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,62 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-portal-2020-09-01-preview + - tag: schema-portal-2019-01-01-preview + - tag: schema-portal-2018-10-01-preview + - tag: schema-portal-2015-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-portal-2020-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2020-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2020-09-01-preview/portal.json + - Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json + +``` + +### Tag: schema-portal-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2019-01-01-preview/portal.json + - Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json + +``` + +### Tag: schema-portal-2018-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2018-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2018-10-01-preview/portal.json + +``` + +### Tag: schema-portal-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2015-08-01-preview/portal.json + +``` diff --git a/specification/portal/resource-manager/readme.md b/specification/portal/resource-manager/readme.md index 9fc2ca44f7c4..fdcd1c9aa704 100644 --- a/specification/portal/resource-manager/readme.md +++ b/specification/portal/resource-manager/readme.md @@ -26,9 +26,19 @@ These are the global settings for the portal. ``` yaml openapi-type: arm -tag: package-2019-01-01-preview +tag: package-2020-09-01-preview ``` + +### Tag: package-2020-09-01-preview + +These settings apply only when `--tag=package-2020-09-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-09-01-preview' +input-file: + - Microsoft.Portal/preview/2020-09-01-preview/portal.json + - Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json +``` ### Tag: package-2019-01-01-preview These settings apply only when `--tag=package-2019-01-01-preview` is specified on the command line. @@ -36,13 +46,14 @@ These settings apply only when `--tag=package-2019-01-01-preview` is specified o ``` yaml $(tag) == 'package-2019-01-01-preview' input-file: - Microsoft.Portal/preview/2019-01-01-preview/portal.json + - Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json ``` ### Tag: package-2018-10-01-preview These settings apply only when `--tag=package-2018-10-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2018-10-01-preview' +``` yaml $(tag) == 'package-2018-10-01-preview' input-file: - Microsoft.Portal/preview/2018-10-01-preview/portal.json ``` @@ -76,6 +87,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_portal'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js portal/resource-manager ``` ## Go @@ -102,29 +116,7 @@ See configuration in [readme.csharp.md](./readme.csharp.md) See configuration in [readme.nodejs.md](./readme.nodejs.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! +## AzureResourceSchema -``` 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.Portal/preview/2019-01-01-preview/portal.json - - $(this-folder)/Microsoft.Portal/preview/2018-10-01-preview/portal.json - - $(this-folder)/Microsoft.Portal/preview/2015-08-01-preview/portal.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json index 1df614dff54b..743d4ec6e6de 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Replicas": { "get": { "tags": [ "Replicas" @@ -325,7 +325,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -368,7 +368,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/providers/Microsoft.DBforPostgreSQL/operations": { + "/providers/Microsoft.DBForPostgreSQL/operations": { "get": { "tags": [ "Operations" @@ -1620,51 +1620,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1959,6 +1914,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2008,7 +1966,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2130,7 +2088,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2188,7 +2146,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2241,7 +2199,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2301,7 +2259,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2437,7 +2395,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2611,7 +2569,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2702,7 +2660,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index 9b5722ef689e..2570b091eae6 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json index f0691e3b6d1c..2a6e3fbe419b 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 38bef52ea2e5..741c1867a60e 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of PostgreSQL Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CapabilitiesByLocation.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CapabilitiesByLocation.json new file mode 100644 index 000000000000..53ba1079a3a2 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CapabilitiesByLocation.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "1", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "2", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CheckNameAvailability.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..2f20c8dbd88f --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "", + "name": "name1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationGet.json new file mode 100644 index 000000000000..af66828533e3 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "configurationName": "array_nulls", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "on", + "description": "Enable input of NULL elements in arrays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls", + "name": "array_nulls", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationListByServer.json new file mode 100644 index 000000000000..f91e08d1bc30 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationListByServer.json @@ -0,0 +1,1902 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations?api-version=2020-02-14-privatepreview&$top=200&$skiptoken=skiptoken", + "value": [ + { + "properties": { + "value": "", + "description": "Sets the application name to be reported in statistics and logs.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._-]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/application_name", + "name": "application_name", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables input of NULL elements in arrays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls", + "name": "array_nulls", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Starts the autovacuum subprocess.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum", + "name": "autovacuum", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_scale_factor", + "name": "autovacuum_analyze_scale_factor", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "Minimum number of tuple inserts, updates, or deletes prior to analyze.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_threshold", + "name": "autovacuum_analyze_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "60", + "description": "Time to sleep between autovacuum runs.", + "defaultValue": "60", + "dataType": "Integer", + "allowedValues": "1-2147483", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_naptime", + "name": "autovacuum_naptime", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Vacuum cost delay in milliseconds, for autovacuum.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "-1-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_delay", + "name": "autovacuum_vacuum_cost_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Vacuum cost amount available before napping, for autovacuum.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_limit", + "name": "autovacuum_vacuum_cost_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.2", + "description": "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.", + "defaultValue": "0.2", + "dataType": "Numeric", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_scale_factor", + "name": "autovacuum_vacuum_scale_factor", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "Minimum number of tuple updates or deletes prior to vacuum.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_threshold", + "name": "autovacuum_vacuum_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the maximum memory to be used by each autovacuum worker process.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_work_mem", + "name": "autovacuum_work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Number of pages after which previously performed writes are flushed to disk.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-256", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backend_flush_after", + "name": "backend_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "safe_encoding", + "description": "Sets whether \"\\'\" is allowed in string literals.", + "defaultValue": "safe_encoding", + "dataType": "Enumeration", + "allowedValues": "safe_encoding,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backslash_quote", + "name": "backslash_quote", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Background writer sleep time between rounds.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "10-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_delay", + "name": "bgwriter_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "64", + "description": "Number of pages after which previously performed writes are flushed to disk.", + "defaultValue": "64", + "dataType": "Integer", + "allowedValues": "0-256", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_flush_after", + "name": "bgwriter_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "100", + "description": "Background writer maximum number of LRU pages to flush per round.", + "defaultValue": "100", + "dataType": "Integer", + "allowedValues": "0-1073741823", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_maxpages", + "name": "bgwriter_lru_maxpages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Multiple of the average buffer usage to free per round.", + "defaultValue": "2", + "dataType": "Numeric", + "allowedValues": "0-10", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_multiplier", + "name": "bgwriter_lru_multiplier", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "hex", + "description": "Sets the output format for bytea.", + "defaultValue": "hex", + "dataType": "Enumeration", + "allowedValues": "escape,hex", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bytea_output", + "name": "bytea_output", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Checks function bodies during CREATE FUNCTION.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/check_function_bodies", + "name": "check_function_bodies", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.5", + "description": "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.", + "defaultValue": "0.5", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_completion_target", + "name": "checkpoint_completion_target", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "300", + "description": "Sets the maximum time between automatic WAL checkpoints.", + "defaultValue": "300", + "dataType": "Integer", + "allowedValues": "30-86400", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_timeout", + "name": "checkpoint_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30", + "description": "Enables warnings if checkpoint segments are filled more frequently than this.", + "defaultValue": "30", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_warning", + "name": "checkpoint_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "sql_ascii", + "description": "Sets the client's character set encoding.", + "defaultValue": "sql_ascii", + "dataType": "Enumeration", + "allowedValues": "BIG5,EUC_CN,EUC_JP,EUC_JIS_2004,EUC_KR,EUC_TW,GB18030,GBK,ISO_8859_5,ISO_8859_6,ISO_8859_7,ISO_8859_8,JOHAB,KOI8R,KOI8U,LATIN1,LATIN2,LATIN3,LATIN4,LATIN5,LATIN6,LATIN7,LATIN8,LATIN9,LATIN10,MULE_INTERNAL,SJIS,SHIFT_JIS_2004,SQL_ASCII,UHC,UTF8,WIN866,WIN874,WIN1250,WIN1251,WIN1252,WIN1253,WIN1254,WIN1255,WIN1256,WIN1257,WIN1258", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_encoding", + "name": "client_encoding", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "notice", + "description": "Sets the message levels that are sent to the client.", + "defaultValue": "notice", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,log,notice,warning,error", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_min_messages", + "name": "client_min_messages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the delay in microseconds between transaction commit and flushing WAL to disk.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-100000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_delay", + "name": "commit_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5", + "description": "Sets the minimum concurrent open transactions before performing commit_delay.", + "defaultValue": "5", + "dataType": "Integer", + "allowedValues": "0-1000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_siblings", + "name": "commit_siblings", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "partition", + "description": "Enables the planner to use constraints to optimize queries.", + "defaultValue": "partition", + "dataType": "Enumeration", + "allowedValues": "partition,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/constraint_exclusion", + "name": "constraint_exclusion", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.005", + "description": "Sets the planner's estimate of the cost of processing each index entry during an index scan.", + "defaultValue": "0.005", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_index_tuple_cost", + "name": "cpu_index_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.0025", + "description": "Sets the planner's estimate of the cost of processing each operator or function call.", + "defaultValue": "0.0025", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_operator_cost", + "name": "cpu_operator_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.01", + "description": "Sets the planner's estimate of the cost of processing each tuple (row).", + "defaultValue": "0.01", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_tuple_cost", + "name": "cpu_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cursor_tuple_fraction", + "name": "cursor_tuple_fraction", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "ISO, MDY", + "description": "Sets the display format for date and time values.", + "defaultValue": "ISO, MDY", + "dataType": "String", + "allowedValues": "(ISO|POSTGRES|SQL|GERMAN)(, (DMY|MDY|YMD))?", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/DateStyle", + "name": "DateStyle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1000", + "description": "Sets the amount of time, in milliseconds, to wait on a lock before checking for deadlock.", + "defaultValue": "1000", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/deadlock_timeout", + "name": "deadlock_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Indents parse and plan tree displays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_pretty_print", + "name": "debug_pretty_print", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's parse tree.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_parse", + "name": "debug_print_parse", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's execution plan.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_plan", + "name": "debug_print_plan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's rewritten parse tree.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_rewritten", + "name": "debug_print_rewritten", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "100", + "description": "Sets the default statistics target.", + "defaultValue": "100", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_statistics_target", + "name": "default_statistics_target", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "", + "description": "Sets the default tablespace to create tables and indexes in.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z._]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_tablespace", + "name": "default_tablespace", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "pg_catalog.english", + "description": "Sets default text search configuration.", + "defaultValue": "pg_catalog.english", + "dataType": "String", + "allowedValues": "[A-Za-z._]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_text_search_config", + "name": "default_text_search_config", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Sets the default deferrable status of new transactions.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_deferrable", + "name": "default_transaction_deferrable", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "read committed", + "description": "Sets the transaction isolation level of each new transaction.", + "defaultValue": "read committed", + "dataType": "Enumeration", + "allowedValues": "serializable,repeatable read,read committed,read uncommitted", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_isolation", + "name": "default_transaction_isolation", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Sets the default read-only status of new transactions.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_read_only", + "name": "default_transaction_read_only", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Creates new tables with OIDs by default.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_with_oids", + "name": "default_with_oids", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "3145728", + "description": "Sets the planner's assumption about the size of the disk cache.", + "defaultValue": "3145728", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/effective_cache_size", + "name": "effective_cache_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of bitmap-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_bitmapscan", + "name": "enable_bitmapscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of gather merge plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_gathermerge", + "name": "enable_gathermerge", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of hashed aggregation plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashagg", + "name": "enable_hashagg", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of hash join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashjoin", + "name": "enable_hashjoin", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of index-only-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexonlyscan", + "name": "enable_indexonlyscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of index-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexscan", + "name": "enable_indexscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of materialization.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_material", + "name": "enable_material", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of merge join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_mergejoin", + "name": "enable_mergejoin", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of nested loop join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_nestloop", + "name": "enable_nestloop", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of sequential-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_seqscan", + "name": "enable_seqscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of explicit sort steps.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_sort", + "name": "enable_sort", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of TID scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_tidscan", + "name": "enable_tidscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Warns about backslash escapes in ordinary string literals.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/escape_string_warning", + "name": "escape_string_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Terminates session on any error.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/exit_on_error", + "name": "exit_on_error", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Sets the number of digits displayed for floating-point values.", + "defaultValue": "1", + "dataType": "Integer", + "allowedValues": "-15-3", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/extra_float_digits", + "name": "extra_float_digits", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Forces use of parallel query facilities.", + "defaultValue": "off", + "dataType": "Enumeration", + "allowedValues": "off,on,regress", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/force_parallel_mode", + "name": "force_parallel_mode", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the FROM-list size beyond which subqueries are not collapsed.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/from_collapse_limit", + "name": "from_collapse_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables genetic query optimization.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo", + "name": "geqo", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5", + "description": "GEQO: effort is used to set the default for other GEQO parameters.", + "defaultValue": "5", + "dataType": "Integer", + "allowedValues": "1-10", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_effort", + "name": "geqo_effort", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: number of iterations of the algorithm.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_generations", + "name": "geqo_generations", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: number of individuals in the population.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_pool_size", + "name": "geqo_pool_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: seed for random path selection.", + "defaultValue": "0", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_seed", + "name": "geqo_seed", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "GEQO: selective pressure within the population.", + "defaultValue": "2", + "dataType": "Numeric", + "allowedValues": "1.5-2", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_selection_bias", + "name": "geqo_selection_bias", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "12", + "description": "Sets the threshold of FROM items beyond which GEQO is used.", + "defaultValue": "12", + "dataType": "Integer", + "allowedValues": "2-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_threshold", + "name": "geqo_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed result for exact search by GIN.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_fuzzy_search_limit", + "name": "gin_fuzzy_search_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4096", + "description": "Sets the maximum size of the pending list for GIN index.", + "defaultValue": "4096", + "dataType": "Integer", + "allowedValues": "64-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_pending_list_limit", + "name": "gin_pending_list_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration of any idling transaction.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/idle_in_transaction_session_timeout", + "name": "idle_in_transaction_session_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "postgres", + "description": "Sets the display format for interval values.", + "defaultValue": "postgres", + "dataType": "Enumeration", + "allowedValues": "postgres,postgres_verbose,sql_standard,iso_8601", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/IntervalStyle", + "name": "IntervalStyle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the FROM-list size beyond which JOIN constructs are not flattened.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/join_collapse_limit", + "name": "join_collapse_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "en_US.utf-8", + "description": "Sets the locale for formatting monetary amounts.", + "defaultValue": "en_US.utf-8", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._ -]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_monetary", + "name": "lc_monetary", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "en_US.utf-8", + "description": "Sets the locale for formatting numbers.", + "defaultValue": "en_US.utf-8", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._ -]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_numeric", + "name": "lc_numeric", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Enables backward compatibility mode for privilege checks on large objects.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lo_compat_privileges", + "name": "lo_compat_privileges", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration (in milliseconds) of any wait for a lock. 0 turns this off.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lock_timeout", + "name": "lock_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the minimum execution time above which autovacuum actions will be logged.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_autovacuum_min_duration", + "name": "log_autovacuum_min_duration", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Logs each checkpoint.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_checkpoints", + "name": "log_checkpoints", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Logs each successful connection.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_connections", + "name": "log_connections", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "stderr", + "description": "Sets the destination for server log output.", + "defaultValue": "stderr", + "dataType": "Enumeration", + "allowedValues": "stderr,csvlog", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_destination", + "name": "log_destination", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs end of a session, including duration.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_disconnections", + "name": "log_disconnections", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs the duration of each completed SQL statement.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_duration", + "name": "log_duration", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "default", + "description": "Sets the verbosity of logged messages.", + "defaultValue": "default", + "dataType": "Enumeration", + "allowedValues": "terse,default,verbose", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_error_verbosity", + "name": "log_error_verbosity", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs long lock waits.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_lock_waits", + "name": "log_lock_waits", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the minimum execution time (in milliseconds) above which statements will be logged. -1 disables logging statement durations.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_duration_statement", + "name": "log_min_duration_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "error", + "description": "Causes all statements generating error at or above this level to be logged.", + "defaultValue": "error", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_error_statement", + "name": "log_min_error_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "warning", + "description": "Sets the message levels that are logged.", + "defaultValue": "warning", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_messages", + "name": "log_min_messages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each replication command.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_replication_commands", + "name": "log_replication_commands", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "none", + "description": "Sets the type of statements logged.", + "defaultValue": "none", + "dataType": "Enumeration", + "allowedValues": "none,ddl,mod,all", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement", + "name": "log_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "For each query, writes cumulative performance statistics to the server log.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement_stats", + "name": "log_statement_stats", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Logs the use of temporary files larger than this number of kilobytes.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_temp_files", + "name": "log_temp_files", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "332800", + "description": "Sets the maximum memory to be used for maintenance operations.", + "defaultValue": "332800", + "dataType": "Integer", + "allowedValues": "1024-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/maintenance_work_mem", + "name": "maintenance_work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the maximum number of parallel workers than can be active at one time.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "0-1024", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers", + "name": "max_parallel_workers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Sets the maximum number of parallel processes per executor node.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-1024", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers_per_gather", + "name": "max_parallel_workers_per_gather", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Sets the maximum number of predicate-locked tuples per page.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_page", + "name": "max_pred_locks_per_page", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-2", + "description": "Sets the maximum number of predicate-locked pages and tuples per relation.", + "defaultValue": "-2", + "dataType": "Integer", + "allowedValues": "-2147483648-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_relation", + "name": "max_pred_locks_per_relation", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30000", + "description": "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.", + "defaultValue": "30000", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_archive_delay", + "name": "max_standby_archive_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30000", + "description": "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.", + "defaultValue": "30000", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_streaming_delay", + "name": "max_standby_streaming_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Maximum number of table synchronization workers per subscription.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-262143", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_sync_workers_per_subscription", + "name": "max_sync_workers_per_subscription", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the WAL size that triggers a checkpoint.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "2-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_wal_size", + "name": "max_wal_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "64", + "description": "Sets the minimum amount of index data for a parallel scan.", + "defaultValue": "64", + "dataType": "Integer", + "allowedValues": "0-715827882", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_index_scan_size", + "name": "min_parallel_index_scan_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the minimum amount of table data for a parallel scan.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "0-715827882", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_table_scan_size", + "name": "min_parallel_table_scan_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "80", + "description": "Sets the minimum size to shrink the WAL to.", + "defaultValue": "80", + "dataType": "Integer", + "allowedValues": "2-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_wal_size", + "name": "min_wal_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Emits a warning for constructs that changed meaning since PostgreSQL 9.4.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/operator_precedence_warning", + "name": "operator_precedence_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1000", + "description": "Sets the planner's estimate of the cost of starting up worker processes for parallel query.", + "defaultValue": "1000", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_setup_cost", + "name": "parallel_setup_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_tuple_cost", + "name": "parallel_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "When generating SQL fragments, quotes all identifiers.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/quote_all_identifiers", + "name": "quote_all_identifiers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4", + "description": "Sets the planner's estimate of the cost of a nonsequentially fetched disk page.", + "defaultValue": "4", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/random_page_cost", + "name": "random_page_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables row security.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/row_security", + "name": "row_security", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "\"$user\", public", + "description": "Sets the schema search order for names that are not schema-qualified.", + "defaultValue": "\"$user\", public", + "dataType": "String", + "allowedValues": "[A-Za-z.\"$, ]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/search_path", + "name": "search_path", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Sets the planner's estimate of the cost of a sequentially fetched disk page.", + "defaultValue": "1", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/seq_page_cost", + "name": "seq_page_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "origin", + "description": "Sets the session's behavior for triggers and rewrite rules.", + "defaultValue": "origin", + "dataType": "Enumeration", + "allowedValues": "origin,replica,local", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/session_replication_role", + "name": "session_replication_role", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Causes '...' strings to treat backslashes literally.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/standard_conforming_strings", + "name": "standard_conforming_strings", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration (in milliseconds) of any statement. 0 turns this off.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/statement_timeout", + "name": "statement_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables synchronized sequential scans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronize_seqscans", + "name": "synchronize_seqscans", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Sets the current transaction's synchronization level.", + "defaultValue": "on", + "dataType": "Enumeration", + "allowedValues": "local,remote_write,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronous_commit", + "name": "synchronous_commit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "9", + "description": "Maximum number of TCP keepalive retransmits.", + "defaultValue": "9", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_count", + "name": "tcp_keepalives_count", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "120", + "description": "Time between issuing TCP keepalives.", + "defaultValue": "120", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_idle", + "name": "tcp_keepalives_idle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30", + "description": "Time between TCP keepalive retransmits.", + "defaultValue": "30", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_interval", + "name": "tcp_keepalives_interval", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the maximum number of temporary buffers used by each database session.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "100-1073741823", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_buffers", + "name": "temp_buffers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "", + "description": "Sets the tablespace(s) to use for temporary tables and sort files.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z._]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_tablespaces", + "name": "temp_tablespaces", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "UTC", + "description": "Sets the time zone for displaying and interpreting time stamps.", + "defaultValue": "UTC", + "dataType": "String", + "allowedValues": "[A-Za-z0-9/+_-]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/TimeZone", + "name": "TimeZone", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Collects information about executing commands.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_activities", + "name": "track_activities", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Collects statistics on database activity.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_counts", + "name": "track_counts", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "none", + "description": "Collects function-level statistics on database activity.", + "defaultValue": "none", + "dataType": "Enumeration", + "allowedValues": "none,pl,all", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_functions", + "name": "track_functions", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Collects timing statistics for database I/O activity.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_io_timing", + "name": "track_io_timing", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Treats \"expr=NULL\" as \"expr IS NULL\".", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/transform_null_equals", + "name": "transform_null_equals", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Vacuum cost delay in milliseconds.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_delay", + "name": "vacuum_cost_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Vacuum cost amount available before napping.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_limit", + "name": "vacuum_cost_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "20", + "description": "Vacuum cost for a page dirtied by vacuum.", + "defaultValue": "20", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_dirty", + "name": "vacuum_cost_page_dirty", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Vacuum cost for a page found in the buffer cache.", + "defaultValue": "1", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_hit", + "name": "vacuum_cost_page_hit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "10", + "description": "Vacuum cost for a page not found in the buffer cache.", + "defaultValue": "10", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_miss", + "name": "vacuum_cost_page_miss", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-1000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_defer_cleanup_age", + "name": "vacuum_defer_cleanup_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50000000", + "description": "Minimum age at which VACUUM should freeze a table row.", + "defaultValue": "50000000", + "dataType": "Integer", + "allowedValues": "0-1000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_min_age", + "name": "vacuum_freeze_min_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "150000000", + "description": "Age at which VACUUM should scan whole table to freeze tuples.", + "defaultValue": "150000000", + "dataType": "Integer", + "allowedValues": "0-2000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_table_age", + "name": "vacuum_freeze_table_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5000000", + "description": "Minimum age at which VACUUM should freeze a MultiXactId in a table row.", + "defaultValue": "5000000", + "dataType": "Integer", + "allowedValues": "0-1000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_min_age", + "name": "vacuum_multixact_freeze_min_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "150000000", + "description": "Multixact age at which VACUUM should scan whole table to freeze tuples.", + "defaultValue": "150000000", + "dataType": "Integer", + "allowedValues": "0-2000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_table_age", + "name": "vacuum_multixact_freeze_table_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "10", + "description": "Sets the maximum interval between WAL receiver status reports to the primary.", + "defaultValue": "10", + "dataType": "Integer", + "allowedValues": "0-2147483", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_receiver_status_interval", + "name": "wal_receiver_status_interval", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Time between WAL flushes performed in the WAL writer.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_delay", + "name": "wal_writer_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "128", + "description": "Amount of WAL written out by WAL writer that triggers a flush.", + "defaultValue": "128", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_flush_after", + "name": "wal_writer_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "115712", + "description": "Sets the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files.", + "defaultValue": "115712", + "dataType": "Integer", + "allowedValues": "4096-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/work_mem", + "name": "work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "base64", + "description": "Sets how binary values are to be encoded in XML.", + "defaultValue": "base64", + "dataType": "Enumeration", + "allowedValues": "base64,hex", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmlbinary", + "name": "xmlbinary", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "content", + "description": "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.", + "defaultValue": "content", + "dataType": "Enumeration", + "allowedValues": "content,document", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmloption", + "name": "xmloption", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..fe1ffbb8c42a --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ConfigurationUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "value": "on", + "source": "user-override" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleCreate.json new file mode 100644 index 000000000000..6cb0471d8f0c --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleDelete.json new file mode 100644 index 000000000000..37cdd35b0e54 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleGet.json new file mode 100644 index 000000000000..afbe99290ead --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleListByServer.json new file mode 100644 index 000000000000..53acea0b30a1 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/FirewallRuleListByServer.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules?api-version=2020-02-14-privatepreview&$top=2&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule2", + "name": "rule2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/OperationList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/OperationList.json new file mode 100644 index 000000000000..034fdc616edd --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/OperationList.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2020-02-14-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "List/Get PostgreSQL Servers", + "description": "Return the list of servers or gets the properties for the specified server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "Create/Update PostgreSQL Server", + "description": "Creates a server with the specified parameters or update the properties or tags for the specified server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/delete", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "Delete PostgreSQL Server", + "description": "Deletes an existing server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "List/Get Firewall Rules", + "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "Create/Update Firewall Rule", + "description": "Creates a firewall rule with the specified parameters or update an existing rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/delete", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "Delete Firewall Rule", + "description": "Deletes an existing firewall rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Get database metric definitions", + "description": "Return types of metrics that are available for databases" + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "cpu_percent", + "displayName": "CPU percent", + "displayDescription": "CPU percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "compute_limit", + "displayName": "Compute Unit limit", + "displayDescription": "Compute Unit limit", + "unit": "Count", + "aggregationType": "Average" + }, + { + "name": "compute_consumption_percent", + "displayName": "Compute Unit percentage", + "displayDescription": "Compute Unit percentage", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "memory_percent", + "displayName": "Memory percent", + "displayDescription": "Memory percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "io_consumption_percent", + "displayName": "IO percent", + "displayDescription": "IO percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "storage_percent", + "displayName": "Storage percentage", + "displayDescription": "Storage percentage", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "storage_used", + "displayName": "Storage used", + "displayDescription": "Storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "storage_limit", + "displayName": "Storage limit", + "displayDescription": "Storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "active_connections", + "displayName": "Total active connections", + "displayDescription": "Total active connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "connections_failed", + "displayName": "Total failed connections", + "displayDescription": "Total failed connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + } + ] + } + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Read diagnostic setting", + "description": "Gets the disagnostic setting for the resource" + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..6f8e66d7030e --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreate.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "administratorLoginPassword": "password", + "version": "12", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} 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 new file mode 100644 index 000000000000..bb1f9c485e7d --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerCreatePointInTimeRestore.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "createMode": "PointInTimeRestore", + "sourceServerName": "sourcePgServerName", + "pointInTimeUTC": "2020-06-30T23:41:49.000Z" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerDelete.json new file mode 100644 index 000000000000..5ccafe7a9954 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} 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 new file mode 100644 index 000000000000..b28535f615a1 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "serverName": "pgtestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} 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 new file mode 100644 index 000000000000..9c8216593f4c --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerGetWithVnet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serverName": "pgtestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Disabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} 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 new file mode 100644 index 000000000000..d8917699f069 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerList.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc1.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc2.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "Server": "2" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2", + "name": "pgtestsvc2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "FailingOver", + "fullyQualifiedDomainName": "pgtestsvc3.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "3" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc3", + "name": "pgtestsvc3", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "ReplicatingData", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "4" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..276e20cb04d8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerListByResourceGroup.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2", + "name": "pgtestsvc2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerRestart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerRestart.json new file mode 100644 index 000000000000..3b73691fcba8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerRestart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStart.json new file mode 100644 index 000000000000..3b73691fcba8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStop.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStop.json new file mode 100644 index 000000000000..3b73691fcba8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} 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 new file mode 100644 index 000000000000..08994e49f0ba --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLoginPassword": "newpassword", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + }, + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} 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 new file mode 100644 index 000000000000..bcd94b4eeae5 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + }, + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/VirtualNetworkSubnetUsage.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/VirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..c35f70ea13f8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/examples/VirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-02-14-preview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} 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 new file mode 100644 index 000000000000..689e6b053dd1 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json @@ -0,0 +1,1788 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLServerManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.", + "version": "2020-02-14-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.DBForPostgreSql/flexibleServers/{serverName}": { + "put": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Create", + "x-ms-examples": { + "Create a new server": { + "$ref": "./examples/ServerCreate.json" + }, + "Create a database as a point in time restore": { + "$ref": "./examples/ServerCreatePointInTimeRestore.json" + } + }, + "description": "Creates a new server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Server" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Update", + "x-ms-examples": { + "ServerUpdate": { + "$ref": "./examples/ServerUpdate.json" + }, + "ServerUpdateWithCustomerMaintenanceWindow": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" + } + }, + "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerForUpdate" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Delete", + "x-ms-examples": { + "ServerDelete": { + "$ref": "./examples/ServerDelete.json" + } + }, + "description": "Deletes a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Get", + "x-ms-examples": { + "ServerGet": { + "$ref": "./examples/ServerGet.json" + }, + "ServerGetWithVnet": { + "$ref": "./examples/ServerGetWithVnet.json" + } + }, + "description": "Gets information about a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_ListByResourceGroup", + "x-ms-examples": { + "ServerListByResourceGroup": { + "$ref": "./examples/ServerListByResourceGroup.json" + } + }, + "description": "List all the servers in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_List", + "x-ms-examples": { + "ServerList": { + "$ref": "./examples/ServerList.json" + } + }, + "description": "List all the servers in a given 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": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/restart": { + "post": { + "tags": [ + "ServerRestart" + ], + "operationId": "Servers_Restart", + "x-ms-examples": { + "ServerRestart": { + "$ref": "./examples/ServerRestart.json" + } + }, + "description": "Restarts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "ServerStart": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "ServerStop": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { + "put": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "x-ms-examples": { + "FirewallRuleCreate": { + "$ref": "./examples/FirewallRuleCreate.json" + } + }, + "description": "Creates a new firewall rule or updates an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The required parameters for creating or updating a firewall rule." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "x-ms-examples": { + "FirewallRuleDelete": { + "$ref": "./examples/FirewallRuleDelete.json" + } + }, + "description": "Deletes a PostgreSQL server firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "x-ms-examples": { + "FirewallRuleList": { + "$ref": "./examples/FirewallRuleGet.json" + } + }, + "description": "List all the firewall rules in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "FirewallRuleList": { + "$ref": "./examples/FirewallRuleListByServer.json" + } + }, + "description": "List all the firewall rules in a given PostgreSQL server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "ConfigurationList": { + "$ref": "./examples/ConfigurationListByServer.json" + } + }, + "description": "List all the configurations in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations/{configurationName}": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "x-ms-examples": { + "ConfigurationGet": { + "$ref": "./examples/ConfigurationGet.json" + } + }, + "description": "Gets information about a configuration of server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Update", + "x-ms-examples": { + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" + } + }, + "description": "Updates a configuration of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The required parameters for updating a server configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability_Execute", + "x-ms-examples": { + "NameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "description": "Check the availability of name for resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "LocationBasedCapabilities" + ], + "operationId": "LocationBasedCapabilities_Execute", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocation.json" + } + }, + "description": "Get capabilities at specified location in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + } + ], + "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}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { + "tags": [ + "VirtualNetworkSubnetUsage" + ], + "operationId": "VirtualNetworkSubnetUsage_Execute", + "x-ms-examples": { + "VirtualNetworkSubnetUsageList": { + "$ref": "./examples/VirtualNetworkSubnetUsage.json" + } + }, + "description": "Get virtual network subnet usage for a given vNet resource id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBForPostgreSql/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationList.json" + } + }, + "description": "Lists all of the available REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true + } + }, + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "supportedStorageMB": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageMBCapability" + }, + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, + "ServerVersion": { + "type": "string", + "description": "The version of a server.", + "enum": [ + "12", + "11" + ], + "x-ms-enum": { + "name": "ServerVersion", + "modelAsString": true + } + }, + "ServerProperties": { + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "description": "The administrator login password (required for server creation).", + "x-ms-secret": true, + "format": "password", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "version": { + "$ref": "#/definitions/ServerVersion", + "description": "PostgreSQL Server version." + }, + "state": { + "type": "string", + "description": "A state of a server that is visible to user.", + "readOnly": true, + "enum": [ + "Ready", + "Dropping", + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" + ], + "x-ms-enum": { + "name": "ServerState", + "modelAsString": true + } + }, + "haState": { + "type": "string", + "description": "A state of a HA server that is visible to user.", + "enum": [ + "NotEnabled", + "CreatingStandby", + "ReplicatingData", + "FailingOver", + "Healthy", + "RemovingStandby" + ], + "readOnly": true, + "x-ms-enum": { + "name": "ServerHAState", + "modelAsString": true + } + }, + "fullyQualifiedDomainName": { + "type": "string", + "description": "The fully qualified domain name of a server.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The display name of a server." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "publicNetworkAccess": { + "type": "string", + "description": "public network access is enabled or not", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ServerPublicNetworkAccessState", + "modelAsString": true + }, + "readOnly": true + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "haEnabled": { + "type": "string", + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } + }, + "sourceServerName": { + "type": "string", + "description": "The source PostgreSQL server name to restore from." + }, + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + }, + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { + "properties": { + "subnetArmResourceId": { + "type": "string", + "description": "delegated subnet arm resource id." + } + } + }, + "createMode": { + "type": "string", + "description": "The mode to create a new PostgreSQL server.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "The properties of a server." + }, + "Server": { + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity", + "description": "The Azure Active Directory identity of the server." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "x-ms-client-flatten": true, + "description": "Properties of the server." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Represents a server." + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", + "properties": { + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "ServerPropertiesForUpdate": { + "properties": { + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "haEnabled": { + "type": "string", + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + } + } + }, + "ServerForUpdate": { + "properties": { + "location": { + "type": "string", + "description": "The location the resource resides in." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerPropertiesForUpdate", + "x-ms-client-flatten": true, + "description": "Properties of the server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "Represents a server to be updated." + }, + "ServerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "description": "The list of flexible servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of servers." + }, + "StorageProfile": { + "properties": { + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." + }, + "storageMB": { + "type": "integer", + "format": "int32", + "description": "Max storage allowed for a server." + } + }, + "description": "Storage Profile properties of a server" + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3." + }, + "tier": { + "type": "string", + "description": "The tier of the particular SKU, e.g. Burstable.", + "enum": [ + "Burstable", + "GeneralPurpose", + "MemoryOptimized" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name", + "tier" + ], + "description": "Sku information related properties of a server." + }, + "FirewallRuleProperties": { + "properties": { + "startIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + }, + "endIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "FirewallRule": { + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "description": "Represents a server firewall rule." + }, + "FirewallRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The list of firewall rules in a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of firewall rules." + }, + "ConfigurationProperties": { + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration." + }, + "defaultValue": { + "type": "string", + "readOnly": true, + "description": "Default value of the configuration." + }, + "dataType": { + "type": "string", + "readOnly": true, + "description": "Data type of the configuration.", + "enum": [ + "Boolean", + "Numeric", + "Integer", + "Enumeration" + ], + "x-ms-enum": { + "name": "ConfigurationDataType", + "modelAsString": true + } + }, + "allowedValues": { + "type": "string", + "readOnly": true, + "description": "Allowed values of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration." + } + }, + "description": "The properties of a configuration." + }, + "Configuration": { + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "The properties of a configuration." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Configuration." + }, + "ConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The list of server configurations." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server configurations." + }, + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "readOnly": true, + "description": "Operation resource provider name." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "readOnly": true, + "description": "Localized friendly name for the operation." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Operation description." + } + }, + "description": "Display metadata associated with the operation." + }, + "Operation": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation being performed on this particular object." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "The localized display information for this particular operation or action." + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The intended executor of the operation.", + "enum": [ + "NotSpecified", + "user", + "system" + ], + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false, + "description": "Additional descriptions for the operation." + } + }, + "description": "REST API operation definition." + }, + "OperationListResult": { + "description": "A list of resource provider operations.", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "NameAvailabilityRequest": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Resource name to verify." + }, + "type": { + "type": "string", + "description": "Resource type used for verification." + } + }, + "description": "Request from client to check resource name availability." + }, + "NameAvailability": { + "properties": { + "message": { + "type": "string", + "description": "Error Message." + }, + "nameAvailable": { + "type": "boolean", + "description": "Indicates whether the resource name is available." + }, + "name": { + "type": "string", + "description": "name of the PostgreSQL server." + }, + "type": { + "type": "string", + "description": "type of the server" + } + }, + "description": "Represents a resource name availability." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server firewall rule.", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server configuration.", + "x-ms-parameter-location": "method" + }, + "MaintenanceWindowNameParameter": { + "name": "maintenanceWindowName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance window.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json new file mode 100644 index 000000000000..9921b8a4c681 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "1", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "2", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..7853c92ea534 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "value": "on", + "source": "user-override" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json deleted file mode 100644 index 648e0befb9a2..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowCreate.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-02-14-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", - "parameters": { - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - } - } - }, - "responses": { - "201": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - }, - "200": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - }, - "202": {} - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json deleted file mode 100644 index cafa0a76ed07..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowDelete.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "TestGroup", - "api-version": "2020-02-14-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": {}, - "202": {}, - "204": {} - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json deleted file mode 100644 index 8febc0a4b487..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowGet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "maintenanceWindowName": "customerMaintenanceWindow", - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-02-14-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - } - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json deleted file mode 100644 index aff335545a5c..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CustomerMaintenanceWindowListByServer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "serverName": "testserver", - "resourceGroupName": "testrg", - "api-version": "2020-02-14-privatepreview", - "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/prkinteastus/maintenanceWindows/customerMaintenanceWindow", - "name": "customerMaintenanceWindow", - "properties": { - "dayOfWeek": 1, - "startHour": 0, - "startMinute": 30, - "durationInMinutes": 30 - }, - "type": "Microsoft.DBforPostgreSQL/flexibleServers/maintenanceWindows" - } - ] - } - } - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json index 3c3908a9039a..857216019136 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json @@ -8,23 +8,21 @@ "location": "westus", "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { "administratorLogin": "cloudsa", "administratorLoginPassword": "password", "version": "12", - "standbyCount": 0, - "vnetInjArgs": { - "delegatedSubnetName": "test-subnet", - "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437", - "delegatedVnetName": "test-vnet" + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 - } + }, + "availabilityZone": "1" }, "tags": { "ElasticServer": "1" @@ -36,7 +34,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -47,15 +44,21 @@ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", "displayName": "demosingleserver", "publicNetworkAccess": "Enabled", - "standbyCount": 0, - "vnetInjArgs": { - "delegatedSubnetName": "test-subnet", - "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437", - "delegatedVnetName": "test-vnet" + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", @@ -71,7 +74,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -82,15 +84,21 @@ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", "displayName": "demosingleserver", "publicNetworkAccess": "Enabled", - "standbyCount": 0, - "vnetInjArgs": { - "delegatedSubnetName": "test-subnet", - "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437", - "delegatedVnetName": "test-vnet" + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json index 37fbec167d04..803ad0031622 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json @@ -18,7 +18,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -29,12 +28,13 @@ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", "displayName": "demosingleserver", "publicNetworkAccess": "Enabled", - "standbyCount": 0, - "vnetInjArgs": {}, + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 - } + }, + "availabilityZone": "1" }, "location": "westus", "tags": { @@ -49,7 +49,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -60,12 +59,13 @@ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", "displayName": "demosingleserver", "publicNetworkAccess": "Enabled", - "standbyCount": 0, - "vnetInjArgs": {}, + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 - } + }, + "availabilityZone": "1" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json index fdb65ca0219c..219f82e99064 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json @@ -10,7 +10,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -24,6 +23,15 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json index 639fb674d91a..d1f727e6dab8 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json @@ -10,7 +10,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -21,15 +20,14 @@ "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", "displayName": "demosingleserver", "publicNetworkAccess": "Disabled", - "vnetInjArgs": { - "delegatedSubnetName": "test-subnet", - "delegatedVnetID": "6ed504a3-24b8-4ba8-ac1f-7a1780195437", - "delegatedVnetName": "test-vnet" + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 - } + }, + "availabilityZone": "1" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json new file mode 100644 index 000000000000..c42b5c076cc6 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..769fa6985a14 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..87fdede04e58 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json new file mode 100644 index 000000000000..f0923ae1877b --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json index c45b4e7331f2..6331599d553d 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json @@ -11,7 +11,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -25,6 +24,15 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", @@ -38,7 +46,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -52,6 +59,14 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" } }, "location": "westus", @@ -65,7 +80,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -79,6 +93,14 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", @@ -92,7 +114,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -106,6 +127,15 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json index eb147eed2fbf..ccc95d5b83ec 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json @@ -12,7 +12,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -26,6 +25,15 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" } }, "location": "westus", @@ -36,7 +44,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -50,6 +57,14 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" } }, "location": "westus", @@ -60,7 +75,6 @@ { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -74,6 +88,14 @@ "storageProfile": { "storageMB": 524288, "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" } }, "location": "westus", diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json index 9340c6e76e9b..cd18ac62f1c0 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json @@ -8,7 +8,6 @@ "location": "westus", "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -25,7 +24,6 @@ "body": { "sku": { "tier": "GeneralPurpose", - "capacity": 4, "name": "Standard_D4s_v3" }, "properties": { @@ -40,7 +38,9 @@ "storageMB": 524288, "backupRetentionDays": 20 }, - "vnetInjArgs": {} + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1" }, "location": "westus", "tags": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json new file mode 100644 index 000000000000..0bf2308701ca --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + }, + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..79466a840f2b --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json index 8d350737eb01..830dbfac5a09 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json @@ -39,7 +39,7 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_Create", + "operationId": "Servers_Create", "x-ms-examples": { "Create a new server": { "$ref": "./examples/ServerCreate.json" @@ -101,10 +101,13 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_Update", + "operationId": "Servers_Update", "x-ms-examples": { "ServerUpdate": { "$ref": "./examples/ServerUpdate.json" + }, + "ServerUpdateWithCustomerMaintenanceWindow": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" } }, "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", @@ -154,7 +157,7 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_Delete", + "operationId": "Servers_Delete", "x-ms-examples": { "ServerDelete": { "$ref": "./examples/ServerDelete.json" @@ -198,7 +201,7 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_Get", + "operationId": "Servers_Get", "x-ms-examples": { "ServerGet": { "$ref": "./examples/ServerGet.json" @@ -243,7 +246,7 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_ListByResourceGroup", + "operationId": "Servers_ListByResourceGroup", "x-ms-examples": { "ServerListByResourceGroup": { "$ref": "./examples/ServerListByResourceGroup.json" @@ -285,7 +288,7 @@ "tags": [ "Servers" ], - "operationId": "FlexibleServers_List", + "operationId": "Servers_List", "x-ms-examples": { "ServerList": { "$ref": "./examples/ServerList.json" @@ -324,7 +327,7 @@ "tags": [ "ServerRestart" ], - "operationId": "FlexibleServers_Restart", + "operationId": "Servers_Restart", "x-ms-examples": { "ServerRestart": { "$ref": "./examples/ServerRestart.json" @@ -367,7 +370,7 @@ "tags": [ "ServerStart" ], - "operationId": "FlexibleServers_Start", + "operationId": "Servers_Start", "x-ms-examples": { "ServerStart": { "$ref": "./examples/ServerStart.json" @@ -410,7 +413,7 @@ "tags": [ "ServerStop" ], - "operationId": "FlexibleServers_Stop", + "operationId": "Servers_Stop", "x-ms-examples": { "ServerStop": { "$ref": "./examples/ServerStop.json" @@ -453,7 +456,7 @@ "tags": [ "FirewallRules" ], - "operationId": "FlexibleServersFirewallRules_CreateOrUpdate", + "operationId": "FirewallRules_CreateOrUpdate", "x-ms-examples": { "FirewallRuleCreate": { "$ref": "./examples/FirewallRuleCreate.json" @@ -562,7 +565,7 @@ "tags": [ "FirewallRules" ], - "operationId": "FlexibleServersFirewallRules_Get", + "operationId": "FirewallRules_Get", "x-ms-examples": { "FirewallRuleList": { "$ref": "./examples/FirewallRuleGet.json" @@ -607,7 +610,7 @@ "tags": [ "FirewallRules" ], - "operationId": "FlexibleServersFirewallRules_ListByServer", + "operationId": "FirewallRules_ListByServer", "x-ms-examples": { "FirewallRuleList": { "$ref": "./examples/FirewallRuleListByServer.json" @@ -652,7 +655,7 @@ "tags": [ "Configurations" ], - "operationId": "FlexibleServersConfigurations_ListByServer", + "operationId": "Configurations_ListByServer", "x-ms-examples": { "ConfigurationList": { "$ref": "./examples/ConfigurationListByServer.json" @@ -697,7 +700,7 @@ "tags": [ "Configurations" ], - "operationId": "FlexibleServersConfigurations_Get", + "operationId": "Configurations_Get", "x-ms-examples": { "ConfigurationGet": { "$ref": "./examples/ConfigurationGet.json" @@ -735,20 +738,18 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/maintenanceWindows/{maintenanceWindowName}": { - "put": { + }, + "patch": { "tags": [ - "CustomerMaintenanceWindow" + "Configurations" ], - "operationId": "FlexibleServersCustomerMaintenanceWindow_CreateOrUpdate", + "operationId": "Configurations_Update", "x-ms-examples": { - "CustomerMaintenanceWindowCreate": { - "$ref": "./examples/CustomerMaintenanceWindowCreate.json" + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" } }, - "description": "Creates a new customer maintenance window.", + "description": "Updates a configuration of a server.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -763,29 +764,23 @@ "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/MaintenanceWindowNameParameter" + "$ref": "#/parameters/ConfigurationNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CustomerMaintenanceWindow" + "$ref": "#/definitions/Configuration" }, - "description": "The required parameters for creating or updating a customer maintenance window." + "description": "The required parameters for updating a server configuration." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CustomerMaintenanceWindow" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/CustomerMaintenanceWindow" + "$ref": "#/definitions/Configuration" } }, "202": { @@ -799,19 +794,127 @@ } }, "x-ms-long-running-operation": true - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/keys": { + "get": { "tags": [ - "CustomerMaintenanceWindow" + "ServerKeys" + ], + "description": "Gets a list of Server keys.", + "operationId": "ServerKeys_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } ], - "operationId": "FlexibleServersCustomerMaintenanceWindow_Delete", + "responses": { + "200": { + "description": "Successfully retrieved the list of PostgreSQL Server keys.", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "CustomerMaintenanceWindowDelete": { - "$ref": "./examples/CustomerMaintenanceWindowDelete.json" + "List the keys for a PostgreSQL Server.": { + "$ref": "./examples/ServerKeyList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/keys/{keyName}": { + "get": { + "tags": [ + "ServerKeys" + ], + "description": "Gets a PostgreSQL Server key.", + "operationId": "ServerKeys_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified PostgreSQL Server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "description": "Deletes a PostgreSQL server Customer maintenance window.", + "x-ms-examples": { + "Get the PostgreSQL Server key": { + "$ref": "./examples/ServerKeyGet.json" + } + } + }, + "put": { + "tags": [ + "ServerKeys" + ], + "description": "Creates or updates a PostgreSQL Server key.", + "operationId": "ServerKeys_CreateOrUpdate", "parameters": [ + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be operated on (updated or created).", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested PostgreSQL Server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, @@ -820,23 +923,71 @@ }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the PostgreSQL Server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "202": { + "description": "Operation in progress", + "schema": { + "$ref": "#/definitions/ServerKey" + } }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a PostgreSQL Server key": { + "$ref": "./examples/ServerKeyCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "description": "Deletes the PostgreSQL Server key with the given name.", + "operationId": "ServerKeys_Delete", + "parameters": [ { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/MaintenanceWindowNameParameter" + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK" + "description": "Successfully deleted the PostgreSQL Server key." }, "202": { - "description": "Accepted" + "description": "Operation in progress" }, "204": { - "description": "NoContent" + "description": "The specified PostgreSQL Server key does not exist." }, "default": { "description": "Error response describing why the operation failed.", @@ -845,19 +996,26 @@ } } }, - "x-ms-long-running-operation": true - }, - "get": { + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the PostgreSQL Server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/checkNameAvailability": { + "post": { "tags": [ - "CustomerMaintenanceWindow" + "CheckNameAvailability" ], - "operationId": "FlexibleServersCustomerMaintenanceWindow_Get", + "operationId": "CheckNameAvailability_Execute", "x-ms-examples": { - "CustomerMaintenanceWindowGet": { - "$ref": "./examples/CustomerMaintenanceWindowGet.json" + "NameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" } }, - "description": "Get the Customer maintenance windows of a given PostgreSQL server.", + "description": "Check the availability of name for resource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -866,20 +1024,20 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/MaintenanceWindowNameParameter" + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CustomerMaintenanceWindow" + "$ref": "#/definitions/NameAvailability" } }, "default": { @@ -891,18 +1049,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/maintenanceWindows": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/capabilities": { "get": { "tags": [ - "CustomerMaintenanceWindow" + "LocationBasedCapabilities" ], - "operationId": "FlexibleServersCustomerMaintenanceWindow_ListByServer", + "operationId": "LocationBasedCapabilities_Execute", "x-ms-examples": { - "CustomerMaintenanceWindowList": { - "$ref": "./examples/CustomerMaintenanceWindowListByServer.json" + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocation.json" } }, - "description": "List all the Customer Maintenance Windows in a given PostgreSQL server.", + "description": "Get capabilities at specified location in a given subscription.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -911,17 +1069,14 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "#/parameters/LocationNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CustomerMaintenanceWindowListResult" + "$ref": "#/definitions/CapabilitiesListResult" } }, "default": { @@ -930,21 +1085,24 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { "post": { "tags": [ - "CheckNameAvailability" + "VirtualNetworkSubnetUsage" ], - "operationId": "FlexibleServersCheckNameAvailability_Execute", + "operationId": "VirtualNetworkSubnetUsage_Execute", "x-ms-examples": { - "NameAvailability": { - "$ref": "./examples/CheckNameAvailability.json" + "VirtualNetworkSubnetUsageList": { + "$ref": "./examples/VirtualNetworkSubnetUsage.json" } }, - "description": "Check the availability of name for resource", + "description": "Get virtual network subnet usage for a given vNet resource id.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" @@ -953,20 +1111,23 @@ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "nameAvailabilityRequest", + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/NameAvailabilityRequest" + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" }, - "description": "The required parameters for checking if resource name is available." + "description": "The required parameters for creating or updating a server." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NameAvailability" + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" } }, "default": { @@ -1013,11 +1174,269 @@ } }, "definitions": { + "ServerKeyListResult": { + "description": "A list of PostgreSQL Server keys.", + "type": "object", + "properties": { + "value": { + "description": "A list of PostgreSQL Server keys.", + "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 key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'AzureKeyVault'.", + "enum": [ + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the key.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A PostgreSQL Server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector used to protect the key.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Properties of the ServerKey Resource.", + "x-ms-client-flatten": true + } + } + }, + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true + } + }, + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "supportedStorageMB": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageMBCapability" + }, + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, "ServerVersion": { "type": "string", "description": "The version of a server.", "enum": [ - "12" + "12", + "11" ], "x-ms-enum": { "name": "ServerVersion", @@ -1106,12 +1525,24 @@ "x-ms-enum": { "name": "ServerPublicNetworkAccessState", "modelAsString": true - } + }, + "readOnly": true }, - "standbyCount": { - "type": "integer", - "format": "int32", - "description": "stand by count value can be either 0 or 1" + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "haEnabled": { + "type": "string", + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } }, "sourceServerName": { "type": "string", @@ -1122,19 +1553,25 @@ "format": "date-time", "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." }, - "vnetInjArgs": { + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { "properties": { - "delegatedVnetID": { + "subnetArmResourceId": { "type": "string", - "description": "delegated vNet ID" - }, - "delegatedSubnetName": { - "type": "string", - "description": "delegated subnet name" - }, - "delegatedVnetName": { - "type": "string", - "description": "delegated vNet name" + "description": "delegated subnet arm resource id." } } }, @@ -1148,7 +1585,17 @@ "x-ms-enum": { "name": "CreateMode", "modelAsString": true - } + }, + "x-ms-mutability": [ + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." } }, "description": "The properties of a server." @@ -1176,34 +1623,57 @@ ], "description": "Represents a server." }, - "ServerPropertiesForUpdate": { + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", "properties": { - "administratorLoginPassword": { + "customWindow": { "type": "string", - "format": "password", - "description": "The password of the administrator login." + "description": "indicates whether custom window is enabled or disabled" }, - "version": { - "$ref": "#/definitions/ServerVersion", - "description": "PostgreSQL Server version." + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" }, - "vCores": { + "startMinute": { "type": "integer", "format": "int32", - "description": "Max compute of a server is 64vCores." + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "ServerPropertiesForUpdate": { + "properties": { + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." }, "storageProfile": { "$ref": "#/definitions/StorageProfile", "description": "Storage profile of a server." }, - "standbyCount": { - "type": "integer", - "format": "int32", - "description": "stand by count value can be either 0 or 1" - }, - "serverEdition": { + "haEnabled": { "type": "string", - "description": "server edition default to general purpose" + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." } } }, @@ -1219,7 +1689,7 @@ }, "properties": { "$ref": "#/definitions/ServerPropertiesForUpdate", - "x-ms-client-flatten": false, + "x-ms-client-flatten": true, "description": "Properties of the server." }, "tags": { @@ -1240,7 +1710,7 @@ "items": { "$ref": "#/definitions/Server" }, - "description": "The list of servers" + "description": "The list of flexible servers" }, "nextLink": { "description": "The link used to get the next page of operations.", @@ -1282,14 +1752,12 @@ "name": "SkuTier", "modelAsString": true } - }, - "capacity": { - "type": "integer", - "format": "int32", - "minimum": 0, - "description": "The scale up/out capacity, representing server's compute units." } }, + "required": [ + "name", + "tier" + ], "description": "Sku information related properties of a server." }, "FirewallRuleProperties": { @@ -1346,66 +1814,6 @@ }, "description": "A list of firewall rules." }, - "CustomerMaintenanceWindowProperties": { - "properties": { - "dayOfWeek": { - "type": "integer", - "format": "int32", - "description": "The day of week of the customer maintenance window to start" - }, - "durationInMinutes": { - "type": "integer", - "format": "int32", - "description": "The duration of the customer maintenance window to run." - }, - "startHour": { - "type": "integer", - "format": "int32", - "description": "The starting hour of the customer maintenance window." - }, - "startMinute": { - "type": "integer", - "format": "int32", - "description": "The starting minutes of the customer maintenance window." - } - }, - "required": [ - "dayOfWeek", - "startHour", - "startMinute" - ], - "description": "The properties of a server firewall rule." - }, - "CustomerMaintenanceWindow": { - "properties": { - "properties": { - "$ref": "#/definitions/CustomerMaintenanceWindowProperties", - "x-ms-client-flatten": true, - "description": "The properties of a customer maintenance window." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "properties" - ], - "description": "Represents a server firewall rule." - }, - "CustomerMaintenanceWindowListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/CustomerMaintenanceWindow" - }, - "description": "The list of CustomerMaintenanceWindows in a PostgreSQL server." - } - }, - "description": "A list of firewall rules." - }, "ConfigurationProperties": { "properties": { "value": { @@ -1604,6 +2012,14 @@ } }, "parameters": { + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, "ServerNameParameter": { "name": "serverName", "in": "path", diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json index fe4e44f77321..1ff32eaa3e4a 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Replicas": { "get": { "tags": [ "Replicas" @@ -325,7 +325,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -368,7 +368,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/providers/Microsoft.DBforPostgreSQL/operations": { + "/providers/Microsoft.DBForPostgreSQL/operations": { "get": { "tags": [ "Operations" @@ -1534,30 +1534,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1844,6 +1820,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -1893,7 +1872,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/ServerSecurityAlertPolicies.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/ServerSecurityAlertPolicies.json deleted file mode 100644 index a8742e8b677c..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/ServerSecurityAlertPolicies.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-01-01", - "title": "PostgreSQLManagementClient", - "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$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 - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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/ServerSecurityAlertsCreate.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get the server's threat detection policies.", - "operationId": "ServerSecurityAlertPolicies_ListByServer", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/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 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.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertsPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - }, - "systemData": { - "readOnly": true, - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" - } - } - }, - "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", - "required": true, - "type": "string", - "description": "The name of the server.", - "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/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json deleted file mode 100644 index 9ad08e9934f2..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsCreate.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01", - "parameters": { - "properties": { - "state": "Enabled" - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforPostgreSQL/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforPostgreSQL/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" - } - } - }, - "202": {} - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json deleted file mode 100644 index 74ce4ba9fd46..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsGet.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "securityAlertPolicyName": "Default", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforPostgreSQL/servers/securityalert-6440", - "name": "Default", - "type": "Microsoft.DBforPostgreSQL/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": "Disabled" - } - } - } - } -} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json deleted file mode 100644 index 7dccedbb8957..000000000000 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2020-01-01/examples/ServerSecurityAlertsListByServer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "securityalert-4799", - "serverName": "securityalert-6440", - "api-version": "2020-01-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforPostgreSQL/servers/securityalert-6440/securityAlertPolicies", - "name": "Default", - "type": "Microsoft.DBforPostgreSQL/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" - } - } - ] - } - } - } -} diff --git a/specification/postgresql/resource-manager/readme.az.md b/specification/postgresql/resource-manager/readme.az.md new file mode 100644 index 000000000000..cec43db01174 --- /dev/null +++ b/specification/postgresql/resource-manager/readme.az.md @@ -0,0 +1,14 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: postgresql + namespace: azure.mgmt.postgresql + package-name: azure-mgmt-postgresql +az-output-folder: $(azure-cli-extension-folder)/src/postgresql +python-sdk-output-folder: "$(az-output-folder)/azext_postgresql/vendored_sdks/postgresql" +# add additinal configuration here specific for Azure CLI +# refer to the faq.md for more details +``` \ No newline at end of file diff --git a/specification/postgresql/resource-manager/readme.azureresourceschema.md b/specification/postgresql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..dc4fa2f7b514 --- /dev/null +++ b/specification/postgresql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,62 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbforpostgresql-2020-01-01 + - tag: schema-dbforpostgresql-2018-06-01 + - tag: schema-dbforpostgresql-2017-12-01-preview + - tag: schema-dbforpostgresql-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbforpostgresql-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json + +``` + +### Tag: schema-dbforpostgresql-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json + +``` + +### Tag: schema-dbforpostgresql-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json + +``` + +### Tag: schema-dbforpostgresql-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json + - Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/postgresql/resource-manager/readme.go.md b/specification/postgresql/resource-manager/readme.go.md index 7fc16ffa1a54..371cc48113e3 100644 --- a/specification/postgresql/resource-manager/readme.go.md +++ b/specification/postgresql/resource-manager/readme.go.md @@ -5,7 +5,6 @@ These settings apply only when `--go` is specified on the command line. ``` yaml $(go) go: license-header: MICROSOFT_APACHE_NO_VERSION - namespace: postgresql clear-output-folder: true ``` @@ -13,17 +12,30 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-02-14-preview - tag: package-2020-01-01 - tag: package-2017-12-01-preview - tag: package-2017-12-01 ``` +### Tag: package-2020-02-14 and go + +These settings apply only when `--tag=package-2020-02-14-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-02-14-preview' && $(go) +rpname: postgresql +namespace: postgresqlflexibleservers +output-folder: $(go-sdk-folder)/services/preview/$(rpname)/mgmt/2020-02-14-preview/$(namespace) +``` + ### Tag: package-2020-01-01 and go These settings apply only when `--tag=package-2020-01-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-01-01' && $(go) +namespace: postgresql output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-01-01/$(namespace) ``` @@ -33,6 +45,7 @@ These settings apply only when `--tag=package-2017-12-01-preview --go` is specif Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2017-12-01-preview' && $(go) +namespace: postgresql output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-12-01-preview/$(namespace) ``` @@ -42,5 +55,6 @@ These settings apply only when `--tag=package-2017-12-01 --go` is specified on t Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2017-12-01' && $(go) +namespace: postgresql output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2017-12-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md index fff38f5d4148..9ec87bd2f7a0 100644 --- a/specification/postgresql/resource-manager/readme.md +++ b/specification/postgresql/resource-manager/readme.md @@ -30,6 +30,16 @@ description: The Microsoft Azure management API provides create, read, update, a openapi-type: arm tag: package-2020-01-01 ``` +### Tag: package-2020-02-14-preview + +These settings apply only when `--tag=package-2020-02-14-preview` is specified on the command line. + + +``` yaml $(tag) == 'package-2020-02-14-preview' +input-file: +- Microsoft.DBforPostgreSQL/preview/2020-02-14-preview/postgresql.json +``` + ### Tag: package-2020-02-14-privatepreview @@ -60,10 +70,10 @@ These settings apply only when `--tag=package-2020-01-01` is specified on the co ``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +- Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json - Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json -- Microsoft.DBforPostgreSQL/stable/2020-01-01/ServerSecurityAlertPolicies.json ``` @@ -139,6 +149,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js postgresql/resource-manager ``` ### C# @@ -151,37 +164,13 @@ csharp: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.Management.PostgreSQL - output-folder: $(csharp-sdks-folder)/postgresql/Microsoft.Azure.Management.PostgreSQL/src/Generated + output-folder: $(csharp-sdks-folder)/postgresql/Microsoft.Azure.Management.PostgreSQL/src/postgresql/Generated clear-output-folder: true ``` - ## 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) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.rdbms.postgresql - package-name: azure-mgmt-rdbms - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms -``` +See configuration in [readme.python.md](./readme.python.md) ## Go @@ -191,6 +180,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -203,15 +196,16 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(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/2020-01-01-privatepreview/DataEncryptionKeys.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/2020-01-01/DataEncryptionKeys.json - - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2020-01-01/ServerSecurityAlertPolicies.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/stable/2017-12-01/ServerSecurityAlertPolicies.json - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json ``` diff --git a/specification/postgresql/resource-manager/readme.python.md b/specification/postgresql/resource-manager/readme.python.md new file mode 100644 index 000000000000..a0c7fe2f1884 --- /dev/null +++ b/specification/postgresql/resource-manager/readme.python.md @@ -0,0 +1,67 @@ +## 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 !$(track2) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + package-name: azure-mgmt-rdbms + clear-output-folder: true + no-namespace-folders: true +``` + +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-rdbms +no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml !$(track2) +batch: + - tag: package-2020-01-01 + - tag: package-2020-02-14-preview +``` + +```yaml $(track2) +clear-output-folder: true +batch: + - tag: package-2020-01-01 + - tag: package-2020-02-14-preview +``` + +### Tag: package-2020-01-01 and python + +These settings apply only when `--tag=package-2020-01-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-01-01' && $(python) +namespace: azure.mgmt.rdbms.postgresql +output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql +python: + namespace: azure.mgmt.rdbms.postgresql + output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql +``` + +### Tag: package-2020-02-14-preview and python + +These settings apply only when `--tag=package-2020-02-14-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-02-14-preview' && $(python) +namespace: azure.mgmt.rdbms.postgresql_flexibleservers +output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql_flexibleservers +python: + namespace: azure.mgmt.rdbms.postgresql_flexibleservers + output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/postgresql_flexibleservers +``` \ No newline at end of file diff --git a/specification/powerbidedicated/resource-manager/readme.azureresourceschema.md b/specification/powerbidedicated/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0a9fe7a5e2bf --- /dev/null +++ b/specification/powerbidedicated/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-powerbidedicated-2017-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-powerbidedicated-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-powerbidedicated-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json + +``` diff --git a/specification/powerbidedicated/resource-manager/readme.md b/specification/powerbidedicated/resource-manager/readme.md index 4c4478c3404a..84b2d74562ab 100644 --- a/specification/powerbidedicated/resource-manager/readme.md +++ b/specification/powerbidedicated/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js powerbidedicated/resource-manager ``` ## C# @@ -115,27 +118,7 @@ See configuration in [readme.python.md](./readme.python.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.PowerBIdedicated/stable/2017-10-01/powerbidedicated.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/powerbiembedded/resource-manager/readme.azureresourceschema.md b/specification/powerbiembedded/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8fdb893fe252 --- /dev/null +++ b/specification/powerbiembedded/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-powerbi-2016-01-29 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-powerbi-2016-01-29 and azureresourceschema + +``` yaml $(tag) == 'schema-powerbi-2016-01-29' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PowerBI/stable/2016-01-29/powerbiembedded.json + +``` diff --git a/specification/powerbiembedded/resource-manager/readme.md b/specification/powerbiembedded/resource-manager/readme.md index 15f724cc783d..58f6019c622f 100644 --- a/specification/powerbiembedded/resource-manager/readme.md +++ b/specification/powerbiembedded/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_powerbi_embedded'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js powerbiembedded/resource-manager ``` @@ -113,27 +116,7 @@ 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: - - $(this-folder)/Microsoft.PowerBI/stable/2016-01-29/powerbiembedded.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/common/v1/definitions.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/common/v1/definitions.json new file mode 100644 index 000000000000..07979d47210d --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/common/v1/definitions.json @@ -0,0 +1,190 @@ +{ + "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": "v1", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "ErrorResponse": { + "description": "ARM error response body.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Details about the error." + } + } + }, + "ErrorResponseBody": { + "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." + } + }, + "description": "An error response from the PowerPlatform service." + }, + "Resource": { + "description": "The core properties of ARM resources", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ARM resource id of the EnterprisePolicy." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the EnterprisePolicy." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "Region where the EnterprisePolicy is located." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Azure Region where the resource lives" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "Operation": { + "description": "PowerPlatform REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: For ex. providers/Microsoft.PowerPlatform/enterprisePolicies/write or read", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "string" + }, + "display": { + "properties": { + "provider": { + "description": "Service provider: Microsoft.PowerPlatform", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description about operation.", + "type": "string" + } + }, + "description": "Provider, Resource, Operation and description values." + }, + "properties": { + "properties": { + "statusCode": { + "description": "Service provider: Microsoft.PowerPlatform", + "type": "string" + } + }, + "x-ms-client-flatten": true, + "description": "Provider, Resource, Operation and description values." + } + } + }, + "OperationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of PowerPlatform operations supported by the PowerPlatform resource provider." + } + }, + "description": "The response model for the list of PowerPlatform operations" + } + }, + "parameters": { + "EnterprisePolicyNameParameter": { + "name": "enterprisePolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "EnterprisePolicy for the Microsoft Azure subscription.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/enterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/enterprisePolicy.json new file mode 100644 index 000000000000..b9b6ba659420 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/enterprisePolicy.json @@ -0,0 +1,534 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-30-preview", + "title": "PowerPlatform" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}": { + "put": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_CreateOrUpdate", + "description": "Creates an EnterprisePolicy", + "x-ms-examples": { + "Create or update EnterprisePolicy": { + "$ref": "./examples/createOrUpdateEnterprisePolicy.json" + } + }, + "parameters": [ + { + "name": "enterprisePolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the EnterprisePolicy." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + }, + "description": "Parameters supplied to create or update EnterprisePolicy." + } + ], + "responses": { + "201": { + "description": "Created. The EnterprisePolicy was created successfully.", + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + } + }, + "200": { + "description": "OK. The EnterprisePolicy was updated successfully.", + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_Get", + "description": "Get information about an EnterprisePolicy", + "x-ms-examples": { + "Get an EnterprisePolicy": { + "$ref": "./examples/getEnterprisePolicy.json" + } + }, + "parameters": [ + { + "name": "enterprisePolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The EnterprisePolicy name." + }, + { + "$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. The EnterprisePolicy was returned successfully.", + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_Delete", + "description": "Delete an EnterprisePolicy", + "x-ms-examples": { + "Delete an EnterprisePolicy": { + "$ref": "./examples/deleteEnterprisePolicy.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "enterprisePolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the EnterprisePolicy" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_Update", + "description": "Updates an EnterprisePolicy", + "x-ms-examples": { + "Update EnterprisePolicy": { + "$ref": "./examples/updateEnterprisePolicy.json" + } + }, + "parameters": [ + { + "name": "enterprisePolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the EnterprisePolicy." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + }, + "description": "Parameters supplied to update EnterprisePolicy." + } + ], + "responses": { + "200": { + "description": "OK. The EnterprisePolicy was updated successfully.", + "schema": { + "$ref": "#/definitions/EnterprisePolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies": { + "get": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_ListByResourceGroup", + "description": "Retrieve a list of EnterprisePolicies within a given resource group", + "x-ms-examples": { + "List EnterprisePolicies by resource group": { + "$ref": "./examples/listEnterprisePoliciesByResourceGroup.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. List of EnterprisePolicies.", + "schema": { + "$ref": "#/definitions/EnterprisePolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.PowerPlatform/enterprisePolicies": { + "get": { + "tags": [ + "EnterprisePolicies" + ], + "operationId": "EnterprisePolicies_ListBySubscription", + "description": "Retrieve a list of EnterprisePolicies within a subscription", + "x-ms-examples": { + "List EnterprisePolicies by subscription": { + "$ref": "./examples/listEnterprisePoliciesBySubscription.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. List of EnterprisePolicies.", + "schema": { + "$ref": "#/definitions/EnterprisePolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.PowerPlatform/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available PowerPlatform REST API operations.", + "x-ms-examples": { + "Lists all of the available PowerPlatform REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "EnterprisePolicy": { + "type": "object", + "description": "Definition of the EnterprisePolicy.", + "allOf": [ + { + "description": "The resource model definition for a ARM tracked top level resource.", + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/EnterprisePolicyIdentity", + "description": "The identity of the EnterprisePolicy." + }, + "properties": { + "$ref": "#/definitions/Properties", + "description": "The properties that define configuration for the enterprise policy", + "x-ms-client-flatten": true + } + } + }, + "Properties": { + "type": "object", + "description": "The properties that define configuration for the enterprise policy.", + "properties": { + "lockbox": { + "type": "object", + "description": "Settings concerning lockbox.", + "properties": { + "status": { + "$ref": "#/definitions/status", + "description": "lockbox configuration" + } + } + }, + "encryption": { + "type": "object", + "description": "The encryption settings for a configuration store.", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + "EnterprisePolicyIdentity": { + "type": "object", + "description": "The identity of the EnterprisePolicy.", + "properties": { + "systemAssignedIdentityPrincipalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of EnterprisePolicy identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the EnterprisePolicy." + }, + "type": { + "type": "string", + "description": "The type of identity used for the EnterprisePolicy. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The state of onboarding, which only appears in the response.", + "x-ms-enum": { + "name": "status", + "modelAsString": true + }, + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + }, + "KeyVaultProperties": { + "type": "object", + "description": "Settings concerning key vault encryption for a configuration store.", + "properties": { + "id": { + "type": "string", + "description": "Uri of KeyVault" + }, + "key": { + "$ref": "#/definitions/keyProperties", + "description": "Identity of the secret that includes name and version." + }, + "status": { + "description": "The state of onboarding, which only appears in the response.", + "$ref": "#/definitions/status" + } + } + }, + "keyProperties": { + "properties": { + "name": { + "description": "The identifier of the key vault key used to encrypt data.", + "type": "string" + }, + "version": { + "description": "The version of the identity which will be used to access key vault.", + "type": "string" + } + }, + "description": "Url and version of the KeyVault Secret" + }, + "EnterprisePolicyList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EnterprisePolicy" + }, + "description": "Result of the list EnterprisePolicy operation." + } + }, + "description": "The response of the list EnterprisePolicy operation." + } + }, + "parameters": {} +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionDelete.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..7275859a9a37 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionGet.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..956cb49ea6de --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.PowerPlatform/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionListGet.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionListGet.json new file mode 100644 index 000000000000..33ebd4ab5bf9 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionListGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/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" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/privateEndpointConnections/privateEndpointConnectionName2", + "name": "privateEndpointConnectionName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/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" + } + } + } + ] + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..e895fd751243 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-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.PowerPlatform/enterprisePolicies/ddb1/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/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" + } + } + } + }, + "202": {} + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceGet.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..461589beb21c --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview", + "groupName": "sql" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.PowerPlatform/enterprisePolicies/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ] + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceListGet.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceListGet.json new file mode 100644 index 000000000000..a4e079ac2a17 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/PrivateLinkResourceListGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.PowerPlatform/enterprisePolicies/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + } + ] + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/createOrUpdateEnterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/createOrUpdateEnterprisePolicy.json new file mode 100644 index 000000000000..c41b857d5fa9 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/createOrUpdateEnterprisePolicy.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "api-version": "2020-10-30-preview", + "enterprisePolicyName": "enterprisePolicy", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + }, + "location": "East US" + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "name": "enterprisePolicy", + "id": "/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "enterprisePolicy", + "id": "/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/deleteEnterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/deleteEnterprisePolicy.json new file mode 100644 index 000000000000..c0055eba1837 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/deleteEnterprisePolicy.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "enterprisePolicyName": "enterprisePolicy", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/getEnterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/getEnterprisePolicy.json new file mode 100644 index 000000000000..7b7ae06b29b7 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/getEnterprisePolicy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "enterprisePolicyName": "enterprisePolicy", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "enterprisePolicy", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesByResourceGroup.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesByResourceGroup.json new file mode 100644 index 000000000000..1d6c31b7fb5f --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "entrprisePolicy1", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy1", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "properties": { + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + } + }, + { + "name": "enterprisePolicy2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy2", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "properties": { + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + } + ] + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesBySubscription.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesBySubscription.json new file mode 100644 index 000000000000..6b240cbee0e0 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listEnterprisePoliciesBySubscription.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "enterprisePolicy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy1", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + }, + { + "name": "enterprisePolicy2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy2", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + } + ] + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listOperations.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listOperations.json new file mode 100644 index 000000000000..73e6845fe313 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listOperations.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-10-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.PowerPlatform/enterprisePolicies/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft PowerPlatform", + "resource": "Microsoft.PowerPlatform/enterprisePolicies", + "operation": "Microsoft.PowerPlatform/enterprisePolicies/write", + "description": "Create new enterprisePolicy." + }, + "properties": null + }, + { + "name": "Microsoft.PowerPlatform/enterprisePolicies/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft PowerPlatform", + "resource": "Microsoft.PowerPlatform/enterprisePolicies", + "operation": "Microsoft.PowerPlatform/enterprisePolicies/read", + "description": "Get enterprisePolicy." + }, + "properties": null + } + ] + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listSubnetsByEnterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listSubnetsByEnterprisePolicy.json new file mode 100644 index 000000000000..a630f91380c1 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/listSubnetsByEnterprisePolicy.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ep1", + "api-version": "2020-10-30-preview", + "subnetName": "subnetName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ep1/subnets", + "name": "subnetName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/subnets", + "properties": { + "subnet": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/subnet1" + }, + "status": "Enabled", + "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/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ep1/subnets", + "name": "subnetName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/subnets", + "properties": { + "subnet": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/subnet2" + }, + "status": "Disabled", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + } + } + } + ] + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetGet.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetGet.json new file mode 100644 index 000000000000..14ba1ba62fa7 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview", + "subnetName": "subnetName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/subnets", + "name": "subnetName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/subnets", + "properties": { + "subnet": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/subnet1" + }, + "status": "Enabled" + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetUpdate.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetUpdate.json new file mode 100644 index 000000000000..485a69b7ddaa --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/subnetUpdate.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "enterprisePolicyName": "ddb1", + "api-version": "2020-10-30-preview", + "subnetName": "subnetName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.PowerPlatform/enterprisePolicies/ddb1/subnets/subnetName", + "name": "subnetName", + "type": "Microsoft.PowerPlatform/enterprisePolicies/subnets", + "properties": { + "status": "Disabled" + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/updateEnterprisePolicy.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/updateEnterprisePolicy.json new file mode 100644 index 000000000000..4237ba2e50e0 --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/examples/updateEnterprisePolicy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "enterprisePolicyName": "enterprisePolicy", + "api-version": "2020-10-30-preview", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + }, + "location": "East US" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "enterprisePolicy", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.PowerPlatform/enterprisePolicies/enterprisePolicy", + "type": "Microsoft.PowerPlatform/enterprisePolicies", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "systemAssignedIdentityPrincipalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateEndpointConnection.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateEndpointConnection.json new file mode 100644 index 000000000000..b4e23df2f5ab --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateEndpointConnection.json @@ -0,0 +1,331 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-30-preview", + "title": "PowerPlatform" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections on an EnterprisePolicy.", + "operationId": "PrivateEndpointConnections_ListByEnterprisePolicy", + "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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionListGet.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to create or update a private endpoint connection." + } + ], + "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": "../../common/v1/definitions.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/PrivateEndpointConnectionUpdate.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted." + }, + "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": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.PowerPlatform/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available PowerPlatform REST API operations.", + "x-ms-examples": { + "Lists all of the available PowerPlatform REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "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": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ] + } + }, + "parameters": { + "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/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateLinkResources.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateLinkResources.json new file mode 100644 index 000000000000..9ee5e981113d --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/privateLinkResources.json @@ -0,0 +1,239 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-30-preview", + "title": "PowerPlatform" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for enterprisePolicy.", + "operationId": "PrivateLinkResources_ListByEnterprisePolicy", + "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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkResourceListGet.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for an EnterprisePolicy.", + "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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.PowerPlatform/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available PowerPlatform REST API operations.", + "x-ms-examples": { + "Lists all of the available PowerPlatform REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "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": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ] + }, + "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 + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata for the private link resource." + } + } + } + }, + "parameters": { + "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/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/subnetResources.json b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/subnetResources.json new file mode 100644 index 000000000000..1d7b553e551a --- /dev/null +++ b/specification/powerplatform/resource-manager/Microsoft.PowerPlatform/preview/2020-10-30-preview/subnetResources.json @@ -0,0 +1,311 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-10-30-preview", + "title": "PowerPlatform" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/subnets/{subnetName}": { + "get": { + "tags": [ + "Subnets" + ], + "summary": "Gets Subnets associated with EnterprisePolicy authorized for outbound calls from PowerPlatform.", + "description": "Description of Subnets that are authorized for outbound calls from PowerPlatform.", + "operationId": "Subnets_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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/SubnetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets subnet.": { + "$ref": "./examples/subnetGet.json" + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "put": { + "tags": [ + "PowerPlatform" + ], + "summary": "Create or Update Subnet that PowerPlatform resources can access.", + "description": "Description of the Subnet that PowerPlatform resources can access.", + "operationId": "Subnets_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": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + }, + { + "$ref": "#/parameters/SubnetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates or Updates subnet.": { + "$ref": "./examples/subnetUpdate.json" + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerPlatform/enterprisePolicies/{enterprisePolicyName}/subnets": { + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_ListByEnterprisePolicy", + "description": "Retrieve a list of subnets within a given enterprisePolicy", + "x-ms-examples": { + "List EnterprisePolicies by resource group": { + "$ref": "./examples/listSubnetsByEnterprisePolicy.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" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/EnterprisePolicyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of subnets.", + "schema": { + "$ref": "#/definitions/SubnetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.PowerPlatform/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available PowerPlatform REST API operations.", + "x-ms-examples": { + "Lists all of the available PowerPlatform REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "SubnetListResult": { + "description": "A list of subnets", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of subnets", + "items": { + "$ref": "#/definitions/Subnet" + } + } + } + }, + "Subnet": { + "description": "A subnet", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SubnetProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ] + }, + "SubnetProperties": { + "description": "Properties of a subnet.", + "type": "object", + "properties": { + "subnet": { + "$ref": "#/definitions/SubnetEndpointProperty", + "description": "Endpoint of the subnet." + }, + "status": { + "$ref": "#/definitions/SubnetState", + "description": "Connection State of the subnet." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata for the subnet." + } + } + }, + "SubnetEndpointProperty": { + "type": "object", + "description": "Endpoint of the subnet.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the subnet." + } + } + }, + "SubnetState": { + "type": "string", + "readOnly": true, + "description": "The state of onboarding, which only appears in the response.", + "x-ms-enum": { + "name": "status", + "modelAsString": true + }, + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + } + }, + "parameters": { + "SubnetNameParameter": { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the subnet." + } + } +} diff --git a/specification/powerplatform/resource-manager/readme.azureresourceschema.md b/specification/powerplatform/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..64638bcc3540 --- /dev/null +++ b/specification/powerplatform/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,27 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-powerplatform-2020-10-30-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-powerplatform-2020-10-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-powerplatform-2020-10-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PowerPlatform/preview/2020-10-30-preview/enterprisePolicy.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/privateEndpointConnection.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/privateLinkResources.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/subnetResources.json + +``` diff --git a/specification/powerplatform/resource-manager/readme.csharp.md b/specification/powerplatform/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..d92f60506dcf --- /dev/null +++ b/specification/powerplatform/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.PowerPlatform + output-folder: $(csharp-sdks-folder)/powerplatform/management/Microsoft.PowerPlatform/GeneratedProtocol +``` diff --git a/specification/powerplatform/resource-manager/readme.go.md b/specification/powerplatform/resource-manager/readme.go.md new file mode 100644 index 000000000000..ca4e7e44bdc3 --- /dev/null +++ b/specification/powerplatform/resource-manager/readme.go.md @@ -0,0 +1,19 @@ +## 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 +``` + +### Tag: package-2020-10-30-preview and go + +These settings apply only when `--tag=package-2020-10-30-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10-30-preview' && $(go) +namespace: powerplatform +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-30/$(namespace) +``` diff --git a/specification/powerplatform/resource-manager/readme.md b/specification/powerplatform/resource-manager/readme.md new file mode 100644 index 000000000000..d66f7b64acdd --- /dev/null +++ b/specification/powerplatform/resource-manager/readme.md @@ -0,0 +1,82 @@ +# powerplatform + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for powerplatform. + +## Getting Started rapatank + +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 powerplatform. + +```yaml +openapi-type: arm +tag: package-2020-10-30-preview +``` + +### Tag: package-2020-10-30-preview + +These settings apply only when `--tag=package-2020-10-30-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-10-30-preview' +input-file: + - Microsoft.PowerPlatform/preview/2020-10-30-preview/enterprisePolicy.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/privateEndpointConnection.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/privateLinkResources.json + - Microsoft.PowerPlatform/preview/2020-10-30-preview/subnetResources.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 + - 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_powerplatform'] +``` + +## 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/powerplatform/resource-manager/readme.python.md b/specification/powerplatform/resource-manager/readme.python.md new file mode 100644 index 000000000000..97f765b5ffae --- /dev/null +++ b/specification/powerplatform/resource-manager/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.PowerPlatform + package-name: powerplatform + package-version: 2020-10-30-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/powerplatform +``` diff --git a/specification/powerplatform/resource-manager/readme.ruby.md b/specification/powerplatform/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..0e24a502ad57 --- /dev/null +++ b/specification/powerplatform/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_powerplatform +package-version: 2020-10-30-preview +azure-arm: true +``` + +### Tag: package-2020-10-30-preview and ruby + +These settings apply only when `--tag=package-2020-10-30-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-10-30-preview' && $(ruby) +namespace: Microsoft.PowerPlatform +output-folder: $(ruby-sdks-folder)/powerplatform +``` diff --git a/specification/powerplatform/resource-manager/readme.typescript.md b/specification/powerplatform/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..57a0596adf9a --- /dev/null +++ b/specification/powerplatform/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: "powerplatform" + output-folder: "$(typescript-sdks-folder)/packages/powerplatform" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/privatedns/resource-manager/readme.azureresourceschema.md b/specification/privatedns/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a79694033197 --- /dev/null +++ b/specification/privatedns/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-network-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-09-01/privatedns.json + +``` diff --git a/specification/privatedns/resource-manager/readme.md b/specification/privatedns/resource-manager/readme.md index 26b82cf0d38c..8b094cceacfc 100644 --- a/specification/privatedns/resource-manager/readme.md +++ b/specification/privatedns/resource-manager/readme.md @@ -53,6 +53,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js privatedns/resource-manager ``` ## C# @@ -135,27 +138,7 @@ directive: reason: Common types warning. ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.Network/stable/2018-09-01/privatedns.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/recoveryservices/resource-manager/readme.azureresourceschema.md b/specification/recoveryservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..11cf9bda0ebb --- /dev/null +++ b/specification/recoveryservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,27 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json + - Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json + - Microsoft.RecoveryServices/stable/2016-06-01/vaults.json + - Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json + +``` diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md index e6c765cbb05b..8beb9220bec3 100644 --- a/specification/recoveryservices/resource-manager/readme.md +++ b/specification/recoveryservices/resource-manager/readme.md @@ -74,6 +74,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservices/resource-manager ``` @@ -132,30 +135,7 @@ 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.RecoveryServices/stable/2016-06-01/registeredidentities.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-06-01/vaults.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json index 63ffc3db278b..5cf3367e2e17 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -279,17 +279,18 @@ "description": "The resource management error response." }, "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for VaultStorageConfig", + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], "type": "object", "properties": { "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" } }, - "required": [ - "objectType" - ], - "x-ms-discriminator-value": "objectType" + "discriminator": "objectType" }, "PrepareDataMoveRequest": { "description": "Prepare DataMove Request", @@ -337,6 +338,11 @@ "PrepareDataMoveResponse": { "description": "Prepare DataMove Response", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], "properties": { "correlationId": { "description": "Co-relationId for move operation", @@ -349,7 +355,8 @@ "type": "string" } } - } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" }, "TriggerDataMoveRequest": { "description": "Trigger DataMove Request", diff --git a/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md b/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..32e881468034 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,121 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2020-07-01 + - tag: schema-recoveryservices-2020-02-02 + - tag: schema-recoveryservices-2019-06-15 + - tag: schema-recoveryservices-2019-05-13 + - tag: schema-recoveryservices-2018-12-20 + - tag: schema-recoveryservices-2017-07-01 + - tag: schema-recoveryservices-2016-12-01 + - tag: schema-recoveryservices-2016-08-10 + - tag: schema-recoveryservices-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2020-07-01/bms.json + +``` + +### Tag: schema-recoveryservices-2020-02-02 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2020-02-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2020-02-02/bms.json + +``` + +### Tag: schema-recoveryservices-2019-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2019-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2019-06-15/bms.json + +``` + +### Tag: schema-recoveryservices-2019-05-13 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2019-05-13' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2019-05-13/bms.json + +``` + +### Tag: schema-recoveryservices-2018-12-20 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-12-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-12-20/bms.json + +``` + +### Tag: schema-recoveryservices-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2017-07-01/bms.json + +``` + +### Tag: schema-recoveryservices-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-12-01/bms.json + +``` + +### Tag: schema-recoveryservices-2016-08-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-08-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-08-10/operations.json + +``` + +### Tag: schema-recoveryservices-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json + - Microsoft.RecoveryServices/stable/2016-06-01/registeredIdentities.json + +``` diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 889a03f365b2..31a1b9b4d5c3 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API. title: Recovery Services Backup Client description: Open API 2.0 Specs for Azure RecoveryServices Backup service openapi-type: arm -tag: package-2020-02 +tag: package-2020-07 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang @@ -166,6 +166,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services_backup'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservicesbackup/resource-manager ``` @@ -192,35 +195,7 @@ 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! +## AzureResourceSchema -``` 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.RecoveryServices/stable/2020-07-01/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2020-02-02/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2019-06-15/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2017-07-01/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-12-01/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-08-10/operations.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2019-05-13/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2018-12-20/bms.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-06-01/registeredIdentities.json +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` - -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/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json index 87ed21684413..6d3e7e1a43e0 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -16258,6 +16258,10 @@ "description": "The target availability set ARM Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" @@ -16325,6 +16329,16 @@ "type": "string", "readOnly": true }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, "licenseType": { "description": "License Type of the VM to be used.", "type": "string" @@ -16360,6 +16374,10 @@ "description": "The target availability set Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" @@ -16770,6 +16788,10 @@ "description": "The target availability set ARM Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json index 7f53155a6a2e..b0a4baffd3a6 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json @@ -8294,6 +8294,46 @@ }, "x-ms-discriminator-value": "A2A" }, + "A2ATestFailoverInput": { + "description": "A2A provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUnplannedFailoverInput": { + "description": "A2A provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for failover or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, "A2AUnprotectedDiskDetails": { "description": "A2A unprotected disk details.", "type": "object", @@ -8515,6 +8555,10 @@ "description": "The name of the machine where the provider is getting added.", "type": "string" }, + "machineId": { + "description": "The Id of the machine where the provider is getting added.", + "type": "string" + }, "authenticationIdentityInput": { "$ref": "#/definitions/IdentityProviderInput", "description": "The identity provider input for DRA authentication." @@ -8522,6 +8566,10 @@ "resourceAccessIdentityInput": { "$ref": "#/definitions/IdentityProviderInput", "description": "The identity provider input for resource access." + }, + "dataPlaneAuthenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for data plane authentication." } } }, @@ -8561,6 +8609,73 @@ } } }, + "AgentDetails": { + "description": "Agent details.", + "type": "object", + "properties": { + "agentId": { + "description": "The Id of the agent running on the server.", + "type": "string", + "readOnly": true + }, + "machineId": { + "description": "The Id of the machine to which the agent is registered.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The machine BIOS Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The machine FQDN.", + "type": "string", + "readOnly": true + }, + "disks": { + "description": "The details of agent disks.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDiskDetails" + }, + "readOnly": true + } + } + }, + "AgentDiskDetails": { + "description": "Agent disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "lunId": { + "format": "int32", + "description": "The lun of disk.", + "type": "integer", + "readOnly": true + } + } + }, "Alert": { "description": "Implements the Alert class.", "type": "object", @@ -9335,11 +9450,11 @@ "type": "object", "properties": { "secretIdentifier": { - "description": "The secret url / identifier.", + "description": "The secret URL / identifier.", "type": "string" }, "keyVaultResourceArmId": { - "description": "The KeyVault resource ARM id for secret.", + "description": "The KeyVault resource ARM Id for secret.", "type": "string" } } @@ -9380,6 +9495,56 @@ } } }, + "DraDetails": { + "description": "DRA details.", + "type": "object", + "properties": { + "id": { + "description": "The DRA Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The DRA name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The DRA version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the DRA.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the DRA.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "EnableMigrationInput": { "description": "Enable migration input.", "required": [ @@ -10539,6 +10704,62 @@ }, "x-ms-discriminator-value": "HyperVReplicaAzure" }, + "HyperVReplicaAzureTestFailoverInput": { + "description": "HvrA provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUnplannedFailoverInput": { + "description": "HvrA provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { "description": "HyperV replica Azure input to update replication protected item.", "type": "object", @@ -11990,6 +12211,46 @@ }, "x-ms-discriminator-value": "InMageAzureV2" }, + "InMageAzureV2TestFailoverInput": { + "description": "InMageAzureV2 provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UnplannedFailoverInput": { + "description": "InMageAzureV2 provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, "InMageAzureV2UpdateReplicationProtectedItemInput": { "description": "InMage Azure V2 input to update replication protected item.", "type": "object", @@ -12371,17 +12632,1153 @@ } } }, - "InMageReplicationDetails": { - "description": "InMage provider specific settings", + "InMageRcmAgentUpgradeBlockingErrorDetails": { + "description": "InMageRcm source agent upgrade blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "The possible causes.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action.", + "type": "string", + "readOnly": true + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageRcm provider.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } ], "properties": { - "activeSiteType": { - "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmDiskInput": { + "description": "InMageRcm disk input.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string" + } + } + }, + "InMageRcmDisksDefaultInput": { + "description": "InMageRcm disk input.", + "type": "object", + "properties": { + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string" + } + } + }, + "InMageRcmEnableProtectionInput": { + "description": "InMageRcm specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricDiscoveryMachineId": { + "description": "The ARM Id of discovered machine.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmDiskInput" + } + }, + "disksDefault": { + "$ref": "#/definitions/InMageRcmDisksDefaultInput", + "description": "The default disk input." + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The selected target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The selected test network ARM Id.", + "type": "string" + }, + "targetSubnetName": { + "description": "The selected target subnet name.", + "type": "string" + }, + "testSubnetName": { + "description": "The selected test subnet name.", + "type": "string" + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmEventDetails": { + "description": "Event details for InMageRcm provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricCreationInput": { + "description": "InMageRcm fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string" + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string" + }, + "sourceAgentIdentity": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for source agent authentication." + }, + "authCertificate": { + "description": "The certificate to be used for AAD authentication.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricSpecificDetails": { + "description": "InMageRcm fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string", + "readOnly": true + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string", + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", + "type": "string", + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", + "type": "string", + "readOnly": true + }, + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "dataPlaneUri": { + "description": "The data plane Uri.", + "type": "string", + "readOnly": true + }, + "controlPlaneUri": { + "description": "The control plane Uri.", + "type": "string", + "readOnly": true + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true + }, + "rcmProxies": { + "description": "The list of RCM proxies.", + "type": "array", + "items": { + "$ref": "#/definitions/RcmProxyDetails" + }, + "readOnly": true + }, + "pushInstallers": { + "description": "The list of push installers.", + "type": "array", + "items": { + "$ref": "#/definitions/PushInstallerDetails" + }, + "readOnly": true + }, + "replicationAgents": { + "description": "The list of replication agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationAgentDetails" + }, + "readOnly": true + }, + "reprotectAgents": { + "description": "The list of reprotect agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReprotectAgentDetails" + }, + "readOnly": true + }, + "dras": { + "description": "The list of DRAs.", + "type": "array", + "items": { + "$ref": "#/definitions/DraDetails" + }, + "readOnly": true + }, + "agentDetails": { + "description": "The list of agent details.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDetails" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmLastAgentUpgradeErrorDetails": { + "description": "InMageRcm last source agent upgrade error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "The possible causes.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action.", + "type": "string", + "readOnly": true + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmMobilityAgentDetails": { + "description": "InMageRcm mobility agent details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true + }, + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true + }, + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true + }, + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true + }, + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat received from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", + "type": "array", + "items": { + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "NotProtected", + "UnsupportedProtectionScenario", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmNicDetails": { + "description": "InMageRcm NIC details.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string", + "readOnly": true + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string", + "readOnly": true + }, + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true + }, + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true + }, + "sourceSubnetName": { + "description": "Source subnet name.", + "type": "string", + "readOnly": true + }, + "targetIPAddress": { + "description": "The target IP address.", + "type": "string", + "readOnly": true + }, + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string", + "readOnly": true + }, + "testSubnetName": { + "description": "Test subnet name.", + "type": "string", + "readOnly": true + }, + "testIPAddress": { + "description": "The test IP address.", + "type": "string", + "readOnly": true + }, + "testIPAddressType": { + "description": "The test IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + } + } + }, + "InMageRcmNicInput": { + "description": "InMageRcm NIC input.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string" + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string" + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetStaticIPAddress": { + "description": "The target static IP address.", + "type": "string" + }, + "testSubnetName": { + "description": "The test subnet name.", + "type": "string" + }, + "testStaticIPAddress": { + "description": "The test static IP address.", + "type": "string" + } + } + }, + "InMageRcmPolicyCreationInput": { + "description": "InMageRcm policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmPolicyDetails": { + "description": "InMageRcm specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer", + "readOnly": true + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer", + "readOnly": true + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer", + "readOnly": true + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmProtectedDiskDetails": { + "description": "InMageRcm protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string", + "readOnly": true + }, + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true + }, + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + } + } + }, + "InMageRcmRecoveryPointDetails": { + "description": "InMageRcm provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmReplicationDetails": { + "description": "InMageRcm provider specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true + }, + "fabricDiscoveryMachineId": { + "description": "The ARM Id of the discovered VM.", + "type": "string", + "readOnly": true + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true + }, + "discoveryType": { + "description": "The type of the discovered VM.", + "type": "string", + "readOnly": true + }, + "processServerId": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "processorCoreCount": { + "format": "int32", + "description": "The processor core count.", + "type": "integer", + "readOnly": true + }, + "allocatedMemoryInMB": { + "format": "double", + "description": "The allocated memory in MB.", + "type": "number", + "readOnly": true + }, + "processServerName": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string", + "readOnly": true + }, + "targetVmName": { + "description": "Target VM name.", + "type": "string", + "readOnly": true + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string", + "readOnly": true + }, + "targetResourceGroupId": { + "description": "The target resource group Id.", + "type": "string", + "readOnly": true + }, + "targetAvailabilitySetId": { + "description": "The target availability set Id.", + "type": "string", + "readOnly": true + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string", + "readOnly": true + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string", + "readOnly": true + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "targetNetworkId": { + "description": "The target network Id.", + "type": "string", + "readOnly": true + }, + "testNetworkId": { + "description": "The test network Id.", + "type": "string", + "readOnly": true + }, + "failoverRecoveryPointId": { + "description": "The recovery point Id to which the VM was failed over.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "lastRpoInSeconds": { + "format": "int64", + "description": "The last recovery point objective value.", + "type": "integer", + "readOnly": true + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last recovery point objective calculated time.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true + }, + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProcessedBytes": { + "format": "int64", + "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationTransferredBytes": { + "format": "int64", + "description": "The initial replication transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "resyncTransferredBytes": { + "format": "int64", + "description": "The resync transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "agentUpgradeState": { + "description": "The agent auto upgrade state.", + "enum": [ + "None", + "Started", + "Completed", + "Commit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MobilityAgentUpgradeState", + "modelAsString": true + } + }, + "lastAgentUpgradeType": { + "description": "The last agent upgrade type.", + "type": "string", + "readOnly": true + }, + "lastAgentUpgradeFailedJobId": { + "description": "The last agent upgrade failed or cancelled job Id.", + "type": "string", + "readOnly": true + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmProtectedDiskDetails" + } + }, + "isLastUpgradeSuccessful": { + "description": "A value indicating whether last agent upgrade was successful or not.", + "type": "string", + "readOnly": true + }, + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmMobilityAgentDetails", + "description": "The mobility agent information.", + "readOnly": true + }, + "lastAgentUpgradeErrorDetails": { + "description": "The last agent upgrade error information.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails" + } + }, + "agentUpgradeBlockingErrorDetails": { + "description": "The agent upgrade blocking error information.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails" + } + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InMageRcmNicDetails" + } + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmTestFailoverInput": { + "description": "InMageRcm provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "networkId": { + "description": "The test network Id.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUnplannedFailoverInput": { + "description": "InMageRcm provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUpdateReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The test network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicInput" + } + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageReplicationDetails": { + "description": "InMage provider specific settings", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", "type": "string" }, "sourceVmCpuCount": { @@ -12610,6 +14007,64 @@ }, "x-ms-discriminator-value": "InMage" }, + "InMageTestFailoverInput": { + "description": "Provider specific input for InMage test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageUnplannedFailoverInput": { + "description": "Provider specific input for InMage unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, "InMageVolumeExclusionOptions": { "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", "type": "object", @@ -12980,11 +14435,11 @@ "type": "object", "properties": { "keyIdentifier": { - "description": "The key url / identifier.", + "description": "The key URL / identifier.", "type": "string" }, "keyVaultResourceArmId": { - "description": "The KeyVault resource ARM id for key.", + "description": "The KeyVault resource ARM Id for key.", "type": "string" } } @@ -13965,20 +15420,151 @@ "type": "integer", "readOnly": true }, - "throughputStatus": { - "description": "The throughput status.", - "type": "string", + "throughputStatus": { + "description": "The throughput status.", + "type": "string", + "readOnly": true + }, + "marsCommunicationStatus": { + "description": "The MARS communication status.", + "type": "string", + "readOnly": true + }, + "marsRegistrationStatus": { + "description": "The MARS registration status.", + "type": "string", + "readOnly": true + } + } + }, + "ProcessServerDetails": { + "description": "Process server details.", + "type": "object", + "properties": { + "id": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The process server version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the process server.", + "type": "string", + "readOnly": true + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer", + "readOnly": true + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer", + "readOnly": true + }, + "usedMemoryInBytes": { + "format": "int64", + "description": "The used memory.", + "type": "integer", + "readOnly": true + }, + "memoryUsagePercentage": { + "format": "double", + "description": "The memory usage percentage.", + "type": "number", + "readOnly": true + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total disk space.", + "type": "integer", + "readOnly": true + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available disk space.", + "type": "integer", + "readOnly": true + }, + "usedSpaceInBytes": { + "format": "int64", + "description": "The used disk space.", + "type": "integer", + "readOnly": true + }, + "freeSpacePercentage": { + "format": "double", + "description": "The free disk space percentage.", + "type": "number", + "readOnly": true + }, + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true + }, + "processorUsagePercentage": { + "format": "double", + "description": "The processor usage percentage.", + "type": "number", "readOnly": true }, - "marsCommunicationStatus": { - "description": "The MARS communication status.", + "health": { + "description": "The health of the process server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, "readOnly": true }, - "marsRegistrationStatus": { - "description": "The MARS registration status.", + "historicHealth": { + "description": "The historic health of the process server based on the health in last 24 hours.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } } } }, @@ -14367,6 +15953,106 @@ }, "x-ms-discriminator-value": "RcmAzureMigration" }, + "PushInstallerDetails": { + "description": "Push installer details.", + "type": "object", + "properties": { + "id": { + "description": "The push installer Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The push installer name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The push installer version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the push installer.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the push installer.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "RcmProxyDetails": { + "description": "RCM proxy details.", + "type": "object", + "properties": { + "id": { + "description": "The RCM proxy Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The RCM proxy name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The RCM proxy version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the RCM proxy.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the RCM proxy.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "RecoveryPlan": { "description": "Recovery plan details.", "type": "object", @@ -14802,6 +16488,36 @@ }, "x-ms-discriminator-value": "InMage" }, + "RecoveryPlanInMageRcmFailoverInput": { + "description": "Recovery plan InMageRcm failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, "RecoveryPlanManualActionDetails": { "description": "Recovery plan manual action details.", "type": "object", @@ -15418,6 +17134,56 @@ } } }, + "ReplicationAgentDetails": { + "description": "Replication agent details.", + "type": "object", + "properties": { + "id": { + "description": "The replication agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The replication agent name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The replication agent version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the replication agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the replication agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "ReplicationEligibilityResults": { "description": "Replication eligibility results response model.", "type": "object", @@ -15728,6 +17494,56 @@ }, "discriminator": "instanceType" }, + "ReprotectAgentDetails": { + "description": "Reprotect agent details.", + "type": "object", + "properties": { + "id": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the reprotect agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the reprotect agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, "ResolveHealthError": { "description": "Resolve health errors input properties.", "type": "object", @@ -16365,21 +18181,21 @@ } }, "TestFailoverInput": { - "description": "Input definition for planned failover.", + "description": "Input definition for test failover.", "type": "object", "properties": { "properties": { "$ref": "#/definitions/TestFailoverInputProperties", - "description": "Planned failover input properties" + "description": "test failover input properties" } } }, "TestFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "description": "Input definition for test failover input properties.", "type": "object", "properties": { "failoverDirection": { - "description": "Failover direction.", + "description": "Test failover direction.", "type": "string" }, "networkType": { @@ -16395,7 +18211,7 @@ "type": "string" }, "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", + "$ref": "#/definitions/TestFailoverProviderSpecificInput", "description": "Provider specific settings" } } @@ -16439,6 +18255,17 @@ }, "x-ms-discriminator-value": "TestFailoverJobDetails" }, + "TestFailoverProviderSpecificInput": { + "description": "Provider specific test failover input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, "TestMigrateCleanupInput": { "description": "Input for test migrate cleanup.", "required": [ @@ -16503,17 +18330,17 @@ "discriminator": "instanceType" }, "UnplannedFailoverInput": { - "description": "Input definition for planned failover.", + "description": "Input definition for unplanned failover.", "type": "object", "properties": { "properties": { "$ref": "#/definitions/UnplannedFailoverInputProperties", - "description": "Planned failover input properties" + "description": "Unplanned failover input properties." } } }, "UnplannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "description": "Input definition for unplanned failover input properties.", "type": "object", "properties": { "failoverDirection": { @@ -16525,11 +18352,22 @@ "type": "string" }, "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput", "description": "Provider specific settings" } } }, + "UnplannedFailoverProviderSpecificInput": { + "description": "Provider specific unplanned failover input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, "UpdateMigrationItemInput": { "description": "Update migration item input.", "type": "object", diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md b/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4e9dff193db3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2018-07-10 + - tag: schema-recoveryservices-2018-01-10 + - tag: schema-recoveryservices-2016-08-10 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2018-07-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-07-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-07-10/service.json + +``` + +### Tag: schema-recoveryservices-2018-01-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-01-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-01-10/service.json + +``` + +### Tag: schema-recoveryservices-2016-08-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-08-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-08-10/service.json + +``` diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md index e5313b02ee83..4433d2f58926 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md @@ -101,6 +101,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services_site_recovery'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservicessiterecovery/resource-manager ``` ## C# @@ -126,29 +129,7 @@ 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: - - $(this-folder)/Microsoft.RecoveryServices/stable/2018-07-10/service.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2018-01-10/service.json - - $(this-folder)/Microsoft.RecoveryServices/stable/2016-08-10/service.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/redhatopenshift/resource-manager/readme.azureresourceschema.md b/specification/redhatopenshift/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0dcb1c1d1fea --- /dev/null +++ b/specification/redhatopenshift/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-redhatopenshift-2020-04-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-redhatopenshift-2020-04-30 and azureresourceschema + +``` yaml $(tag) == 'schema-redhatopenshift-2020-04-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json + +``` diff --git a/specification/redhatopenshift/resource-manager/readme.md b/specification/redhatopenshift/resource-manager/readme.md index d33bcd5b082c..291be7e51d7c 100644 --- a/specification/redhatopenshift/resource-manager/readme.md +++ b/specification/redhatopenshift/resource-manager/readme.md @@ -53,6 +53,9 @@ swagger-to-sdk: after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-redhatopenshift - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js redhatopenshift/resource-manager ``` ## Go @@ -63,27 +66,7 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.python.md](./readme.python.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.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json index fc67ab980b18..bf48a1064d18 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json @@ -1375,7 +1375,7 @@ "capacity": { "type": "integer", "format": "int32", - "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)." + "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4, 5)." } }, "required": [ diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json index 1a096df30c86..4b69d0c92518 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json @@ -1375,7 +1375,7 @@ "capacity": { "type": "integer", "format": "int32", - "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)." + "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4, 5)." } }, "required": [ diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCheckNameAvailability.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCheckNameAvailability.json new file mode 100644 index 000000000000..e6f25307359b --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCheckNameAvailability.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "type": "Microsoft.Cache/Redis", + "name": "cacheName" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCreate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCreate.json new file mode 100644 index 000000000000..4cd765b2b990 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheCreate.json @@ -0,0 +1,178 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "location": "West US", + "zones": [ + "1" + ], + "properties": { + "sku": { + "name": "Premium", + "family": "P", + "capacity": 1 + }, + "enableNonSslPort": true, + "shardCount": 2, + "replicasPerMaster": 2, + "redisConfiguration": { + "maxmemory-policy": "allkeys-lru" + }, + "subnetId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/network1/subnets/subnet1", + "staticIP": "192.168.0.5", + "minimumTlsVersion": "1.2" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "zones": [ + "1" + ], + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "accessKeys": { + "primaryKey": "secretkey1", + "secondaryKey": "secretKey2" + }, + "provisioningState": "Succeeded", + "redisVersion": "3.0", + "sku": { + "name": "Premium", + "family": "P", + "capacity": 1 + }, + "enableNonSslPort": false, + "replicasPerMaster": 2, + "redisConfiguration": { + "maxmemory-policy": "allkeys-lru" + }, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380, + "minimumTlsVersion": "1.2", + "instances": [ + { + "sslPort": 15000, + "nonSslPort": 13000, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15001, + "nonSslPort": 13001, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15002, + "nonSslPort": 13002, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15003, + "nonSslPort": 13003, + "zone": "1", + "shardId": 1 + }, + { + "sslPort": 15004, + "nonSslPort": 13004, + "zone": "1", + "shardId": 1 + }, + { + "sslPort": 15005, + "nonSslPort": 13005, + "zone": "1", + "shardId": 1 + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "zones": [ + "1" + ], + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "accessKeys": { + "primaryKey": "secretkey1", + "secondaryKey": "secretKey2" + }, + "provisioningState": "Succeeded", + "redisVersion": "3.0", + "sku": { + "name": "Premium", + "family": "P", + "capacity": 1 + }, + "enableNonSslPort": false, + "replicasPerMaster": 2, + "redisConfiguration": { + "maxclients": "1000", + "maxmemory-reserved": "50", + "maxmemory-delta": "50" + }, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380, + "minimumTlsVersion": "1.2", + "instances": [ + { + "sslPort": 15000, + "nonSslPort": 13000, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15001, + "nonSslPort": 13001, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15002, + "nonSslPort": 13002, + "zone": "1", + "shardId": 0 + }, + { + "sslPort": 15003, + "nonSslPort": 13003, + "zone": "1", + "shardId": 1 + }, + { + "sslPort": 15004, + "nonSslPort": 13004, + "zone": "1", + "shardId": 1 + }, + { + "sslPort": 15005, + "nonSslPort": 13005, + "zone": "1", + "shardId": 1 + } + ] + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDelete.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDelete.json new file mode 100644 index 000000000000..772e625cb7d8 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDeletePrivateEndpointConnection.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..8550a0e766a7 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheDeletePrivateEndpointConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "rgtest01", + "cacheName": "cachetest01", + "privateEndpointConnectionName": "pectest01", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheExport.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheExport.json new file mode 100644 index 000000000000..59f3ff4b6ba3 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheExport.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "format": "RDB", + "prefix": "datadump1", + "container": "https://contosostorage.blob.core.window.net/urltoBlobContainer?sasKeyParameters" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleCreate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleCreate.json new file mode 100644 index 000000000000..fdc3193084ee --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "ruleName": "rule1", + "cacheName": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "startIP": "192.168.1.1", + "endIP": "192.168.1.4" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1", + "name": "cache1/rule1", + "type": "Microsoft.Cache/Redis/firewallRules", + "properties": { + "startIP": "192.168.1.1", + "endIP": "192.168.1.4" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1", + "name": "cache1/rule1", + "type": "Microsoft.Cache/Redis/firewallRules", + "properties": { + "startIP": "192.168.1.1", + "endIP": "192.168.1.4" + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleDelete.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleDelete.json new file mode 100644 index 000000000000..89a3ff527edb --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "ruleName": "rule1", + "cacheName": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleGet.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleGet.json new file mode 100644 index 000000000000..9f64e5eb3782 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "ruleName": "rule1", + "cacheName": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1", + "name": "cache1/rule1", + "type": "Microsoft.Cache/Redis/firewallRules", + "properties": { + "startIP": "192.168.1.1", + "endIP": "192.168.1.4" + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRulesList.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRulesList.json new file mode 100644 index 000000000000..630aea0c69eb --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheFirewallRulesList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cacheName": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.Cache/Redis/firewallRules", + "properties": { + "startIP": "192.168.1.1", + "endIP": "192.168.1.4" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule2", + "name": "rule2", + "type": "Microsoft.Cache/Redis/firewallRules", + "properties": { + "startIP": "192.169.1.0", + "endIP": "192.169.1.255" + } + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheForceReboot.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheForceReboot.json new file mode 100644 index 000000000000..4b4bfbe9e185 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheForceReboot.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "shardId": 0, + "rebootType": "AllNodes", + "ports": [ + 13000, + 15001 + ] + } + }, + "responses": { + "200": { + "body": { + "message": "reboot operation enqueued" + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGet.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGet.json new file mode 100644 index 000000000000..906710ad24c9 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGet.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "redisVersion": "3.2", + "sku": { + "name": "Premium", + "family": "P", + "capacity": 3 + }, + "enableNonSslPort": true, + "replicasPerMaster": 2, + "redisConfiguration": {}, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380, + "linkedServers": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2" + } + ], + "instances": [ + { + "sslPort": 15000, + "nonSslPort": 13000, + "isMaster": true + }, + { + "sslPort": 15001, + "nonSslPort": 13001, + "isMaster": false + }, + { + "sslPort": 15002, + "nonSslPort": 13002, + "isMaster": false + } + ], + "publicNetworkAccess": "Enabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/privateEndpointConnections/cachePec", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/cachePe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Please approve my connection", + "actionsRequired": "None" + } + } + } + ] + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGetPrivateEndpointConnection.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..d97ba6f5960b --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheGetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "rgtest01", + "cacheName": "cachetest01", + "privateEndpointConnectionName": "pectest01", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01", + "name": "pectest01", + "type": "Microsoft.Cache/Redis/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheImport.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheImport.json new file mode 100644 index 000000000000..964daacb5ea2 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheImport.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "format": "RDB", + "files": [ + "http://fileuris.contoso.com/pathtofile1" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Create.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Create.json new file mode 100644 index 000000000000..3810c6535fec --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Create.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "linkedServerName": "cache2", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2", + "linkedRedisCacheLocation": "West US", + "serverRole": "Secondary" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2", + "name": "cache2", + "type": "Microsoft.Cache/Redis/linkedServers", + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2", + "linkedRedisCacheLocation": "West US", + "provisioningState": "Creating", + "serverRole": "Secondary" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2", + "name": "cache2", + "type": "Microsoft.Cache/Redis/linkedServers", + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2", + "linkedRedisCacheLocation": "West US", + "provisioningState": "Creating", + "serverRole": "Secondary" + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Delete.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Delete.json new file mode 100644 index 000000000000..269b476352a5 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "linkedServerName": "cache2", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Get.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Get.json new file mode 100644 index 000000000000..3a51ea5a4e3a --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "linkedServerName": "cache2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2", + "name": "cache2", + "type": "Microsoft.Cache/Redis/linkedServers", + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2", + "linkedRedisCacheLocation": "West US", + "provisioningState": "Succeeded", + "serverRole": "Secondary" + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_List.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_List.json new file mode 100644 index 000000000000..dff906689b0b --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheLinkedServer_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2", + "name": "cache2", + "type": "Microsoft.Cache/Redis/linkedServers", + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache2", + "linkedRedisCacheLocation": "West US", + "provisioningState": "Succeeded", + "serverRole": "Secondary" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache3", + "name": "cache3", + "type": "Microsoft.Cache/Redis/linkedServers", + "properties": { + "linkedRedisCacheId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache3", + "linkedRedisCacheLocation": "West US", + "provisioningState": "Succeeded", + "serverRole": "Secondary" + } + } + ] + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheList.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheList.json new file mode 100644 index 000000000000..311c3fb70507 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "redisVersion": "3.2", + "sku": { + "name": "Standard", + "family": "C", + "capacity": 6 + }, + "enableNonSslPort": true, + "redisConfiguration": {}, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380 + } + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListByResourceGroup.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListByResourceGroup.json new file mode 100644 index 000000000000..67a9411f39ea --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListByResourceGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "redisVersion": "3.2", + "sku": { + "name": "Standard", + "family": "C", + "capacity": 6 + }, + "enableNonSslPort": true, + "redisConfiguration": {}, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380 + } + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListKeys.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListKeys.json new file mode 100644 index 000000000000..59fea2eb161c --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "secretkey1", + "secondaryKey": "secretKey2" + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json new file mode 100644 index 000000000000..1ee3609a3509 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateEndpointConnections.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "rgtest01", + "cacheName": "cachetest01", + "privateEndpointConnectionName": "pectest01", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01", + "name": "pectest01", + "type": "Microsoft.Cache/Redis/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01", + "name": "pectest01", + "type": "Microsoft.Cache/Redis/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateLinkResources.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateLinkResources.json new file mode 100644 index 000000000000..198e5d423d43 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "rgtest01", + "cacheName": "cacheTest01", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cacheTest01/privateLinkResources/redisCache", + "name": "redisCache", + "type": "Microsoft.Cache/Redis/privateLinkResources", + "properties": { + "groupId": "redisCache", + "requiredMembers": [ + "redisCache" + ], + "requiredZoneNames": [ + "privatelink.redis.cache.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListUpgradeNotifications.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListUpgradeNotifications.json new file mode 100644 index 000000000000..7abee77c2fee --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheListUpgradeNotifications.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "history": "5000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "notification1", + "timestamp": "2017-02-16T23:20:50.52Z", + "upsellNotification": {} + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json new file mode 100644 index 000000000000..9896b07a4c65 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "default": "default", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "scheduleEntries": [ + { + "dayOfWeek": "Monday", + "startHourUtc": 12, + "maintenanceWindow": "PT5H" + }, + { + "dayOfWeek": "Tuesday", + "startHourUtc": 12 + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", + "name": "default", + "type": "Microsoft.Cache/Redis/patchSchedules", + "properties": { + "scheduleEntries": [ + { + "dayOfWeek": "Monday", + "startHourUtc": 12, + "maintenanceWindow": "PT5H" + }, + { + "dayOfWeek": "Tuesday", + "startHourUtc": 12 + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", + "name": "default", + "type": "Microsoft.Cache/Redis/patchSchedules", + "properties": { + "scheduleEntries": [ + { + "dayOfWeek": "Monday", + "startHourUtc": 12, + "maintenanceWindow": "PT5H" + }, + { + "dayOfWeek": "Tuesday", + "startHourUtc": 12 + } + ] + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesDelete.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesDelete.json new file mode 100644 index 000000000000..073449a4d2bd --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "default": "default", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesGet.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesGet.json new file mode 100644 index 000000000000..523cccc0f805 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "default": "default", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", + "name": "default", + "type": "Microsoft.Cache/Redis/patchSchedules", + "properties": { + "scheduleEntries": [ + { + "dayOfWeek": "Monday", + "startHourUtc": 12, + "maintenanceWindow": "PT5H" + }, + { + "dayOfWeek": "Tuesday", + "startHourUtc": 12 + } + ] + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesList.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesList.json new file mode 100644 index 000000000000..cfb3e6a6ca20 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePatchSchedulesList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cacheName": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", + "name": "default", + "type": "Microsoft.Cache/Redis/patchSchedules", + "properties": { + "scheduleEntries": [ + { + "dayOfWeek": "Monday", + "startHourUtc": 12, + "maintenanceWindow": "PT5H" + }, + { + "dayOfWeek": "Tuesday", + "startHourUtc": 12 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..8a57daafd48d --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "rgtest01", + "cacheName": "cachetest01", + "privateEndpointConnectionName": "pectest01", + "api-version": "2020-06-01", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Cache/Redis/cachetest01/privateEndpointConnections/pectest01", + "name": "pectest01", + "type": "Microsoft.Cache/Redis/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/rgtest01/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheRegenerateKey.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheRegenerateKey.json new file mode 100644 index 000000000000..990c8884a390 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheRegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "keyType": "Primary" + } + }, + "responses": { + "200": { + "body": { + "primaryKey": "secretkey1", + "secondaryKey": "secretKey2" + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheUpdate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheUpdate.json new file mode 100644 index 000000000000..a8e1d91820ba --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCacheUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "name": "cache1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "enableNonSslPort": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1", + "location": "West US", + "name": "cache1", + "type": "Microsoft.Cache/Redis", + "tags": {}, + "properties": { + "accessKeys": { + "primaryKey": "secretkey1", + "secondaryKey": "secretKey2" + }, + "provisioningState": "Succeeded", + "redisVersion": "3.0", + "sku": { + "name": "Premium", + "family": "P", + "capacity": 1 + }, + "enableNonSslPort": true, + "redisConfiguration": { + "maxclients": "1000", + "maxmemory-reserved": "50", + "maxmemory-delta": "50" + }, + "hostName": "cache1.redis.cache.windows.net", + "port": 6379, + "sslPort": 6380, + "instances": [ + { + "sslPort": 15000, + "nonSslPort": 13000 + }, + { + "sslPort": 15001, + "nonSslPort": 13001 + } + ] + } + } + } + } +} 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 new file mode 100644 index 000000000000..313b19151c13 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json @@ -0,0 +1,2687 @@ +{ + "swagger": "2.0", + "info": { + "title": "RedisManagementClient", + "description": "REST API for Azure Redis Cache Service.", + "version": "2020-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": { + "/providers/Microsoft.Cache/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Cache provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_CheckNameAvailability", + "x-ms-examples": { + "RedisCacheList": { + "$ref": "./examples/RedisCacheCheckNameAvailability.json" + } + }, + "description": "Checks that the redis cache name is valid and is not already in use.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type is 'Microsoft.Cache/redis'" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Name is available" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listUpgradeNotifications": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ListUpgradeNotifications", + "x-ms-examples": { + "RedisCacheGet": { + "$ref": "./examples/RedisCacheListUpgradeNotifications.json" + } + }, + "description": "Gets any upgrade notifications for a Redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "history", + "in": "query", + "required": true, + "type": "number", + "format": "double", + "description": "how many minutes in past to look for upgrade notifications" + } + ], + "responses": { + "200": { + "description": "All upgrade notifications in given time range", + "schema": { + "$ref": "#/definitions/NotificationListResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}": { + "put": { + "tags": [ + "Redis" + ], + "operationId": "Redis_Create", + "x-ms-examples": { + "RedisCacheCreate": { + "$ref": "./examples/RedisCacheCreate.json" + } + }, + "description": "Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisCreateParameters" + }, + "description": "Parameters supplied to the Create Redis operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new redis cache was successfully created. Check provisioningState to see detailed status.", + "schema": { + "$ref": "#/definitions/RedisResource" + } + }, + "200": { + "description": "The existing redis cache was successfully updated. Check provisioningState to see detailed status.", + "schema": { + "$ref": "#/definitions/RedisResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Redis" + ], + "operationId": "Redis_Update", + "x-ms-examples": { + "RedisCacheUpdate": { + "$ref": "./examples/RedisCacheUpdate.json" + } + }, + "description": "Update an existing Redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisUpdateParameters" + }, + "description": "Parameters supplied to the Update Redis operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing redis cache was successfully updated. Check provisioningState to see detailed status.", + "schema": { + "$ref": "#/definitions/RedisResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis" + ], + "operationId": "Redis_Delete", + "x-ms-examples": { + "RedisCacheDelete": { + "$ref": "./examples/RedisCacheDelete.json" + } + }, + "description": "Deletes a Redis cache.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The redis cache was successfully deleted." + }, + "202": { + "description": "The redis cache 'delete' operation was successfully enqueued; follow the Location header to poll for final outcome." + }, + "204": { + "description": "The redis cache was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis" + ], + "operationId": "Redis_Get", + "x-ms-examples": { + "RedisCacheGet": { + "$ref": "./examples/RedisCacheGet.json" + } + }, + "description": "Gets a Redis cache (resource description).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The redis cache was successfully found.", + "schema": { + "$ref": "#/definitions/RedisResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ListByResourceGroup", + "x-ms-examples": { + "RedisCacheListByResourceGroup": { + "$ref": "./examples/RedisCacheListByResourceGroup.json" + } + }, + "description": "Lists all Redis caches in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/RedisListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redis": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ListBySubscription", + "x-ms-examples": { + "RedisCacheList": { + "$ref": "./examples/RedisCacheList.json" + } + }, + "description": "Gets all Redis caches in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/RedisListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listKeys": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ListKeys", + "x-ms-examples": { + "RedisCacheListKeys": { + "$ref": "./examples/RedisCacheListKeys.json" + } + }, + "description": "Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists the keys for the specified Redis cache.", + "schema": { + "$ref": "#/definitions/RedisAccessKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_RegenerateKey", + "x-ms-examples": { + "RedisCacheRegenerateKey": { + "$ref": "./examples/RedisCacheRegenerateKey.json" + } + }, + "description": "Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisRegenerateKeyParameters" + }, + "description": "Specifies which key to regenerate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists the regenerated keys for Redis Cache", + "schema": { + "$ref": "#/definitions/RedisAccessKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ForceReboot", + "x-ms-examples": { + "RedisCacheForceReboot": { + "$ref": "./examples/RedisCacheForceReboot.json" + } + }, + "description": "Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisRebootParameters" + }, + "description": "Specifies which Redis node(s) to reboot." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Reboot operation successfully enqueued", + "schema": { + "$ref": "#/definitions/RedisForceRebootResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ImportData", + "x-ms-examples": { + "RedisCacheImport": { + "$ref": "./examples/RedisCacheImport.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Import data into Redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImportRDBParameters" + }, + "description": "Parameters for Redis import operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Import operation successfully enqueued; follow the Location header to poll for final outcome." + }, + "200": { + "description": "Import operation succeeded." + }, + "204": { + "description": "Import operation succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ExportData", + "x-ms-examples": { + "RedisCacheExport": { + "$ref": "./examples/RedisCacheExport.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Export data from the redis cache to blobs in a container.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExportRDBParameters" + }, + "description": "Parameters for Redis export operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Export operation successfully enqueued; follow the Location header to poll for final outcome." + }, + "200": { + "description": "Export operation succeeded." + }, + "204": { + "description": "Export operation succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules": { + "get": { + "tags": [ + "Redis", + "FirewallRules" + ], + "operationId": "FirewallRules_List", + "description": "Gets all firewall rules in the specified redis cache.", + "x-ms-examples": { + "RedisCacheFirewallRulesList": { + "$ref": "./examples/RedisCacheFirewallRulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + } + ], + "responses": { + "200": { + "description": "Successfully got the current rules", + "schema": { + "$ref": "#/definitions/RedisFirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}": { + "put": { + "tags": [ + "Redis", + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "description": "Create or update a redis cache firewall rule", + "x-ms-examples": { + "RedisCacheFirewallRuleCreate": { + "$ref": "./examples/RedisCacheFirewallRuleCreate.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the firewall rule." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisFirewallRuleCreateParameters" + }, + "description": "Parameters supplied to the create or update redis firewall rule operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Resource was successfully updated", + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + } + }, + "201": { + "description": "Resource was successfully created", + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis", + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "description": "Gets a single firewall rule in a specified redis cache.", + "x-ms-examples": { + "RedisCacheFirewallRuleGet": { + "$ref": "./examples/RedisCacheFirewallRuleGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the firewall rule." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully found the rule", + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis", + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "description": "Deletes a single firewall rule in a specified redis cache.", + "x-ms-examples": { + "RedisCacheFirewallRuleDelete": { + "$ref": "./examples/RedisCacheFirewallRuleDelete.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the firewall rule." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the rule" + }, + "204": { + "description": "Successfully deleted the rule" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/patchSchedules": { + "get": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_ListByRedisResource", + "description": "Gets all patch schedules in the specified redis cache (there is only one).", + "x-ms-examples": { + "RedisCachePatchSchedulesList": { + "$ref": "./examples/RedisCachePatchSchedulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + } + ], + "responses": { + "200": { + "description": "Successfully got the current patch schedules", + "schema": { + "$ref": "#/definitions/RedisPatchScheduleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}": { + "put": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_CreateOrUpdate", + "x-ms-examples": { + "RedisCachePatchSchedulesCreateOrUpdate": { + "$ref": "./examples/RedisCachePatchSchedulesCreateOrUpdate.json" + } + }, + "description": "Create or replace the patching schedule for Redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + }, + "description": "Parameters to set the patching schedule for Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The patch schedule was successfully updated.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "201": { + "description": "The patch schedule was successfully created.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_Delete", + "x-ms-examples": { + "RedisCachePatchSchedulesDelete": { + "$ref": "./examples/RedisCachePatchSchedulesDelete.json" + } + }, + "description": "Deletes the patching schedule of a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "204": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_Get", + "x-ms-examples": { + "RedisCachePatchSchedulesGet": { + "$ref": "./examples/RedisCachePatchSchedulesGet.json" + } + }, + "description": "Gets the patching schedule of a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get patch schedules.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}": { + "put": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Create", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "LinkedServer_Create": { + "$ref": "./examples/RedisCacheLinkedServer_Create.json" + } + }, + "description": "Adds a linked server to the Redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server that is being added to the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisLinkedServerCreateParameters" + }, + "description": "Parameters supplied to the Create Linked server operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The linked server was successfully added.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "201": { + "description": "The linked server was successfully added.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Delete", + "x-ms-examples": { + "LinkedServerDelete": { + "$ref": "./examples/RedisCacheLinkedServer_Delete.json" + } + }, + "description": "Deletes the linked server from a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server that is being added to the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The redis cache was successfully deleted." + }, + "204": { + "description": "Linked server was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Get", + "x-ms-examples": { + "LinkedServer_Get": { + "$ref": "./examples/RedisCacheLinkedServer_Get.json" + } + }, + "description": "Gets the detailed information about a linked server of a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get linked server.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_List", + "x-ms-examples": { + "LinkedServer_List": { + "$ref": "./examples/RedisCacheLinkedServer_List.json" + } + }, + "description": "Gets the list of linked servers associated with this redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get linked servers.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithPropertiesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the redis cache.", + "x-ms-examples": { + "RedisCacheGetPrivateEndpointConnection": { + "$ref": "./examples/RedisCacheListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "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.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the redis cache.", + "x-ms-examples": { + "RedisCacheGetPrivateEndpointConnection": { + "$ref": "./examples/RedisCacheGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the redis cache.", + "x-ms-examples": { + "RedisCachePutPrivateEndpointConnection": { + "$ref": "./examples/RedisCachePutPrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "201": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the redis cache.", + "x-ms-examples": { + "RedisCacheDeletePrivateEndpointConnection": { + "$ref": "./examples/RedisCacheDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByRedisCache", + "description": "Gets the private link resources that need to be created for a redis cache.", + "x-ms-examples": { + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/RedisCacheListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "family": { + "type": "string", + "description": "The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).", + "enum": [ + "C", + "P" + ], + "x-ms-enum": { + "name": "SkuFamily", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)." + } + }, + "required": [ + "name", + "family", + "capacity" + ], + "description": "SKU parameters supplied to the create Redis operation." + }, + "RedisCommonProperties": { + "properties": { + "redisConfiguration": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc." + }, + "enableNonSslPort": { + "type": "boolean", + "description": "Specifies whether the non-ssl Redis server port (6379) is enabled." + }, + "replicasPerMaster": { + "type": "integer", + "format": "int32", + "description": "The number of replicas to be created per master." + }, + "tenantSettings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A dictionary of tenant settings" + }, + "shardCount": { + "type": "integer", + "format": "int32", + "description": "The number of shards to be created on a Premium Cluster Cache." + }, + "minimumTlsVersion": { + "type": "string", + "description": "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + "enum": [ + "1.0", + "1.1", + "1.2" + ], + "x-ms-enum": { + "name": "TlsVersion", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "description": "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + }, + "description": "Create/Update/Get common properties of the redis cache.", + "x-ms-external": true + }, + "RedisCreateProperties": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Redis cache to deploy." + }, + "subnetId": { + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$", + "description": "The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1" + }, + "staticIP": { + "type": "string", + "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$", + "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network." + } + }, + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/RedisCommonProperties" + } + ], + "description": "Properties supplied to Create Redis operation.", + "x-ms-external": true + }, + "RedisUpdateProperties": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Redis cache to deploy." + } + }, + "allOf": [ + { + "$ref": "#/definitions/RedisCommonProperties" + } + ], + "description": "Patchable properties of the redis cache.", + "x-ms-external": true + }, + "RedisProperties": { + "properties": { + "redisVersion": { + "readOnly": true, + "type": "string", + "description": "Redis version." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Redis instance provisioning status.", + "enum": [ + "Creating", + "Deleting", + "Disabled", + "Failed", + "Linking", + "Provisioning", + "RecoveringScaleFailure", + "Scaling", + "Succeeded", + "Unlinking", + "Unprovisioning", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "hostName": { + "readOnly": true, + "type": "string", + "description": "Redis host name." + }, + "port": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Redis non-SSL port." + }, + "sslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Redis SSL port." + }, + "accessKeys": { + "readOnly": true, + "$ref": "#/definitions/RedisAccessKeys", + "description": "The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache" + }, + "linkedServers": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RedisLinkedServer" + }, + "description": "List of the linked servers associated with the cache" + }, + "instances": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RedisInstanceDetails" + }, + "description": "List of the Redis instances associated with the cache" + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified redis cache" + } + }, + "allOf": [ + { + "$ref": "#/definitions/RedisCreateProperties" + } + ], + "description": "Properties of the redis cache.", + "x-ms-external": true + }, + "Resource": { + "description": "The Resource definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "TrackedResource": { + "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" + } + ] + }, + "RedisCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisCreateProperties", + "description": "Redis cache properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "required": [ + "properties", + "location" + ], + "description": "Parameters supplied to the Create Redis operation." + }, + "RedisUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisUpdateProperties", + "description": "Redis cache properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Parameters supplied to the Update Redis operation." + }, + "RedisAccessKeys": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The current primary key that clients can use to authenticate with Redis cache." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The current secondary key that clients can use to authenticate with Redis cache." + } + }, + "description": "Redis cache access keys." + }, + "RedisFirewallRule": { + "description": "A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisFirewallRuleProperties", + "description": "redis cache firewall rule properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "RedisFirewallRuleCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisFirewallRuleProperties", + "description": "Properties required to create a firewall rule ." + } + }, + "required": [ + "properties" + ], + "description": "Parameters required for creating a firewall rule on redis cache." + }, + "RedisFirewallRuleProperties": { + "description": "Specifies a range of IP addresses permitted to connect to the cache", + "properties": { + "startIP": { + "type": "string", + "description": "lowest IP address included in the range" + }, + "endIP": { + "type": "string", + "description": "highest IP address included in the range" + } + }, + "required": [ + "startIP", + "endIP" + ] + }, + "RedisFirewallRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisFirewallRule" + }, + "description": "Results of the list firewall rules operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next page of results." + } + }, + "description": "The response of list firewall rules Redis operation." + }, + "RedisResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisProperties", + "description": "Redis cache properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "A single Redis item in List or Get Operation." + }, + "RedisInstanceDetails": { + "properties": { + "sslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Redis instance SSL port." + }, + "nonSslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "If enableNonSslPort is true, provides Redis instance Non-SSL port." + }, + "zone": { + "readOnly": true, + "type": "string", + "description": "If the Cache uses availability zones, specifies availability zone where this instance is located." + }, + "shardId": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "If clustering is enabled, the Shard ID of Redis Instance" + }, + "isMaster": { + "readOnly": true, + "type": "boolean", + "description": "Specifies whether the instance is a master node." + } + }, + "description": "Details of single instance of redis." + }, + "RedisListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisResource" + }, + "description": "List of Redis cache instances." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next page of results." + } + }, + "description": "The response of list Redis operation." + }, + "RedisRegenerateKeyParameters": { + "properties": { + "keyType": { + "type": "string", + "description": "The Redis access key to regenerate.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "RedisKeyType", + "modelAsString": false + } + } + }, + "required": [ + "keyType" + ], + "description": "Specifies which Redis access keys to reset." + }, + "RedisRebootParameters": { + "properties": { + "rebootType": { + "type": "string", + "description": "Which Redis node(s) to reboot. Depending on this value data loss is possible.", + "enum": [ + "PrimaryNode", + "SecondaryNode", + "AllNodes" + ], + "x-ms-enum": { + "name": "RebootType", + "modelAsString": true + } + }, + "shardId": { + "type": "integer", + "format": "int32", + "description": "If clustering is enabled, the ID of the shard to be rebooted." + }, + "ports": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports." + } + }, + "description": "Specifies which Redis node(s) to reboot." + }, + "ExportRDBParameters": { + "properties": { + "format": { + "type": "string", + "description": "File format." + }, + "prefix": { + "type": "string", + "description": "Prefix to use for exported files." + }, + "container": { + "type": "string", + "description": "Container name to export to." + } + }, + "required": [ + "container", + "prefix" + ], + "description": "Parameters for Redis export operation." + }, + "ImportRDBParameters": { + "properties": { + "format": { + "type": "string", + "description": "File format." + }, + "files": { + "type": "array", + "description": "files to import.", + "items": { + "type": "string" + } + } + }, + "required": [ + "files" + ], + "description": "Parameters for Redis import operation." + }, + "ScheduleEntry": { + "properties": { + "dayOfWeek": { + "type": "string", + "description": "Day of the week when a cache can be patched.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", + "Everyday", + "Weekend" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "startHourUtc": { + "type": "integer", + "format": "int32", + "description": "Start hour after which cache patching can start." + }, + "maintenanceWindow": { + "type": "string", + "format": "duration", + "description": "ISO8601 timespan specifying how much time cache patching can take. " + } + }, + "required": [ + "dayOfWeek", + "startHourUtc" + ], + "description": "Patch schedule entry for a Premium Redis Cache." + }, + "ScheduleEntries": { + "properties": { + "scheduleEntries": { + "x-ms-client-name": "ScheduleEntries", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleEntry" + }, + "description": "List of patch schedules for a Redis cache." + } + }, + "required": [ + "scheduleEntries" + ], + "description": "List of patch schedules for a Redis cache." + }, + "RedisPatchSchedule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduleEntries", + "description": "List of patch schedules for a Redis cache." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Response to put/get patch schedules for Redis cache." + }, + "RedisPatchScheduleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisPatchSchedule" + }, + "description": "Results of the list patch schedules operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next page of results." + } + }, + "description": "The response of list patch schedules Redis operation." + }, + "RedisForceRebootResponse": { + "properties": { + "message": { + "readOnly": true, + "type": "string", + "description": "Status message" + } + }, + "description": "Response to force reboot for Redis cache." + }, + "RedisLinkedServer": { + "description": "Linked server Id", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Linked server Id." + } + } + }, + "RedisLinkedServerWithProperties": { + "description": "Response to put/get linked server (with properties) for Redis cache.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisLinkedServerProperties", + "description": "Properties of the linked server." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "RedisLinkedServerProperties": { + "description": "Properties of a linked server to be returned in get/put response", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Terminal state of the link between primary and secondary redis cache." + } + }, + "allOf": [ + { + "$ref": "#/definitions/RedisLinkedServerCreateProperties" + } + ] + }, + "RedisLinkedServerWithPropertiesList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + }, + "description": "List of linked servers (with properties) of a Redis cache." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next set." + } + }, + "description": "List of linked servers (with properties) of a Redis cache." + }, + "RedisLinkedServerCreateProperties": { + "description": "Create properties for a linked server", + "properties": { + "linkedRedisCacheId": { + "type": "string", + "description": "Fully qualified resourceId of the linked redis cache." + }, + "linkedRedisCacheLocation": { + "type": "string", + "description": "Location of the linked redis cache." + }, + "serverRole": { + "type": "string", + "description": "Role of the linked server.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "ReplicationRole", + "modelAsString": false + } + } + }, + "required": [ + "linkedRedisCacheId", + "linkedRedisCacheLocation", + "serverRole" + ] + }, + "RedisLinkedServerCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisLinkedServerCreateProperties", + "description": "Properties required to create a linked server." + } + }, + "required": [ + "properties" + ], + "description": "Parameter required for creating a linked server to redis cache." + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Parameters body to pass for resource name availability check.", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "description": "Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'." + } + }, + "required": [ + "name", + "type" + ] + }, + "UpgradeNotification": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade notification." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Timestamp when upgrade notification occurred." + }, + "upsellNotification": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Details about this upgrade notification" + } + }, + "description": "Properties of upgrade notification." + }, + "NotificationListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UpgradeNotification" + }, + "description": "List of all notifications." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next set of notifications." + } + }, + "description": "The response of listUpgradeNotifications." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/redis/resource-manager/readme.azureresourceschema.md b/specification/redis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d18ffe6ad840 --- /dev/null +++ b/specification/redis/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cache-2019-07-01 + - tag: schema-cache-2018-03-01 + - tag: schema-cache-2017-10-01 + - tag: schema-cache-2017-02-01 + - tag: schema-cache-2016-04-01 + - tag: schema-cache-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cache-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/preview/2019-07-01/redis.json + +``` + +### Tag: schema-cache-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2018-03-01/redis.json + +``` + +### Tag: schema-cache-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2017-10-01/redis.json + +``` + +### Tag: schema-cache-2017-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2017-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2017-02-01/redis.json + +``` + +### Tag: schema-cache-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2016-04-01/redis.json + +``` + +### Tag: schema-cache-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2015-08-01/redis.json + +``` diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md index 52c5e1bfa423..77b05defb096 100644 --- a/specification/redis/resource-manager/readme.go.md +++ b/specification/redis/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2019-07-preview - tag: package-2018-03 - tag: package-2017-10 - tag: package-2017-02 @@ -20,6 +21,15 @@ batch: - tag: package-2015-08 ``` +### Tag: package-2019-07-preview and go + +These settings apply only when `--tag=package-2019-07-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-07-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-07-01-preview/$(namespace) +``` + ### Tag: package-2018-03 and go These settings apply only when `--tag=package-2018-03 --go` is specified on the command line. @@ -29,7 +39,6 @@ Please also specify `--go-sdk-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.RedisEnterprise + output-folder: $(csharp-sdks-folder)/redisenterprise/Microsoft.Azure.Management.RedisEnterprise/src/Generated +``` diff --git a/specification/redisenterprise/resource-manager/readme.go.md b/specification/redisenterprise/resource-manager/readme.go.md new file mode 100644 index 000000000000..a631e563ba0e --- /dev/null +++ b/specification/redisenterprise/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 + namespace: redisenterprise + 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) +output-folder: $(go-sdks-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace) +``` diff --git a/specification/redisenterprise/resource-manager/readme.md b/specification/redisenterprise/resource-manager/readme.md new file mode 100644 index 000000000000..40b8cc61561d --- /dev/null +++ b/specification/redisenterprise/resource-manager/readme.md @@ -0,0 +1,80 @@ +# RedisEnterprise + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for redisenterprise. + +## 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 RedisEnterprise API. + +```yaml +openapi-type: arm +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.Cache/preview/2020-10-01-preview/redisenterprise.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 + - 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_redisenterprise'] +``` + +## 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/redisenterprise/resource-manager/readme.python.md b/specification/redisenterprise/resource-manager/readme.python.md new file mode 100644 index 000000000000..ee21c8325e10 --- /dev/null +++ b/specification/redisenterprise/resource-manager/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.Cache + package-name: redisenterprise + package-version: 2020-10-01-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/redisenterprise +``` diff --git a/specification/redisenterprise/resource-manager/readme.ruby.md b/specification/redisenterprise/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..cd98f4b0c38d --- /dev/null +++ b/specification/redisenterprise/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_redisenterprise +package-version: 2020-10-01-preview +azure-arm: true +``` + +### 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: Microsoft.Cache +output-folder: $(ruby-sdks-folder)/redisenterprise +``` diff --git a/specification/redisenterprise/resource-manager/readme.typescript.md b/specification/redisenterprise/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..79eec0c670ef --- /dev/null +++ b/specification/redisenterprise/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: "redisenterprise" + output-folder: "$(typescript-sdks-folder)/packages/redisenterprise" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json deleted file mode 100644 index 473c63d53b67..000000000000 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollection_Update.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parameters": { - "moveCollectionName": "movecollection1", - "subscriptionId": "subid", - "resourceGroupName": "rg1", - "moveResourceName": "moveresourcename1", - "api-version": "2019-10-01-preview", - "properties": { - "tags": "mc1" - } - }, - "responses": { - "200": { - "body": { - "name": "movecollection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1", - "type": "Microsoft.Migrate/MoveCollections", - "location": "United States", - "identity": { - "type": "SystemAssigned", - "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72", - "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80" - }, - "properties": { - "sourceRegion": "eastus", - "targetRegion": "westus", - "provisioningState": "Succeeded" - } - } - } - } -} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json deleted file mode 100644 index 83e41bdae3a1..000000000000 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "moveCollectionName": "movecollection1", - "subscriptionId": "subid", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "identity": { - "type": "SystemAssigned" - }, - "properties": { - "sourceRegion": "eastus", - "targetRegion": "westus" - } - }, - "responses": { - "200": { - "body": { - "name": "movecollection1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1", - "type": "Microsoft.Migrate/MoveCollections", - "location": "United States", - "identity": { - "type": "SystemAssigned", - "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72", - "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80" - }, - "properties": { - "sourceRegion": "eastus", - "targetRegion": "westus", - "provisioningState": "Succeeded" - } - } - } - } -} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json deleted file mode 100644 index 8a7fa06ea0ae..000000000000 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "moveCollectionName": "movecollection1", - "subscriptionId": "subid", - "resourceGroupName": "rg1", - "moveResourceName": "moveresourcename1", - "api-version": "2019-10-01-preview", - "properties": { - "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1", - "dependsOnOverride": [ - { - "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", - "targetId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westus/providers/Microsoft.Network/networkInterfaces/eastusvm140" - } - ], - "resourceSettings": { - "resourceType": "Microsoft.Compute/VirtualMachines", - "targetResourceName": "westusvm1", - "targetAvailabilityZone": "2", - "targetVmSize": null - } - } - }, - "responses": { - "202": {}, - "200": { - "body": { - "name": "moveresourcename1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1", - "type": "Microsoft.Migrate/MoveCollections/MoveResources", - "properties": { - "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1", - "dependsOn": [ - { - "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", - "resolutionType": "Automatic", - "resolutionStatus": "Unresolved" - } - ], - "resourceSettings": { - "resourceType": "Microsoft.Compute/virtualMachines", - "targetResourceName": "westusvm1", - "targetAvailabilityZone": "2", - "targetVmSize": null - }, - "provisioningState": "Succeeded" - } - } - } - } -} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json deleted file mode 100644 index f6c7b66be98b..000000000000 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "api-version": "2016-08-10", - "resourceGroupName": "resourceGroupPS1", - "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read", - "display": { - "provider": "Microsoft.RecoveryServices", - "resource": "Vaults", - "operation": "Vault Token", - "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations." - }, - "origin": "user" - } - ] - } - } - } -} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json b/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json deleted file mode 100644 index a0b0c4313636..000000000000 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json +++ /dev/null @@ -1,1921 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Region Move Service API", - "description": "A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region.", - "version": "2019-10-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}": { - "put": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Create", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/MoveCollection" - } - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Create": { - "$ref": "./examples/MoveCollections_Create.json" - } - } - }, - "patch": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollection_Update", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/UpdateMoveCollectionRequest" - } - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollection_Update": { - "$ref": "./examples/MoveCollection_Update.json" - } - } - }, - "delete": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Delete", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Delete": { - "$ref": "./examples/MoveCollections_Delete.json" - } - } - }, - "get": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Get": { - "$ref": "./examples/MoveCollections_Get.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare": { - "post": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Prepare", - "description": "Initiates prepare for the set of resources included in the request body. The prepare operation is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/PrepareRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Prepare": { - "$ref": "./examples/MoveCollections_Prepare.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove": { - "post": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_InitiateMove", - "description": "Moves the set of resources included in the request body. The move operation is triggered after the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful completion the moveResource moveState do a transition to CommitPending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/ResourceMoveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_InitiateMove": { - "$ref": "./examples/MoveCollections_InitiateMove.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit": { - "post": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Commit", - "description": "Commits the set of resources included in the request body. The commit operation is triggered on the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful completion the moveResource moveState do a transition to Committed. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/CommitRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Commit": { - "$ref": "./examples/MoveCollections_Commit.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard": { - "post": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_Discard", - "description": "Discards the set of resources included in the request body. The discard operation is triggered on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/DiscardRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_Discard": { - "$ref": "./examples/MoveCollections_Discard.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies": { - "post": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveCollections_ResolveDependencies", - "description": "Computes, resolves and validate the dependencies of the moveResources in the move collection.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveCollections_ResolveDependencies": { - "$ref": "./examples/MoveCollections_ResolveDependencies.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources": { - "get": { - "tags": [ - "MoveCollections" - ], - "operationId": "MoveResources_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "The filter to apply on the operation. For example, you can use $filter=Properties/ProvisioningState eq 'Succeeded'." - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/MoveResourceFilter", - "x-ms-examples": { - "MoveResources_List": { - "$ref": "./examples/MoveResources_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/unresolvedDependencies": { - "get": { - "tags": [ - "MoveCollections" - ], - "operationId": "UnresolvedDependencies_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/UnresolvedDependencyCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "UnresolvedDependencies_Get": { - "$ref": "./examples/UnresolvedDependencies_Get.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}": { - "put": { - "tags": [ - "MoveResources" - ], - "operationId": "MoveResources_Create", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveResourceName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "in": "body", - "name": "body", - "schema": { - "$ref": "#/definitions/MoveResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveResources_Create": { - "$ref": "./examples/MoveResources_Create.json" - } - } - }, - "delete": { - "tags": [ - "MoveResources" - ], - "operationId": "MoveResources_Delete", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveResourceName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveResources_Delete": { - "$ref": "./examples/MoveResources_Delete.json" - } - } - }, - "get": { - "tags": [ - "MoveResources" - ], - "operationId": "MoveResources_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveCollectionName", - "required": true, - "type": "string" - }, - { - "in": "path", - "name": "moveResourceName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/MoveResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "MoveResources_Get": { - "$ref": "./examples/MoveResources_Get.json" - } - } - } - }, - "/providers/Microsoft.Migrate/operations": { - "get": { - "tags": [ - "OperationsDiscovery" - ], - "operationId": "OperationsDiscovery_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/OperationsDiscoveryCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "OperationsDiscovery_Get": { - "$ref": "./examples/OperationsDiscovery_Get.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Migrate/moveCollections": { - "get": { - "summary": "Get all MoveCollections.", - "description": "Get all the MoveCollections in the subscription.", - "operationId": "MoveCollections_ListMoveCollectionsBySubscription", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/MoveCollectionResultList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "MoveCollections_ListMoveCollectionsBySubscription": { - "$ref": "./examples/MoveCollections_ListMoveCollectionsBySubscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections": { - "get": { - "summary": "Get all projects.", - "description": "Get all the projects in the resource group.", - "operationId": "MoveCollections_ListMoveCollectionsByResourceGroup", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "in": "path", - "name": "resourceGroupName", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/MoveCollectionResultList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "MoveCollections_ListMoveCollectionsByResourceGroup": { - "$ref": "./examples/MoveCollections_ListMoveCollectionsByResourceGroup.json" - } - } - } - } - }, - "definitions": { - "ResourceIdentityType": { - "description": "The type of identity used for the region move service.", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": true - } - }, - "Identity": { - "description": "Defines the MSI properties of the Move Collection.", - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/ResourceIdentityType" - }, - "principalId": { - "description": "Gets or sets the principal id.", - "type": "string" - }, - "tenantId": { - "description": "Gets or sets the tenant id.", - "type": "string" - } - } - }, - "MoveState": { - "description": "Defines the MoveResource states.", - "enum": [ - "AssignmentPending", - "PreparePending", - "PrepareInProgress", - "PrepareFailed", - "MovePending", - "MoveInProgress", - "MoveFailed", - "DiscardInProgress", - "DiscardFailed", - "CommitPending", - "CommitInProgress", - "CommitFailed", - "Committed" - ], - "type": "string", - "x-ms-enum": { - "name": "MoveState", - "modelAsString": true - } - }, - "ProvisioningState": { - "description": "Defines the provisioning states.", - "enum": [ - "Succeeded", - "Updating", - "Creating", - "Failed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } - }, - "JobName": { - "description": "Defines the job names.", - "enum": [ - "InitialSync" - ], - "type": "string", - "x-ms-enum": { - "name": "JobName", - "modelAsString": true - } - }, - "JobStatus": { - "description": "Defines the job status.", - "type": "object", - "properties": { - "jobName": { - "$ref": "#/definitions/JobName" - }, - "jobProgress": { - "description": "Gets or sets the monitoring job percentage.", - "type": "string" - } - } - }, - "MoveResourceStatus": { - "description": "Defines the move resource status.", - "type": "object", - "properties": { - "moveState": { - "$ref": "#/definitions/MoveState" - }, - "jobStatus": { - "$ref": "#/definitions/JobStatus" - }, - "errors": { - "$ref": "#/definitions/MoveResourceError" - }, - "targetId": { - "description": "Gets the Target ARM Id of the resource.", - "type": "string" - } - } - }, - "ResolutionType": { - "description": "Defines the resolution type.", - "enum": [ - "Manual", - "Automatic" - ], - "type": "string", - "x-ms-enum": { - "name": "ResolutionType", - "modelAsString": true - } - }, - "DependencyType": { - "description": "Defines the dependency type.", - "enum": [ - "RequiredForPrepare", - "RequiredForMove" - ], - "type": "string", - "x-ms-enum": { - "name": "DependencyType", - "modelAsString": true - } - }, - "MoveResourceDependency": { - "description": "Defines the dependency of the move resource.", - "type": "object", - "properties": { - "id": { - "description": "Gets the source ARM ID of the dependent resource.", - "type": "string" - }, - "resolutionStatus": { - "description": "Gets the dependency resolution status.", - "type": "string" - }, - "resolutionType": { - "$ref": "#/definitions/ResolutionType" - }, - "dependencyType": { - "$ref": "#/definitions/DependencyType" - }, - "manualResolution": { - "$ref": "#/definitions/ManualResolutionProperties" - }, - "automaticResolution": { - "$ref": "#/definitions/AutomaticResolutionProperties" - } - } - }, - "MoveResourceDependencyOverride": { - "description": "Defines the dependency of the move resource.", - "type": "object", - "properties": { - "id": { - "description": "Gets or sets the ARM ID of the dependent resource.", - "type": "string" - }, - "targetId": { - "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource.", - "type": "string" - } - } - }, - "ManualResolutionProperties": { - "description": "Defines the properties for manual resolution.", - "type": "object", - "properties": { - "targetId": { - "description": "Gets or sets the target resource ARM ID of the dependent resource if the resource type is Manual.", - "type": "string" - } - } - }, - "AutomaticResolutionProperties": { - "description": "Defines the properties for automatic resolution.", - "type": "object", - "properties": { - "moveResourceId": { - "description": "Gets the MoveResource ARM ID of\r\nthe dependent resource if the resolution type is Automatic.", - "type": "string" - } - } - }, - "MoveResourceProperties": { - "description": "Defines the move resource properties.", - "type": "object", - "properties": { - "provisioningState": { - "$ref": "#/definitions/ProvisioningState" - }, - "sourceId": { - "description": "Gets or sets the Source ARM Id of the resource.", - "type": "string" - }, - "targetId": { - "description": "Gets or sets the Target ARM Id of the resource.", - "type": "string", - "readOnly": true - }, - "existingTargetId": { - "description": "Gets or sets the existing target ARM Id of the resource.", - "type": "string" - }, - "resourceSettings": { - "description": "Gets or sets the resource settings.", - "$ref": "#/definitions/ResourceSettings" - }, - "moveStatus": { - "allOf": [ - { - "$ref": "#/definitions/MoveResourceStatus" - } - ], - "readOnly": true - }, - "dependsOn": { - "description": "Gets or sets the move resource dependencies.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/MoveResourceDependency" - } - }, - "dependsOnOverrides": { - "description": "Gets or sets the move resource dependencies overrides.", - "type": "array", - "items": { - "$ref": "#/definitions/MoveResourceDependencyOverride" - } - }, - "errors": { - "$ref": "#/definitions/MoveResourceError" - } - } - }, - "MoveResource": { - "description": "Defines the move resource.", - "type": "object", - "x-ms-azure-resource": true, - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Fully qualified resource Id for the resource." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the resource." - }, - "properties": { - "$ref": "#/definitions/MoveResourceProperties" - } - } - }, - "MoveCollectionProperties": { - "description": "Defines the move collection properties.", - "type": "object", - "properties": { - "sourceRegion": { - "description": "Gets or sets the source region.", - "type": "string" - }, - "targetRegion": { - "description": "Gets or sets the target region.", - "type": "string" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState" - } - } - }, - "MoveCollection": { - "description": "Define the move collection.", - "type": "object", - "x-ms-azure-resource": true, - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Fully qualified resource Id for the resource." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the resource." - }, - "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" - }, - "identity": { - "$ref": "#/definitions/Identity" - }, - "properties": { - "$ref": "#/definitions/MoveCollectionProperties" - } - } - }, - "UpdateMoveCollectionRequest": { - "description": "Defines the request body for updating move collection.", - "type": "object", - "properties": { - "tags": { - "description": "Gets or sets the Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "identity": { - "$ref": "#/definitions/Identity" - } - } - }, - "PrepareRequest": { - "description": "Defines the request body for initiate prepare operation.", - "type": "object", - "properties": { - "validateOnly": { - "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", - "type": "boolean" - }, - "moveResources": { - "description": "Gets or sets the list of move resources ARM id's.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ResourceMoveRequest": { - "description": "Defines the request body for resource move operation.", - "type": "object", - "properties": { - "validateOnly": { - "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", - "type": "boolean" - }, - "moveResources": { - "description": "Gets or sets the list of move resources ARM id's.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CommitRequest": { - "description": "Defines the request body for commit operation.", - "type": "object", - "properties": { - "validateOnly": { - "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", - "type": "boolean" - }, - "moveResources": { - "description": "Gets or sets the list of move resources ARM id's.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DiscardRequest": { - "description": "Defines the request body for discard operation.", - "type": "object", - "properties": { - "validateOnly": { - "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", - "type": "boolean" - }, - "moveResources": { - "description": "Gets or sets the list of move resources ARM id's.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "MoveResourceFilter": { - "description": "Move resource filter.", - "properties": { - "properties": { - "$ref": "#/definitions/MoveResourceFilterProperties" - } - } - }, - "MoveResourceFilterProperties": { - "properties": { - "provisioningState": { - "type": "string", - "description": "The provisioning state." - } - } - }, - "MoveResourceCollection": { - "description": "Defines the collection of move resources.", - "type": "object", - "properties": { - "value": { - "description": "Gets the list of move resources.", - "type": "array", - "items": { - "$ref": "#/definitions/MoveResource" - } - }, - "nextLink": { - "description": "Gets the value of next link.", - "type": "string" - } - } - }, - "MoveCollectionResultList": { - "description": "Defines the collection of move collections.", - "type": "object", - "properties": { - "value": { - "description": "Gets the list of move collections.", - "type": "array", - "items": { - "$ref": "#/definitions/MoveCollection" - } - }, - "nextLink": { - "description": "Gets the value of next link.", - "type": "string" - } - } - }, - "UnresolvedDependency": { - "description": "Unresolved dependency.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Gets or sets the count.", - "type": "integer" - }, - "id": { - "description": "Gets or sets the arm id of the dependency.", - "type": "string" - } - } - }, - "UnresolvedDependencyCollection": { - "description": "Unresolved dependency collection.", - "type": "object", - "properties": { - "value": { - "description": "Gets or sets the list of unresolved dependencies.", - "type": "array", - "items": { - "$ref": "#/definitions/UnresolvedDependency" - } - }, - "nextLink": { - "description": "Gets or sets the value of next link.", - "type": "string" - } - } - }, - "Display": { - "description": "Contains the localized display information for this particular operation / action. These\r\nvalue will be used by several clients for\r\n(1) custom role definitions for RBAC;\r\n(2) complex query filters for the event service; and\r\n(3) audit history / records for management operations.", - "type": "object", - "properties": { - "provider": { - "description": "Gets or sets the provider.\r\nThe localized friendly form of the resource provider name – it is expected to also\r\ninclude the publisher/company responsible.\r\nIt should use Title Casing and begin with \"Microsoft\" for 1st party services.\r\ne.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".", - "type": "string" - }, - "resource": { - "description": "Gets or sets the resource.\r\nThe localized friendly form of the resource related to this action/operation – it\r\nshould match the public documentation for the resource provider.\r\nIt should use Title Casing.\r\nThis value should be unique for a particular URL type (e.g. nested types should *not*\r\nreuse their parent’s display.resource field)\r\ne.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\"\r\nor \"Scheduler Jobs\".", - "type": "string" - }, - "operation": { - "description": "Gets or sets the operation.\r\nThe localized friendly name for the operation, as it should be shown to the user.\r\nIt should be concise (to fit in drop downs) but clear (i.e. self-documenting).\r\nIt should use Title Casing.\r\nPrescriptive guidance: Read Create or Update Delete 'ActionName'.", - "type": "string" - }, - "description": { - "description": "Gets or sets the description.\r\nThe localized friendly description for the operation, as it should be shown to the\r\nuser.\r\nIt should be thorough, yet concise – it will be used in tool tips and detailed views.\r\nPrescriptive guidance for namespace:\r\nRead any 'display.provider' resource\r\nCreate or Update any 'display.provider' resource\r\nDelete any 'display.provider' resource\r\nPerform any other action on any 'display.provider' resource\r\nPrescriptive guidance for namespace:\r\nRead any 'display.resource' Create or Update any 'display.resource' Delete any\r\n 'display.resource' 'ActionName' any 'display.resources'.", - "type": "string" - } - } - }, - "OperationsDiscoveryProperties": { - "description": "ClientDiscovery properties.", - "type": "object" - }, - "OperationsDiscovery": { - "description": "Operations discovery class.", - "type": "object", - "properties": { - "name": { - "description": "Gets or sets Name of the API.\r\nThe name of the operation being performed on this particular object. It should\r\nmatch the action name that appears in RBAC / the event service.\r\nExamples of operations include:\r\n* Microsoft.Compute/virtualMachine/capture/action\r\n* Microsoft.Compute/virtualMachine/restart/action\r\n* Microsoft.Compute/virtualMachine/write\r\n* Microsoft.Compute/virtualMachine/read\r\n* Microsoft.Compute/virtualMachine/delete\r\nEach action should include, in order:\r\n(1) Resource Provider Namespace\r\n(2) Type hierarchy for which the action applies (e.g. server/databases for a SQL\r\nAzure database)\r\n(3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH\r\non a collection or named value, Write should be used.\r\nIf it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it\r\nis a POST, Action should be used.\r\nAs a note: all resource providers would need to include the \"{Resource Provider\r\nNamespace}/register/action\" operation in their response.\r\nThis API is used to register for their service, and should include details about the\r\noperation (e.g. a localized name for the resource provider + any special\r\nconsiderations like PII release).", - "type": "string" - }, - "display": { - "$ref": "#/definitions/Display" - }, - "origin": { - "description": "Gets or sets Origin.\r\nThe intended executor of the operation; governs the display of the operation in the\r\nRBAC UX and the audit logs UX.\r\nDefault value is \"user,system\".", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/OperationsDiscoveryProperties" - } - } - }, - "OperationsDiscoveryCollection": { - "description": "Collection of ClientDiscovery details.", - "type": "object", - "properties": { - "value": { - "description": "Gets or sets the ClientDiscovery details.", - "type": "array", - "items": { - "$ref": "#/definitions/OperationsDiscovery" - } - }, - "nextLink": { - "description": "Gets or sets the value of next link.", - "type": "string" - } - } - }, - "MoveResourceError": { - "properties": { - "properties": { - "type": "object", - "description": "The move resource error body.", - "$ref": "#/definitions/MoveResourceErrorBody" - } - }, - "description": "An error response from the azure region move service." - }, - "MoveResourceErrorBody": { - "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/MoveResourceErrorBody" - }, - "description": "A list of additional details about the error." - } - }, - "description": "An error response from the Azure Migrate service." - }, - "ResourceSettings": { - "description": "Gets or sets the resource settings.", - "type": "object", - "required": [ - "resourceType" - ], - "properties": { - "resourceType": { - "description": "The resource type. For example, the value can be Microsoft.Compute/virtualMachines.", - "type": "string" - }, - "targetResourceName": { - "description": "Gets or sets the target Resource name.", - "type": "string" - } - }, - "discriminator": "resourceType" - }, - "VirtualMachineResourceSettings": { - "description": "Gets or sets the virtual machine resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": { - "targetAvailabilityZone": { - "description": "Gets or sets the target availability zone.", - "type": "string", - "enum": [ - "1", - "2", - "3", - "NA" - ], - "x-ms-enum": { - "name": "targetAvailabilityZone", - "modelAsString": true - } - }, - "targetVmSize": { - "description": "Gets or sets the target vm size.", - "type": "string" - } - }, - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AvailabilitySetResourceSettings": { - "description": "Gets or sets the availability set resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": { - "faultDomain": { - "description": "Gets or sets the target fault domain.", - "type": "integer", - "format": "int32", - "minimum": 1, - "x-nullable": true - }, - "updateDomain": { - "description": "Gets or sets the target update domain.", - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 20, - "x-nullable": true - } - }, - "x-ms-discriminator-value": "Microsoft.Compute/availabilitySets" - }, - "VirtualNetworkResourceSettings": { - "description": "Defines the virtual network resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Network/virtualNetworks" - }, - "NetworkSecurityGroupResourceSettings": { - "description": "Defines the network security group resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Network/networkSecurityGroups" - }, - "NetworkInterfaceResourceSettings": { - "description": "Defines the network interface resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Network/networkInterfaces" - }, - "SqlServerResourceSettings": { - "description": "Defines the SQL Server resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Sql/servers" - }, - "ZoneRedundant": { - "description": "Defines the zone redundant resource setting.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "ZoneRedundant", - "modelAsString": true - } - }, - "SqlElasticPoolResourceSettings": { - "description": "Defines the Sql ElasticPool resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": { - "zoneRedundant": { - "$ref": "#/definitions/ZoneRedundant" - } - }, - "x-ms-discriminator-value": "Microsoft.Sql/servers/elasticPools" - }, - "SqlDatabaseResourceSettings": { - "description": "Defines the Sql Database resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": { - "zoneRedundant": { - "$ref": "#/definitions/ZoneRedundant" - } - }, - "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" - }, - "ResourceGroupResourceSettings": { - "description": "Defines the resource group resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "resourceGroups" - }, - "PublicIPAddressResourceSettings": { - "description": "Defines the public IP address resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Network/publicIPAddresses" - }, - "LoadBalancerResourceSettings": { - "description": "Defines the load balancer resource settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "Microsoft.Network/loadBalancers" - }, - "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." - }, - "OperationStatus": { - "description": "Operation status REST resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource Id.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Operation name.", - "type": "string", - "readOnly": true - }, - "status": { - "description": "Status of the operation. ARM expects the terminal status to be one of Succeeded/ Failed/ Canceled. All other values imply that the operation is still running.", - "type": "string", - "readOnly": true - }, - "startTime": { - "description": "Start time.", - "type": "string", - "readOnly": true - }, - "endTime": { - "description": "End time.", - "type": "string", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/OperationStatusError", - "description": "Error stating all error details for the operation.", - "readOnly": true - }, - "properties": { - "$ref": "#/definitions/OperationStatusProperties", - "description": "Custom data.", - "readOnly": true - } - } - }, - "OperationStatusError": { - "description": "Class for operation status errors.", - "type": "object", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." - }, - "details": { - "readOnly": true, - "type": "array", - "description": "The error details.", - "items": { - "$ref": "#/definitions/OperationStatusError" - } - }, - "additionalInfo": { - "readOnly": true, - "type": "object", - "description": "The additional info." - } - } - }, - "OperationStatusProperties": { - "description": "Class for operation result properties.", - "type": "object", - "properties": {} - } - }, - "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" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/regionmove/resource-manager/readme.csharp.md b/specification/regionmove/resource-manager/readme.csharp.md deleted file mode 100644 index f8de1d553f88..000000000000 --- a/specification/regionmove/resource-manager/readme.csharp.md +++ /dev/null @@ -1,15 +0,0 @@ -## 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.Migrate - output-folder: $(csharp-sdks-folder)/regionmove/management/Microsoft.Migrate/GeneratedProtocol -``` diff --git a/specification/regionmove/resource-manager/readme.go.md b/specification/regionmove/resource-manager/readme.go.md deleted file mode 100644 index 6dfd40318a2a..000000000000 --- a/specification/regionmove/resource-manager/readme.go.md +++ /dev/null @@ -1,19 +0,0 @@ -## 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 -``` - -### Tag: package-2019-10-01-preview and go - -These settings apply only when `--tag=package-2019-10-01-preview --go` is specified on the command line. -Please also specify `--go-sdks-folder=`. - -```yaml $(tag) == 'package-2019-10-01-preview' && $(go) -namespace: Microsoft.Migrate -output-folder: $(go-sdks-folder)/regionmove/Generated -``` diff --git a/specification/regionmove/resource-manager/readme.md b/specification/regionmove/resource-manager/readme.md deleted file mode 100644 index f8195d7a8cc3..000000000000 --- a/specification/regionmove/resource-manager/readme.md +++ /dev/null @@ -1,79 +0,0 @@ -# regionmove - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for regionmove. - -## 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 regionmove. - -```yaml -openapi-type: arm -tag: package-2019-10-01-preview -``` - -### Tag: package-2019-10-01-preview - -These settings apply only when `--tag=package-2019-10-01-preview` is specified on the command line. - -```yaml $(tag) == 'package-2019-10-01-preview' -input-file: - - Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.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 - - 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_regionmove'] -``` - -## 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/regionmove/resource-manager/readme.python.md b/specification/regionmove/resource-manager/readme.python.md deleted file mode 100644 index d11ee0947874..000000000000 --- a/specification/regionmove/resource-manager/readme.python.md +++ /dev/null @@ -1,21 +0,0 @@ -## Python - -These settings apply only when `--python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -```yaml $(python) -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: Microsoft.Migrate - package-name: regionmove - package-version: 2019-10-01-preview - clear-output-folder: true -``` - -```yaml $(python) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt/regionmove -``` diff --git a/specification/relay/resource-manager/readme.azureresourceschema.md b/specification/relay/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..594e0810982e --- /dev/null +++ b/specification/relay/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,51 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-relay-2018-01-01-preview + - tag: schema-relay-2017-04-01 + - tag: schema-relay-2016-07-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-relay-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/preview/2018-01-01-preview/Namespaces-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/NetworkRuleSets-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/PrivateEndpointConnection-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/PrivateLinkResources-preview.json + +``` + +### Tag: schema-relay-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/stable/2017-04-01/relay.json + +``` + +### Tag: schema-relay-2016-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2016-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/stable/2016-07-01/relay.json + +``` diff --git a/specification/relay/resource-manager/readme.md b/specification/relay/resource-manager/readme.md index 3099d74309cb..79c4ab022296 100644 --- a/specification/relay/resource-manager/readme.md +++ b/specification/relay/resource-manager/readme.md @@ -83,6 +83,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_relay'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js relay/resource-manager ``` @@ -154,32 +157,7 @@ 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.Relay/stable/2017-04-01/relay.json - - $(this-folder)/Microsoft.Relay/stable/2016-07-01/relay.json - - $(this-folder)/Microsoft.Relay/preview/2018-01-01-preview/Namespaces-preview.json - - $(this-folder)/Microsoft.Relay/preview/2018-01-01-preview/NetworkRuleSets-preview.json - - $(this-folder)/Microsoft.Relay/preview/2018-01-01-preview/PrivateEndpointConnection-preview.json - - $(this-folder)/Microsoft.Relay/preview/2018-01-01-preview/PrivateLinkResources-preview.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Archive.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Archive.json new file mode 100644 index 000000000000..5828ff4d35db --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Archive.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2019-04-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "356e7ae4-84d0-4da6-ab4b-d6b94f3557da" + }, + "responses": { + "200": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json index 7b653eef3672..f9161a07b3e4 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/CalculateReservationOrder.json @@ -11,7 +11,7 @@ "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", "term": "P1Y", "billingPlan": "Monthly", - "quantity": "1", + "quantity": 1, "displayName": "TestReservationOrder", "appliedScopes": null, "appliedScopeType": "Shared", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json index 9964e3ffff69..d0df20b1593d 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/GetCatalog.json @@ -59,20 +59,16 @@ "P1Y", "P3Y" ], - "billingPlans": [ - { - "P1Y": [ - "Upfront", - "Monthly" - ] - }, - { - "P3Y": [ - "Upfront", - "Monthly" - ] - } - ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, "locations": [ "eastus" ], @@ -122,20 +118,16 @@ "P1Y", "P3Y" ], - "billingPlans": [ - { - "P1Y": [ - "Upfront", - "Monthly" - ] - }, - { - "P3Y": [ - "Upfront", - "Monthly" - ] - } - ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, "locations": [ "eastus" ], diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json index 1666a037a0cb..11823e427401 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/PurchaseReservationOrder.json @@ -12,7 +12,7 @@ "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", "term": "P1Y", "billingPlan": "Monthly", - "quantity": "1", + "quantity": 1, "displayName": "TestReservationOrder", "appliedScopes": null, "appliedScopeType": "Shared", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Unarchive.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Unarchive.json new file mode 100644 index 000000000000..5828ff4d35db --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/examples/Unarchive.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2019-04-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "356e7ae4-84d0-4da6-ab4b-d6b94f3557da" + }, + "responses": { + "200": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json index 533fae60c7f0..76cf5b769a30 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json @@ -594,6 +594,80 @@ } } }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/archive": { + "post": { + "summary": "Archive a `Reservation`.", + "description": "Archiving a `Reservation` moves it to `Archived` state.", + "operationId": "Reservation_Archive", + "x-ms-examples": { + "Archive": { + "$ref": "./examples/Archive.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation, Archive" + ], + "responses": { + "200": { + "description": "Archived a reservation." + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/unarchive": { + "post": { + "summary": "Unarchive a `Reservation`.", + "description": "Unarchiving a `Reservation` moves it to the state it was before archiving.\n", + "operationId": "Reservation_Unarchive", + "x-ms-examples": { + "Unarchive": { + "$ref": "./examples/Unarchive.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation, Unarchive" + ], + "responses": { + "200": { + "description": "Unarchive complete for the reservation." + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/providers/Microsoft.Capacity/operations": { "get": { "summary": "Get operations.", @@ -1639,6 +1713,27 @@ "format": "double" } } + }, + "AvailableScopeRequest": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AvailableScopeRequestProperties" + } + } + }, + "AvailableScopeRequestProperties": { + "description": "List of scopes for which availability should be checked", + "type": "object", + "properties": { + "scopes": { + "description": "Scopes to be checked for availability", + "type": "array", + "items": { + "type": "string" + } + } + } } }, "parameters": { @@ -1647,11 +1742,9 @@ "x-ms-parameter-location": "method", "in": "body", "required": true, + "description": "Parameter for listing the available scopes", "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/AvailableScopeRequest" } }, "PurchaseParameter": { diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json new file mode 100644 index 000000000000..2b03b22a1bb2 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateExchange.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "body": { + "properties": { + "reservationsToPurchase": [ + { + "sku": { + "name": "Standard_B1ls" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Upfront", + "quantity": 1, + "displayName": "testDisplayName", + "appliedScopeType": "Shared", + "appliedScopes": null, + "renew": false, + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + } + ], + "reservationsToExchange": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "properties": { + "scope": "Reservation", + "reservationToReturn": { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1 + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "name": "4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "status": "Succeeded", + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081", + "netPayable": { + "currencyCode": "EUR", + "amount": -688.11 + }, + "refundsTotal": { + "currencyCode": "EUR", + "amount": 2938.11 + }, + "purchasesTotal": { + "currencyCode": "EUR", + "amount": 2250.0 + }, + "reservationsToPurchase": [ + { + "billingCurrencyTotal": { + "currencyCode": "EUR", + "amount": 2250.0 + } + } + ], + "reservationsToExchange": [ + { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1, + "billingRefundAmount": { + "currencyCode": "EUR", + "amount": 34.17 + }, + "billingInformation": { + "billingCurrencyTotalPaidAmount": { + "currencyCode": "EUR", + "amount": 170.82 + }, + "billingCurrencyProratedAmount": { + "currencyCode": "EUR", + "amount": 136.65 + }, + "billingCurrencyRemainingCommitmentAmount": { + "currencyCode": "EUR", + "amount": 2903.94 + } + } + } + ], + "policyResult": { + "policyErrors": [ + { + "code": "RefundsLessThanPurchase", + "message": "New purchase amount should be greater than the total refunds." + } + ] + } + }, + "error": null + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/8d542218-8bfe-4fd2-b909-0656c610281c?api-version=2019-04-01", + "Retry-After": 5 + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateReservationOrder.json new file mode 100644 index 000000000000..6812a7faee0e --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/CalculateReservationOrder.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "body": { + "sku": { + "name": "standard_D1" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "TestReservationOrder", + "appliedScopes": null, + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46.0 + }, + "reservationOrderId": "6d9cec54-7de8-abcd-9de7-80f5d634f2d2", + "skuTitle": "Reserved VM Instance, Standard_D1, US West, 1 Year", + "skuDescription": "standard_D1", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46.0 + }, + "paymentSchedule": [ + { + "dueDate": "2019-05-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + }, + "billingCurrencyTotal": { + "currencyCode": "EUR", + "amount": 40 + } + }, + { + "dueDate": "2019-06-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + } + }, + { + "dueDate": "2019-07-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + } + } + ] + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json new file mode 100644 index 000000000000..6762812a1af6 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/Exchange.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "body": { + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "name": "4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "status": "Succeeded", + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081", + "netPayable": { + "currencyCode": "EUR", + "amount": -688.11 + }, + "refundsTotal": { + "currencyCode": "EUR", + "amount": 2938.11 + }, + "purchasesTotal": { + "currencyCode": "EUR", + "amount": 2250.0 + }, + "reservationsToPurchase": [ + { + "reservationOrderId": "/providers/microsoft.capacity/reservationOrders/1e85c519-b815-4169-8d79-62fc460c608f", + "billingCurrencyTotal": { + "currencyCode": "EUR", + "amount": 2250.0 + } + } + ], + "reservationsToExchange": [ + { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1, + "billingRefundAmount": { + "currencyCode": "EUR", + "amount": 34.17 + }, + "billingInformation": { + "billingCurrencyTotalPaidAmount": { + "currencyCode": "EUR", + "amount": 170.82 + }, + "billingCurrencyProratedAmount": { + "currencyCode": "EUR", + "amount": 136.65 + }, + "billingCurrencyRemainingCommitmentAmount": { + "currencyCode": "EUR", + "amount": 2903.94 + } + } + } + ], + "policyResult": { + "policyErrors": [ + { + "code": "RefundsLessThanPurchase", + "message": "New purchase amount should be greater than the total refunds." + } + ] + } + }, + "error": null + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/8d542218-8bfe-4fd2-b909-0656c610281c?api-version=2019-04-01", + "Retry-After": 5 + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAppliedReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAppliedReservations.json new file mode 100644 index 000000000000..d6cf2fa56335 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAppliedReservations.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "23bc208b-083f-4901-ae85-4f98c0c3b4b6" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23bc208b-083f-4901-ae85-4f98c0c3b4b6/providers/microsoft.capacity/AppliedReservations/default", + "type": "Microsoft.Capacity/AppliedReservations", + "name": "default", + "properties": { + "reservationOrderIds": { + "value": [ + "/providers/Microsoft.Capacity/reservationorders/e1eccf0b-2db4-4e84-97e7-98b50e9d46f7", + "/providers/Microsoft.Capacity/reservationorders/741a32eb-6158-4cee-9642-a0243ae79fac", + "/providers/Microsoft.Capacity/reservationorders/e061223d-fcff-4d10-bd49-56a740cfb96a", + "/providers/Microsoft.Capacity/reservationorders/2eeb7234-970e-4663-b60b-85241b515901", + "/providers/Microsoft.Capacity/reservationorders/9db2f4c5-b1c5-42a8-bd79-ee56cdde2c7f", + "/providers/Microsoft.Capacity/reservationorders/5da7a877-6d6e-44af-8880-ed3f533bf928", + "/providers/Microsoft.Capacity/reservationorders/f65b0d0a-f945-4105-821c-d00bc8bacde8", + "/providers/Microsoft.Capacity/reservationorders/51304124-e477-4b07-b9fa-03b05c8b924b", + "/providers/Microsoft.Capacity/reservationorders/f5409b98-8a42-4dc6-be0a-cc59bef4d0db", + "/providers/Microsoft.Capacity/reservationorders/a495550a-80a4-46f8-8843-34d4df46f9a6", + "/providers/Microsoft.Capacity/reservationorders/1a966e18-c272-4ce1-a0c2-d4e1039023c3", + "/providers/Microsoft.Capacity/reservationorders/939310b4-f9de-4645-9569-ab5b6cfe958e", + "/providers/Microsoft.Capacity/reservationorders/4193a889-7c3b-44dc-8b7b-bfd7aad6c723" + ] + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAvailableScope.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAvailableScope.json new file mode 100644 index 000000000000..1ab63999604f --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetAvailableScope.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "356e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "scopes": [ + "/subscriptions/efc7c997-7700-4a74-b731-55aec16c15e9" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "scopes": [ + { + "scope": "/subscriptions/efc7c997-7700-4a74-b731-55aec16c15e9", + "valid": true + } + ] + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetCatalog.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetCatalog.json new file mode 100644 index 000000000000..dc2d46e8fe65 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetCatalog.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "subscriptionId": "23bc208b-083f-4901-ae85-4f98c0c3b4b6", + "reservedResourceType": "VirtualMachines", + "location": "eastus" + }, + "responses": { + "200": { + "body": [ + { + "resourceType": "VirtualMachines", + "name": "Standard_DS5_v2", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "16" + }, + { + "name": "ProductTitle", + "value": "DSv2 Series, DS5" + }, + { + "name": "ProductShortName", + "value": "DSv2 Series" + }, + { + "name": "SKUName", + "value": "DS5 v2" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [] + }, + { + "resourceType": "VirtualMachines", + "name": "Standard_D1", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "1" + }, + { + "name": "ProductTitle", + "value": "D Series, D1" + }, + { + "name": "ProductShortName", + "value": "D Series" + }, + { + "name": "SKUName", + "value": "D1" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [ + { + "type": "Term", + "values": [ + "P1Y" + ], + "reasonCode": "NotAvailableForSubscription" + }, + { + "type": "Term", + "values": [ + "P3Y" + ], + "reasonCode": "NotAvailableForSubscription" + } + ] + }, + { + "resourceType": "VirtualMachines", + "name": "Standard_F2", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "2" + }, + { + "name": "ProductTitle", + "value": "F Series, F2" + }, + { + "name": "ProductShortName", + "value": "F Series" + }, + { + "name": "SKUName", + "value": "F2" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [ + { + "type": "Location", + "values": [ + "eastus" + ], + "reasonCode": "NotAvailableForSubscription" + } + ] + } + ] + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetOperations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..0232a3d253ff --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetOperations.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Capacity/reservationorders/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/write", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Create Reservations", + "description": "Create any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Update Reservations", + "description": "Update any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/delete", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Delete Reservations", + "description": "Delete any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/write", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Create Reservations", + "description": "Create any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Update Reservations", + "description": "Update any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/delete", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Delete Reservations", + "description": "Delete any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/revisions/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/register/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Registers the Capacity Resource Provider.", + "description": "Registers the Capacity resource provider and enables the creation of Capacity resources." + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationDetails.json new file mode 100644 index 000000000000..4921383e79b6 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationDetails.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc", + "expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "renewSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "renewDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "billingPlan": "Monthly", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "term": "P1Y", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + }, + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_D1" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "term": "P1Y", + "quantity": 2, + "displayName": "Renew_Test_0618", + "appliedScopeType": "Shared", + "reservedResourceType": "VirtualMachines", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466.0 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466.0 + } + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetails.json new file mode 100644 index 000000000000..38ee57b5e5d2 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetails.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetailsWithExpandPlanInformation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetailsWithExpandPlanInformation.json new file mode 100644 index 000000000000..8bf795789305 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrderDetailsWithExpandPlanInformation.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9", + "$expand": "schedule" + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2019-08-30T03:49:19Z", + "createdDateTime": "2019-08-30T03:51:49Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7, + "planInformation": { + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "startDate": "2019-08-30", + "nextPaymentDueDate": "2019-09-30", + "transactions": [ + { + "dueDate": "2019-09-30", + "paymentDate": "2019-09-30", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-10-30", + "paymentDate": "2019-10-30", + "status": "Failed", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "extendedStatusInfo": { + "statusCode": "PaymentDeclined", + "message": "Credit card charge failed." + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-10-31", + "paymentDate": "2019-10-31", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-11-30", + "paymentDate": "2019-11-30", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-07-14", + "paymentDate": "2019-06-14", + "status": "Scheduled", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-06-14", + "paymentDate": "2019-08-14", + "status": "Scheduled", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + } + ] + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrders.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrders.json new file mode 100644 index 000000000000..fb4841314547 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationOrders.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1e6407ba-37a5-499f-80ed-a3f0f338e443", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1e6407ba-37a5-499f-80ed-a3f0f338e443", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-29T21:20:23.8134834Z", + "createdDateTime": "2017-08-29T21:22:56.8541664Z", + "expiryDate": "2018-08-29", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1e6407ba-37a5-499f-80ed-a3f0f338e443/reservations/cae5924e-7a15-419f-a369-124f52d4a106" + } + ], + "originalQuantity": 1 + } + }, + { + "id": "/providers/microsoft.capacity/reservationOrders/1ea6e203-288e-4732-b9e1-da8bbe10c614", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1ea6e203-288e-4732-b9e1-da8bbe10c614", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-30T12:55:40.2799114Z", + "createdDateTime": "2017-08-30T12:58:20.526Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1ea6e203-288e-4732-b9e1-da8bbe10c614/reservations/d04fd48d-e3f6-42a3-a8f6-1ad0b7513e48" + } + ], + "originalQuantity": 9 + } + }, + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.Capacity/reservationOrders?api-version=2017-11-01&%24skiptoken=eyJyZyI6IjIwNTkyMzdlLWY3MmYtNDczYi1hNTZiLWExOGJkM2UwMDhlZCIsImlnIjpudWxsLCJzdCI6bnVsbH0%3d" + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationRevisions.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationRevisions.json new file mode 100644 index 000000000000..4aef3b2294d4 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservationRevisions.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/4", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/4", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopeType": "Shared", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T23:57:48.1891638Z", + "lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/3", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/3", + "etag": 3, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Pending", + "message": "An operation is in progress on your reservation. Please wait for operation to complete before taking further action" + }, + "lastUpdatedDateTime": "2017-09-22T23:57:47.488284Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/2", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/2", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/1", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/1", + "etag": 1, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Creating", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "effectiveDateTime": "2017-09-22T22:46:27.3313607Z", + "lastUpdatedDateTime": "2017-09-22T22:46:27.3313607Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservations.json new file mode 100644 index 000000000000..297f29b20a54 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/GetReservations.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/bcae77cd-3119-4766-919f-b50d36c75c7a", + "etag": 10, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "extendedStatusInfo": { + "statusCode": "Split", + "message": "This reservation was split and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitDestinations": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 5, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/MergeReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/MergeReservations.json new file mode 100644 index 000000000000..2c05fd9c647b --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/MergeReservations.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "sources": [ + "/providers/Microsoft.Capacity/reservationOrders/c0565a8a-4491-4e77-b07b-5e6d66718e1c/reservations/cea04232-932e-47db-acb5-e29a945ecc73", + "/providers/Microsoft.Capacity/reservationOrders/c0565a8a-4491-4e77-b07b-5e6d66718e1c/reservations/5bf54dc7-dacd-4f46-a16b-7b78f4a59799" + ] + } + } + }, + "responses": { + "200": { + "body": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 5, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/PurchaseReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/PurchaseReservationOrder.json new file mode 100644 index 000000000000..5546d981dc2d --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/PurchaseReservationOrder.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9", + "body": { + "sku": { + "name": "standard_D1" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "TestReservationOrder", + "appliedScopes": null, + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "renew": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + }, + "202": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "billingPlan": "Monthly", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/SplitReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/SplitReservation.json new file mode 100644 index 000000000000..36872b55a134 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/SplitReservation.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "quantities": [ + 1, + 2 + ], + "reservationId": "/providers/Microsoft.Capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + "responses": { + "200": { + "body": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/bcae77cd-3119-4766-919f-b50d36c75c7a", + "etag": 10, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "extendedStatusInfo": { + "statusCode": "Split", + "message": "This reservation was split and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitDestinations": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/UpdateReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/UpdateReservation.json new file mode 100644 index 000000000000..28fe38baaef2 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/examples/UpdateReservation.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-10-01-preview", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc", + "parameters": { + "properties": { + "appliedScopeType": "Shared", + "instanceFlexibility": "Off" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopeType": "Shared", + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T23:57:48.1891638Z", + "lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json new file mode 100644 index 000000000000..65ffe539d6a2 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2020-10-01-preview/reservations.json @@ -0,0 +1,2242 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Reservation API", + "description": "This API describe Azure Reservation", + "version": "2020-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/availableScopes": { + "post": { + "summary": "Get Available Scopes for `Reservation`.", + "description": "Get Available Scopes for `Reservation`.\n", + "operationId": "Reservation_AvailableScopes", + "x-ms-examples": { + "AvailableScopes": { + "$ref": "./examples/GetAvailableScope.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "tags": [ + "Reservation, AvailableScopes" + ], + "responses": { + "200": { + "description": "List of `Subscription`s created after the filter.", + "schema": { + "$ref": "#/definitions/AvailableScopeProperties" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs": { + "get": { + "summary": "Get the regions and skus that are available for RI purchase for the specified Azure subscription.", + "operationId": "GetCatalog", + "x-ms-examples": { + "Catalog": { + "$ref": "./examples/GetCatalog.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ReservedResourceTypeIdParameter" + }, + { + "$ref": "#/parameters/LocationIdParameter" + } + ], + "tags": [ + "Catalog" + ], + "responses": { + "200": { + "description": "List of available resources", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations": { + "get": { + "summary": "Get list of applicable `Reservation`s.", + "description": "Get applicable `Reservation`s that are applied to this subscription or a resource group under this subscription.", + "operationId": "GetAppliedReservationList", + "x-ms-examples": { + "AppliedReservationList": { + "$ref": "./examples/GetAppliedReservations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "tags": [ + "AppliedReservation" + ], + "responses": { + "200": { + "description": "Applicable `Reservation`s.", + "schema": { + "$ref": "#/definitions/AppliedReservations" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/calculatePrice": { + "post": { + "summary": "Calculate price for a `ReservationOrder`.", + "description": "Calculate price for placing a `ReservationOrder`.", + "operationId": "ReservationOrder_Calculate", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/CalculateReservationOrder.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Calculate" + ], + "responses": { + "200": { + "description": "Detailed price info for purchasing `ReservationOrder`", + "schema": { + "$ref": "#/definitions/CalculatePriceResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders": { + "get": { + "summary": "Get all `ReservationOrder`s.", + "description": "List of all the `ReservationOrder`s that the user has access to in the current tenant.", + "operationId": "ReservationOrder_List", + "x-ms-examples": { + "ReservationOrderList": { + "$ref": "./examples/GetReservationOrders.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of `ReservationOrder`s", + "schema": { + "$ref": "#/definitions/ReservationOrderList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}": { + "put": { + "summary": "Purchase `ReservationOrder`", + "description": "Purchase `ReservationOrder` and create resource under the specified URI.", + "operationId": "ReservationOrder_Purchase", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/PurchaseReservationOrder.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Purchase" + ], + "responses": { + "200": { + "description": "The resource has been created", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed. Operation result link is in location header.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "summary": "Get a specific `ReservationOrder`.", + "description": "Get the details of the `ReservationOrder`.", + "operationId": "ReservationOrder_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationOrderDetails.json" + }, + "GetReservationWithExpandPayments": { + "$ref": "./examples/GetReservationOrderDetailsWithExpandPlanInformation.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the planInformation.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get the details of the `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split": { + "post": { + "summary": "Split the `Reservation`.", + "description": "Split a `Reservation` into two `Reservation`s with specified quantity distribution.", + "operationId": "Reservation_Split", + "x-ms-examples": { + "Split": { + "$ref": "./examples/SplitReservation.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SplitParameter" + } + ], + "tags": [ + "Reservation, Split" + ], + "responses": { + "200": { + "description": "List of `Reservation`s created after the split operation.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge": { + "post": { + "summary": "Merges two `Reservation`s.", + "description": "Merge the specified `Reservation`s into a new `Reservation`. The two `Reservation`s being merged must have same properties.", + "operationId": "Reservation_Merge", + "x-ms-examples": { + "Merge": { + "$ref": "./examples/MergeReservations.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MergeParameter" + } + ], + "tags": [ + "Reservation, Merge" + ], + "responses": { + "200": { + "description": "Returns the `Reservation` created after the merge.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations": { + "get": { + "summary": "Get `Reservation`s in a given reservation Order", + "description": "List `Reservation`s within a single `ReservationOrder`.", + "operationId": "Reservation_List", + "x-ms-examples": { + "ReservationList": { + "$ref": "./examples/GetReservations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List `Reservation`s within a single `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}": { + "get": { + "summary": "Get `Reservation` details.", + "description": "Get specific `Reservation` details.", + "operationId": "Reservation_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationDetails.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandRenewPropertiesParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get `Reservation` details.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "summary": "Updates a `Reservation`.", + "description": "Updates the applied scopes of the `Reservation`.", + "operationId": "Reservation_Update", + "x-ms-examples": { + "PatchReservation": { + "$ref": "./examples/UpdateReservation.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PatchParameter" + } + ], + "tags": [ + "Reservation", + "ApplyScope" + ], + "responses": { + "200": { + "description": "Returns the updated `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions": { + "get": { + "summary": "Get `Reservation` revisions.", + "description": "List of all the revisions for the `Reservation`.", + "operationId": "Reservation_ListRevisions", + "x-ms-examples": { + "ReservationRevisions": { + "$ref": "./examples/GetReservationRevisions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of all the revisions for the `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/operations": { + "get": { + "summary": "Get operations.", + "description": "List all the operations.", + "operationId": "Operation_List", + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Operation" + ], + "responses": { + "200": { + "description": "List all the operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/calculateExchange": { + "post": { + "summary": "Calculates the refund amounts and price of the new purchases.", + "description": "Calculates price for exchanging `Reservations` if there are no policy errors.\n", + "operationId": "CalculateExchange_Post", + "x-ms-examples": { + "CalculateExchange": { + "$ref": "./examples/CalculateExchange.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CalculateExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeOperationResultResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Location": { + "type": "string", + "description": "URL to query for the status of the operation." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/exchange": { + "post": { + "summary": "Exchange Reservation(s)", + "description": "Returns one or more `Reservations` in exchange for one or more `Reservation` purchases.\n", + "operationId": "Exchange_Post", + "x-ms-examples": { + "Exchange": { + "$ref": "./examples/Exchange.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/ExchangeOperationResultResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Location": { + "type": "string", + "description": "URL to query for the status of the operation." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AvailableScopeRequest": { + "type": "object", + "description": "Available scope", + "properties": { + "properties": { + "$ref": "#/definitions/AvailableScopeRequestProperties" + } + } + }, + "AvailableScopeRequestProperties": { + "type": "object", + "description": "Available scope request properties", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CalculateExchangeRequest": { + "type": "object", + "description": "Calculate exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/CalculateExchangeRequestProperties" + } + } + }, + "ExchangeRequest": { + "type": "object", + "description": "Exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/ExchangeRequestProperties" + } + } + }, + "CalculateExchangeRequestProperties": { + "type": "object", + "description": "Calculate exchange request properties", + "properties": { + "reservationsToPurchase": { + "type": "array", + "description": "List of reservations that are being purchased in this exchange.", + "items": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "List of reservations that are being returned in this exchange.", + "items": { + "$ref": "#/definitions/ReturnRequest" + } + } + } + }, + "ExchangeRequestProperties": { + "type": "object", + "description": "Exchange request properties", + "properties": { + "sessionId": { + "type": "string", + "description": "SessionId that was returned by CalculateExchange API." + } + } + }, + "ReturnRequest": { + "type": "object", + "description": "Return request", + "properties": { + "id": { + "type": "string", + "description": "Fully qualified identifier of the ReservationOrder being returned" + }, + "properties": { + "$ref": "#/definitions/ReturnRequestProperties" + } + } + }, + "ReturnRequestProperties": { + "type": "object", + "description": "Return request properties", + "properties": { + "scope": { + "$ref": "#/definitions/ReturnRequestScope" + }, + "reservationToReturn": { + "$ref": "#/definitions/ReservationToReturn" + } + } + }, + "ReturnRequestScope": { + "type": "string", + "description": "Indicates whether it is a reservation return or entire order return", + "enum": [ + "Reservation" + ] + }, + "ReservationToReturn": { + "type": "object", + "description": "To be present only if ReturnRequestScope = Reservation and null otherwise", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified identifier of the Reservation being returned" + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned. Must be greater than zero." + } + } + }, + "ReservationStatusCode": { + "type": "string", + "enum": [ + "None", + "Pending", + "Active", + "PurchaseError", + "PaymentInstrumentError", + "Split", + "Merged", + "Expired", + "Succeeded" + ], + "x-ms-enum": { + "name": "ReservationStatusCode", + "modelAsString": true + } + }, + "ErrorResponseCode": { + "type": "string", + "enum": [ + "NotSpecified", + "InternalServerError", + "ServerTimeout", + "AuthorizationFailed", + "BadRequest", + "ClientCertificateThumbprintNotSet", + "InvalidRequestContent", + "OperationFailed", + "HttpMethodNotSupported", + "InvalidRequestUri", + "MissingTenantId", + "InvalidTenantId", + "InvalidReservationOrderId", + "InvalidReservationId", + "ReservationIdNotInReservationOrder", + "ReservationOrderNotFound", + "InvalidSubscriptionId", + "InvalidAccessToken", + "InvalidLocationId", + "UnauthenticatedRequestsThrottled", + "InvalidHealthCheckType", + "Forbidden", + "BillingScopeIdCannotBeChanged", + "AppliedScopesNotAssociatedWithCommerceAccount", + "PatchValuesSameAsExisting", + "RoleAssignmentCreationFailed", + "ReservationOrderCreationFailed", + "ReservationOrderNotEnabled", + "CapacityUpdateScopesFailed", + "UnsupportedReservationTerm", + "ReservationOrderIdAlreadyExists", + "RiskCheckFailed", + "CreateQuoteFailed", + "ActivateQuoteFailed", + "NonsupportedAccountId", + "PaymentInstrumentNotFound", + "MissingAppliedScopesForSingle", + "NoValidReservationsToReRate", + "ReRateOnlyAllowedForEA", + "OperationCannotBePerformedInCurrentState", + "InvalidSingleAppliedScopesCount", + "InvalidFulfillmentRequestParameters", + "NotSupportedCountry", + "InvalidRefundQuantity", + "PurchaseError", + "BillingCustomerInputError", + "BillingPaymentInstrumentSoftError", + "BillingPaymentInstrumentHardError", + "BillingTransientError", + "BillingError", + "FulfillmentConfigurationError", + "FulfillmentOutOfStockError", + "FulfillmentTransientError", + "FulfillmentError", + "CalculatePriceFailed" + ], + "x-ms-enum": { + "name": "ErrorResponseCode", + "modelAsString": true + } + }, + "SkuName": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "CalculateExchangeOperationResultResponse": { + "type": "object", + "description": "CalculateExchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending" + ], + "x-ms-enum": { + "name": "CalculateExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/CalculateExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "ExchangeOperationResultResponse": { + "type": "object", + "description": "Exchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "PendingRefunds", + "PendingPurchases" + ], + "x-ms-enum": { + "name": "ExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/ExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "OperationResultError": { + "type": "object", + "description": "Required if status == failed or status == canceled.", + "properties": { + "code": { + "type": "string", + "description": "Required if status == failed or status == cancelled. If status == failed, provide an invariant error code used for error troubleshooting, aggregation, and analysis." + }, + "message": { + "type": "string", + "description": "Required if status == failed. Localized. If status == failed, provide an actionable error message indicating what error occurred, and what the user can do to address the issue." + } + } + }, + "CalculateExchangeResponseProperties": { + "type": "object", + "description": "CalculateExchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseCalculateExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangeResponseProperties": { + "type": "object", + "description": "Exchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangePolicyErrors": { + "type": "object", + "description": "Exchange policy errors", + "properties": { + "policyErrors": { + "type": "array", + "description": "Exchange Policy errors", + "items": { + "$ref": "#/definitions/ExchangePolicyError" + } + } + } + }, + "ExchangePolicyError": { + "type": "object", + "description": "error details", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ReservationToExchange": { + "type": "object", + "description": "Reservation refund details", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being returned." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned" + }, + "billingRefundAmount": { + "$ref": "#/definitions/Price" + }, + "billingInformation": { + "$ref": "#/definitions/BillingInformation" + } + } + }, + "BillingInformation": { + "type": "object", + "description": "billing information", + "properties": { + "billingCurrencyTotalPaidAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyProratedAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyRemainingCommitmentAmount": { + "$ref": "#/definitions/Price" + } + } + }, + "ReservationToPurchaseCalculateExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" + } + } + }, + "ReservationToPurchaseExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "reservationOrderId": { + "type": "string", + "description": "Fully qualified id of the ReservationOrder being purchased" + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" + } + } + }, + "Catalog": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of SKU", + "readOnly": true + }, + "billingPlans": { + "type": "object", + "description": "The billing plan options available for this SKU.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationBillingPlan" + } + } + }, + "terms": { + "type": "array", + "readOnly": true, + "description": "Available reservation terms for this resource", + "items": { + "$ref": "#/definitions/ReservationTerm" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The set of locations that the SKU is available. If not specified, the SKU is available in all locations." + } + }, + "skuProperties": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuProperty" + } + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuRestriction" + } + } + } + }, + "SkuProperty": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "description": "An invariant if the feature is measured by quantity." + } + } + }, + "SkuRestriction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction." + } + } + }, + "ReservationOrderResponse": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "etag": { + "type": "integer" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationOrderProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservations\"" + } + } + }, + "ReservationBillingPlan": { + "type": "string", + "description": "Represent the billing plans.", + "enum": [ + "Upfront", + "Monthly" + ], + "x-ms-enum": { + "name": "ReservationBillingPlan", + "modelAsString": true + } + }, + "ReservationTerm": { + "type": "string", + "description": "Represent the term of Reservation.", + "enum": [ + "P1Y", + "P3Y" + ], + "x-ms-enum": { + "name": "ReservationTerm", + "modelAsString": true + } + }, + "PaymentStatus": { + "type": "string", + "description": "Describes whether the payment is completed, failed, cancelled or scheduled in the future.", + "enum": [ + "Succeeded", + "Failed", + "Scheduled", + "Cancelled" + ], + "x-ms-enum": { + "name": "PaymentStatus", + "modelAsString": true + } + }, + "PaymentDetail": { + "type": "object", + "description": "Information about payment related to a reservation order.", + "properties": { + "dueDate": { + "type": "string", + "format": "date", + "description": "Date when the payment needs to be done." + }, + "paymentDate": { + "type": "string", + "format": "date", + "description": "Date when the transaction is completed. Is null when it is scheduled." + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount charged in Billing currency. Tax not included. Is null for future payments" + }, + "billingAccount": { + "type": "string", + "description": "Shows the Account that is charged for this payment." + }, + "status": { + "$ref": "#/definitions/PaymentStatus" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + } + } + }, + "ReservationOrderBillingPlanInformation": { + "type": "object", + "description": "Information describing the type of billing plan for this reservation.", + "properties": { + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount of money to be paid for the Order. Tax is not included." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "Date when the billing plan has started." + }, + "nextPaymentDueDate": { + "type": "string", + "format": "date", + "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off." + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ReservationOrderProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identified the reservation." + }, + "requestDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was initially requested for purchase." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was created." + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "originalQuantity": { + "$ref": "#/definitions/ReservationQuantity" + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "provisioningState": { + "type": "string", + "description": "Current state of the reservation." + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "planInformation": { + "$ref": "#/definitions/ReservationOrderBillingPlanInformation" + }, + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + } + }, + "ReservationResponse": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "readOnly": true, + "description": "The Azure Region where the reserved resource lives." + }, + "etag": { + "type": "integer" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "sku": { + "$ref": "#/definitions/SkuName" + }, + "properties": { + "$ref": "#/definitions/ReservationProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservationOrders/reservations\"" + } + } + }, + "RenewPropertiesResponse": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. This is locked price 30 days before expiry.", + "properties": { + "currencyCode": { + "type": "string" + }, + "amount": { + "type": "number" + } + } + }, + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency for renewal purchase. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string" + }, + "amount": { + "type": "number" + } + } + } + } + }, + "CalculatePriceResponse": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CalculatePriceResponseProperties" + } + } + }, + "CalculatePriceResponseProperties": { + "type": "object", + "properties": { + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string" + }, + "amount": { + "type": "number" + } + } + }, + "isBillingPartnerManaged": { + "description": "True if billing is managed by Microsoft Partner. Used only for CSP accounts.", + "type": "boolean" + }, + "reservationOrderId": { + "description": "GUID that represents reservation order that can be placed after calculating price.", + "type": "string" + }, + "skuTitle": { + "description": "Title of SKU that is being purchased.", + "type": "string" + }, + "skuDescription": { + "description": "Description of SKU that is being purchased.", + "type": "string" + }, + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string" + }, + "amount": { + "type": "number" + } + } + }, + "paymentSchedule": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ReservationProperties": { + "type": "object", + "properties": { + "reservedResourceType": { + "$ref": "#/definitions/ReservedResourceType" + }, + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + }, + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identify the reservation" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "quantity": { + "$ref": "#/definitions/ReservationQuantity" + }, + "provisioningState": { + "type": "string", + "description": "Current state of the reservation." + }, + "effectiveDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the Reservation starting when this version is effective from." + }, + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the last time the Reservation was updated.", + "readOnly": true + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "skuDescription": { + "type": "string", + "description": "Description of the SKU in english." + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "splitProperties": { + "$ref": "#/definitions/ReservationSplitProperties" + }, + "mergeProperties": { + "$ref": "#/definitions/ReservationMergeProperties" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewSource": { + "type": "string", + "description": "Reservation Id of the reservation from which this reservation is renewed. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewDestination": { + "type": "string", + "description": "Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewProperties": { + "$ref": "#/definitions/RenewPropertiesResponse" + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + } + } + }, + "ReservationSplitProperties": { + "type": "object", + "properties": { + "splitDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination Resource Id that are created due to split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "splitSource": { + "type": "string", + "description": "Resource Id of the Reservation from which this is split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationMergeProperties": { + "type": "object", + "properties": { + "mergeDestination": { + "type": "string", + "description": "Reservation Resource Id Created due to the merge. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "mergeSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource Ids of the Source Reservation's merged to form this Reservation. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "PurchaseRequestProperties": { + "type": "object", + "properties": { + "reservedResourceType": { + "$ref": "#/definitions/ReservedResourceType" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "quantity": { + "$ref": "#/definitions/ReservationQuantity" + }, + "displayName": { + "type": "string", + "description": "Friendly name of the Reservation" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "reservedResourceProperties": { + "type": "object", + "description": "Properties specific to each reserved resource type. Not required if not applicable.", + "properties": { + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + } + } + } + } + }, + "PatchProperties": { + "type": "object", + "properties": { + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + }, + "name": { + "type": "string", + "description": "Name of the Reservation" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewProperties": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" + } + } + } + } + }, + "SplitProperties": { + "type": "object", + "properties": { + "quantities": { + "type": "array", + "description": "List of the quantities in the new reservations to create.", + "items": { + "type": "integer", + "minItems": 2, + "maxItems": 2 + } + }, + "reservationId": { + "type": "string", + "description": "Resource id of the reservation to be split. Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "MergeProperties": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", + "items": { + "type": "string" + } + } + } + }, + "MergeRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MergeProperties" + } + } + }, + "PurchaseRequest": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/SkuName" + }, + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PurchaseRequestProperties" + } + } + }, + "Patch": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchProperties" + } + } + }, + "SplitRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SplitProperties" + } + } + }, + "Error": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + }, + "ExtendedErrorInfo": { + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/ErrorResponseCode" + }, + "message": { + "type": "string" + } + } + }, + "ExtendedStatusInfo": { + "type": "object", + "properties": { + "statusCode": { + "$ref": "#/definitions/ReservationStatusCode" + }, + "message": { + "type": "string", + "description": "The message giving detailed information about the status code." + } + } + }, + "ReservationOrderList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservationOrders." + } + } + }, + "ReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations." + } + } + }, + "AppliedReservations": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the applied reservations", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of resource", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of resource. \"Microsoft.Capacity/AppliedReservations\"", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AppliedReservationsProperties" + } + } + }, + "AppliedReservationsProperties": { + "type": "object", + "properties": { + "reservationOrderIds": { + "$ref": "#/definitions/AppliedReservationList" + } + } + }, + "AppliedReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string", + "description": "Reservation resource Id. \"/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}\"" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations" + } + } + }, + "OperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of items." + } + } + }, + "OperationResponse": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "type": "string" + } + } + }, + "OperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "InstanceFlexibility": { + "type": "string", + "description": "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type.", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "InstanceFlexibility", + "modelAsString": true + } + }, + "AppliedScopeType": { + "type": "string", + "description": "Type of the Applied Scope.", + "enum": [ + "Single", + "Shared" + ], + "x-ms-enum": { + "name": "AppliedScopeType", + "modelAsString": true + } + }, + "AppliedScopes": { + "type": "array", + "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.", + "items": { + "type": "string", + "minItems": 1, + "maxItems": 1 + } + }, + "BillingScopeId": { + "type": "string", + "description": "Subscription that will be charged for purchasing Reservation" + }, + "Renew": { + "type": "boolean", + "default": false, + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time." + }, + "ReservationQuantity": { + "type": "integer", + "format": "int32", + "description": "Quantity of the SKUs that are part of the Reservation. Must be greater than zero." + }, + "AvailableScopeProperties": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SubscriptionScopeProperties" + } + } + }, + "SubscriptionScopeProperties": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/ScopeProperties" + } + } + } + }, + "ScopeProperties": { + "type": "object", + "properties": { + "scope": { + "type": "string" + }, + "valid": { + "type": "boolean" + } + } + }, + "ReservedResourceType": { + "type": "string", + "description": "The type of the resource that is being reserved.", + "enum": [ + "VirtualMachines", + "SqlDatabases", + "SuseLinux", + "CosmosDb", + "RedHat", + "SqlDataWarehouse", + "VMwareCloudSimple", + "RedHatOsa", + "Databricks", + "AppService", + "ManagedDisk", + "BlockBlob", + "RedisCache", + "AzureDataExplorer", + "MySql", + "MariaDb", + "PostgreSql", + "DedicatedHost", + "SapHana", + "SqlAzureHybridBenefit" + ], + "x-ms-enum": { + "name": "ReservedResourceType", + "modelAsString": true + } + }, + "Price": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "format": "double" + } + } + } + }, + "parameters": { + "CalculateExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing purchases and refunds that need to be executed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeRequest" + } + }, + "ExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing the refunds and purchases that need to be executed.", + "schema": { + "$ref": "#/definitions/ExchangeRequest" + } + }, + "ScopeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableScopeRequest" + } + }, + "PurchaseParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for calculate or purchase reservation", + "schema": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "ReservationIdParameter": { + "name": "reservationId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the Reservation Item" + }, + "MergeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for commercial request for a reservation", + "schema": { + "$ref": "#/definitions/MergeRequest" + } + }, + "PatchParameter": { + "name": "parameters", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to patch a reservation item", + "schema": { + "$ref": "#/definitions/Patch" + } + }, + "SplitParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to Split a reservation item", + "schema": { + "$ref": "#/definitions/SplitRequest" + } + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Supported version for this document is 2020-10-01-preview", + "required": true, + "type": "string" + }, + "ExpandRenewPropertiesParameter": { + "name": "expand", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Supported value of this query is renewProperties", + "required": false, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the subscription" + }, + "ReservedResourceTypeIdParameter": { + "name": "reservedResourceType", + "x-ms-parameter-location": "method", + "in": "query", + "required": true, + "type": "string", + "description": "The type of the resource for which the skus should be provided." + }, + "LocationIdParameter": { + "name": "location", + "x-ms-parameter-location": "method", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the skus based on the location specified in this parameter. This can be an azure region or global" + }, + "ReservationOrderIdParameter": { + "name": "reservationOrderId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Order Id of the reservation" + }, + "OperationResultIdParameter": { + "name": "operationResultId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "OperationResult identifier" + } + } +} diff --git a/specification/reservations/resource-manager/readme.azureresourceschema.md b/specification/reservations/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8bdee0743c2a --- /dev/null +++ b/specification/reservations/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-capacity-2019-07-19 + - tag: schema-capacity-2019-04-01 + - tag: schema-capacity-2018-06-01 + - tag: schema-capacity-2017-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-capacity-2019-07-19 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2019-07-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2019-07-19/quota.json + +``` + +### Tag: schema-capacity-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2019-04-01/reservations.json + +``` + +### Tag: schema-capacity-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2018-06-01/reservations.json + +``` + +### Tag: schema-capacity-2017-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2017-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/stable/2017-11-01/reservations.json + +``` diff --git a/specification/reservations/resource-manager/readme.md b/specification/reservations/resource-manager/readme.md index ba15d9e95603..df5d162954de 100644 --- a/specification/reservations/resource-manager/readme.md +++ b/specification/reservations/resource-manager/readme.md @@ -26,7 +26,17 @@ These are the global settings for the Reservations API. ``` yaml openapi-type: arm -tag: package-preview-2019-07-19 +tag: package-2020-10-preview +``` + +### Tag: package-2020-10-preview + +These settings apply only when `--tag=package-2020-10-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-10-preview' +input-file: + - Microsoft.Capacity/preview/2019-07-19/quota.json + - Microsoft.Capacity/preview/2020-10-01-preview/reservations.json ``` ### Tag: package-preview-2019-07-19 @@ -81,6 +91,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js reservations/resource-manager ``` ## C# @@ -131,30 +144,7 @@ python: 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! +## AzureResourceSchema -``` 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.Capacity/preview/2019-07-19/quota.json - - $(this-folder)/Microsoft.Capacity/preview/2019-04-01/reservations.json - - $(this-folder)/Microsoft.Capacity/preview/2018-06-01/reservations.json - - $(this-folder)/Microsoft.Capacity/stable/2017-11-01/reservations.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/resourcegraph/resource-manager/readme.azureresourceschema.md b/specification/resourcegraph/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a7398d14c000 --- /dev/null +++ b/specification/resourcegraph/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-resourcegraph-2020-04-01-preview + - tag: schema-resourcegraph-2019-04-01 + - tag: schema-resourcegraph-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-resourcegraph-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json + +``` + +### Tag: schema-resourcegraph-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json + +``` + +### Tag: schema-resourcegraph-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/preview/2018-09-01-preview/resourcegraph.json + - Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json + +``` diff --git a/specification/resourcegraph/resource-manager/readme.md b/specification/resourcegraph/resource-manager/readme.md index 3c818b78b7d8..e0c9a9cb572f 100644 --- a/specification/resourcegraph/resource-manager/readme.md +++ b/specification/resourcegraph/resource-manager/readme.md @@ -84,6 +84,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js resourcegraph/resource-manager ``` ## C# @@ -129,32 +132,9 @@ directive: reason: This is a clear scenario for a boolean and will not have more than 2 values in the future. ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json - - $(this-folder)/Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json - - $(this-folder)/Microsoft.ResourceGraph/preview/2018-09-01-preview/resourcegraph.json - - $(this-folder)/Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## cli diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json index 671bd631410f..daabe2fe08bd 100644 --- a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json +++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json @@ -1372,14 +1372,16 @@ "in": "path", "required": true, "type": "string", - "description": "EventId for the Service health event" + "description": "EventId for the Service health event", + "x-ms-parameter-location": "method" }, "ViewParameter": { "name": "view", "in": "query", "required": false, "type": "string", - "description": "setting view=full expands the article parameters" + "description": "setting view=full expands the article parameters", + "x-ms-parameter-location": "method" } } } diff --git a/specification/resourcehealth/resource-manager/readme.azureresourceschema.md b/specification/resourcehealth/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cf5e58b870e5 --- /dev/null +++ b/specification/resourcehealth/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-resourcehealth-2018-08-01 + - tag: schema-resourcehealth-2018-07-01 + - tag: schema-resourcehealth-2017-07-01 + - tag: schema-resourcehealth-2015-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-resourcehealth-2018-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2018-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json + +``` + +### Tag: schema-resourcehealth-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json + +``` + +### Tag: schema-resourcehealth-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json + +``` + +### Tag: schema-resourcehealth-2015-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2015-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json + +``` diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index d13233a1b7c3..cb06b5ae582d 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -88,6 +88,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_resourcehealth'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js resourcehealth/resource-manager ``` ## Go @@ -169,30 +172,7 @@ 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.ResourceHealth/stable/2017-07-01/resourcehealth.json - - $(this-folder)/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json - - $(this-folder)/Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json - - $(this-folder)/Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_BulkRemove.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_BulkRemove.json new file mode 100644 index 000000000000..82d11f9f57bd --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_BulkRemove.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "moveCollectionName": "movecollection1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2019-10-01-preview", + "body": { + "validateOnly": false, + "moveResources": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e80eb9fa-c996-4435-aa32-5af6f3d3077c/resourceGroups/RegionMoveRG-southcentralus-southeastasia/providers/Microsoft.Migrate/MoveCollections/MoveCollection-southcentralus-southeastasia/operations/1e4193c3-206e-4916-b124-1da16175eb0e", + "name": "1e4193c3-206e-4916-b124-1da16175eb0e", + "status": "Succeeded", + "startTime": "6/17/2020 6:45:55 AM", + "endTime": "6/17/2020 6:45:56 AM", + "error": null, + "properties": {} + } + }, + "202": {} + } +} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json similarity index 77% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json index 03877882ade2..82d11f9f57bd 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Commit.json @@ -4,10 +4,12 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "api-version": "2019-10-01-preview", - "validateOnly": false, - "moveResources": [ - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" - ] + "body": { + "validateOnly": false, + "moveResources": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" + ] + } }, "responses": { "200": { diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json new file mode 100644 index 000000000000..233256c4072c --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Create.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "moveCollectionName": "movecollection1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2019-10-01-preview", + "body": { + "location": "eastus2", + "properties": { + "sourceRegion": "eastus", + "targetRegion": "westus" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "201": { + "body": { + "name": "movecollection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1", + "type": "Microsoft.Migrate/MoveCollections", + "location": "United States", + "identity": { + "type": "SystemAssigned", + "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72", + "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80" + }, + "properties": { + "sourceRegion": "eastus", + "targetRegion": "westus", + "provisioningState": "Succeeded" + } + } + }, + "200": { + "body": { + "name": "movecollection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1", + "type": "Microsoft.Migrate/MoveCollections", + "location": "United States", + "identity": { + "type": "SystemAssigned", + "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72", + "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80" + }, + "properties": { + "sourceRegion": "eastus", + "targetRegion": "westus", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Delete.json diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json similarity index 77% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json index 03877882ade2..82d11f9f57bd 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Discard.json @@ -4,10 +4,12 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "api-version": "2019-10-01-preview", - "validateOnly": false, - "moveResources": [ - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" - ] + "body": { + "validateOnly": false, + "moveResources": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" + ] + } }, "responses": { "200": { diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Get.json diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json similarity index 77% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json index 03877882ade2..82d11f9f57bd 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_InitiateMove.json @@ -4,10 +4,12 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "api-version": "2019-10-01-preview", - "validateOnly": false, - "moveResources": [ - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" - ] + "body": { + "validateOnly": false, + "moveResources": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" + ] + } }, "responses": { "200": { diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsByResourceGroup.json diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ListMoveCollectionsBySubscription.json diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json similarity index 77% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json index 03877882ade2..82d11f9f57bd 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Prepare.json @@ -4,10 +4,12 @@ "subscriptionId": "subid", "resourceGroupName": "rg1", "api-version": "2019-10-01-preview", - "validateOnly": false, - "moveResources": [ - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" - ] + "body": { + "validateOnly": false, + "moveResources": [ + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" + ] + } }, "responses": { "200": { diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json similarity index 77% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json index 85002cd1e9f3..1ed842717fa5 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_ResolveDependencies.json @@ -3,10 +3,7 @@ "moveCollectionName": "movecollection1", "subscriptionId": "subid", "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "moveResources": [ - "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" - ] + "api-version": "2019-10-01-preview" }, "responses": { "200": { diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Update.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Update.json new file mode 100644 index 000000000000..b47eb86216bb --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveCollections_Update.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "moveCollectionName": "movecollection1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "moveResourceName": "moveresourcename1", + "api-version": "2019-10-01-preview", + "body": { + "tags": { + "key1": "mc1" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "name": "movecollection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1", + "type": "Microsoft.Migrate/MoveCollections", + "location": "United States", + "identity": { + "type": "SystemAssigned", + "principalId": "7488fa50-1c8e-42c4-a117-38c8d05d8b72", + "tenantId": "cc7e5736-dbba-4059-a621-664eab9c1d80" + }, + "properties": { + "sourceRegion": "eastus", + "targetRegion": "westus", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json new file mode 100644 index 000000000000..16ab97ed9d53 --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Create.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "moveCollectionName": "movecollection1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "moveResourceName": "moveresourcename1", + "api-version": "2019-10-01-preview", + "body": { + "properties": { + "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1", + "dependsOnOverrides": [ + { + "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", + "targetId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westus/providers/Microsoft.Network/networkInterfaces/eastusvm140" + } + ], + "resourceSettings": { + "resourceType": "Microsoft.Compute/virtualMachines", + "targetResourceName": "westusvm1", + "targetAvailabilityZone": "2", + "targetVmSize": null, + "targetAvailabilitySetId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/availabilitySets/avset1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "moveresourcename1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1", + "type": "Microsoft.Migrate/MoveCollections/MoveResources", + "properties": { + "sourceId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/virtualMachines/eastusvm1", + "dependsOn": [ + { + "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", + "resolutionType": "Automatic", + "resolutionStatus": "Unresolved" + } + ], + "dependsOnOverrides": [ + { + "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", + "targetId": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westus/providers/Microsoft.Network/networkInterfaces/eastusvm140" + } + ], + "resourceSettings": { + "resourceType": "Microsoft.Compute/virtualMachines", + "targetResourceName": "westusvm1", + "targetAvailabilityZone": "2", + "targetVmSize": null, + "targetAvailabilitySetId": "/subscriptions/subid/resourceGroups/eastus/providers/Microsoft.Compute/availabilitySets/avset1" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Delete.json diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json similarity index 91% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json index 1fe7dab84fe9..4eed7124e2f9 100644 --- a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_Get.json @@ -18,7 +18,8 @@ { "id": "/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/eastus/providers/Microsoft.Network/networkInterfaces/eastusvm140", "resolutionType": "Automatic", - "resolutionStatus": "Unresolved" + "resolutionStatus": "Unresolved", + "isOptional": "false" } ] } diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/MoveResources_List.json diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json new file mode 100644 index 000000000000..b71e8c07909c --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/OperationsDiscovery_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Read", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/moveCollections", + "operation": "Read", + "description": "Reads the move collection." + }, + "origin": "user" + }, + { + "name": "Write", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/moveCollections", + "operation": "Write", + "description": "Creates or updates a move collection." + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json similarity index 100% rename from specification/regionmove/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json rename to specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/examples/UnresolvedDependencies_Get.json diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/resourcemovercollection.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/resourcemovercollection.json new file mode 100644 index 000000000000..90496e1c0ba0 --- /dev/null +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/preview/2019-10-01-preview/resourcemovercollection.json @@ -0,0 +1,2387 @@ +{ + "swagger": "2.0", + "info": { + "title": "Resource Mover Service API", + "description": "A first party Azure service orchestrating the move of Azure resources from one Azure region to another or between zones within a region.", + "version": "2019-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}": { + "put": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Create", + "description": "Creates or updates a move collection.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MoveCollection" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveCollection" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Create": { + "$ref": "./examples/MoveCollections_Create.json" + } + } + }, + "patch": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Update", + "description": "Updates a move collection.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/UpdateMoveCollectionRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Update": { + "$ref": "./examples/MoveCollections_Update.json" + } + } + }, + "delete": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Delete", + "description": "Deletes a move collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Delete": { + "$ref": "./examples/MoveCollections_Delete.json" + } + } + }, + "get": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Get", + "description": "Gets the move collection.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Get": { + "$ref": "./examples/MoveCollections_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/prepare": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Prepare", + "description": "Initiates prepare for the set of resources included in the request body. The prepare operation is on the moveResources that are in the moveState 'PreparePending' or 'PrepareFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/PrepareRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Prepare": { + "$ref": "./examples/MoveCollections_Prepare.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/initiateMove": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_InitiateMove", + "description": "Moves the set of resources included in the request body. The move operation is triggered after the moveResources are in the moveState 'MovePending' or 'MoveFailed', on a successful completion the moveResource moveState do a transition to CommitPending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/ResourceMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_InitiateMove": { + "$ref": "./examples/MoveCollections_InitiateMove.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/commit": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Commit", + "description": "Commits the set of resources included in the request body. The commit operation is triggered on the moveResources in the moveState 'CommitPending' or 'CommitFailed', on a successful completion the moveResource moveState do a transition to Committed. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/CommitRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Commit": { + "$ref": "./examples/MoveCollections_Commit.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/discard": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_Discard", + "description": "Discards the set of resources included in the request body. The discard operation is triggered on the moveResources in the moveState 'CommitPending' or 'DiscardFailed', on a successful completion the moveResource moveState do a transition to MovePending. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/DiscardRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_Discard": { + "$ref": "./examples/MoveCollections_Discard.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/resolveDependencies": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_ResolveDependencies", + "description": "Computes, resolves and validate the dependencies of the moveResources in the move collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_ResolveDependencies": { + "$ref": "./examples/MoveCollections_ResolveDependencies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources": { + "get": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveResources_List", + "description": "Lists the Move Resources in the move collection.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=Properties/ProvisioningState eq 'Succeeded'." + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/MoveResourceFilter", + "x-ms-examples": { + "MoveResources_List": { + "$ref": "./examples/MoveResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/unresolvedDependencies": { + "get": { + "tags": [ + "MoveCollections" + ], + "operationId": "UnresolvedDependencies_Get", + "description": "Gets a list of unresolved dependencies.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UnresolvedDependencyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UnresolvedDependencies_Get": { + "$ref": "./examples/UnresolvedDependencies_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/bulkRemove": { + "post": { + "tags": [ + "MoveCollections" + ], + "operationId": "MoveCollections_BulkRemove", + "description": "Removes the set of move resources included in the request body from move collection. The orchestration is done by service. To aid the user to prerequisite the operation the client can call operation with validateOnly property set to true.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "in": "path", + "name": "resourceGroupName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "moveCollectionName", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/BulkRemoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveCollections_BulkRemove": { + "$ref": "./examples/MoveCollections_BulkRemove.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections/{moveCollectionName}/moveResources/{moveResourceName}": { + "put": { + "tags": [ + "MoveResources" + ], + "operationId": "MoveResources_Create", + "description": "Creates or updates a Move Resource in the move collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/moveResourceName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MoveResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MoveResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveResources_Create": { + "$ref": "./examples/MoveResources_Create.json" + } + } + }, + "delete": { + "tags": [ + "MoveResources" + ], + "operationId": "MoveResources_Delete", + "description": "Deletes a Move Resource from the move collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/moveResourceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveResources_Delete": { + "$ref": "./examples/MoveResources_Delete.json" + } + } + }, + "get": { + "tags": [ + "MoveResources" + ], + "operationId": "MoveResources_Get", + "description": "Gets the Move Resource.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/moveCollectionName" + }, + { + "$ref": "#/parameters/moveResourceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MoveResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MoveResources_Get": { + "$ref": "./examples/MoveResources_Get.json" + } + } + } + }, + "/providers/Microsoft.Migrate/operations": { + "get": { + "tags": [ + "OperationsDiscovery" + ], + "operationId": "OperationsDiscovery_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationsDiscoveryCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OperationsDiscovery_Get": { + "$ref": "./examples/OperationsDiscovery_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Migrate/moveCollections": { + "get": { + "summary": "Get all Move Collections.", + "description": "Get all the Move Collections in the subscription.", + "operationId": "MoveCollections_ListMoveCollectionsBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/MoveCollectionResultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MoveCollections_ListMoveCollectionsBySubscription": { + "$ref": "./examples/MoveCollections_ListMoveCollectionsBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/moveCollections": { + "get": { + "summary": "Get all Move Collections.", + "description": "Get all the Move Collections in the resource group.", + "operationId": "MoveCollections_ListMoveCollectionsByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/MoveCollectionResultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MoveCollections_ListMoveCollectionsByResourceGroup": { + "$ref": "./examples/MoveCollections_ListMoveCollectionsByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "ResourceIdentityType": { + "description": "The type of identity used for the resource mover service.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "Identity": { + "description": "Defines the MSI properties of the Move Collection.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ResourceIdentityType" + }, + "principalId": { + "description": "Gets or sets the principal id.", + "type": "string" + }, + "tenantId": { + "description": "Gets or sets the tenant id.", + "type": "string" + } + } + }, + "MoveState": { + "description": "Defines the MoveResource states.", + "enum": [ + "AssignmentPending", + "PreparePending", + "PrepareInProgress", + "PrepareFailed", + "MovePending", + "MoveInProgress", + "MoveFailed", + "DiscardInProgress", + "DiscardFailed", + "CommitPending", + "CommitInProgress", + "CommitFailed", + "Committed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MoveState", + "modelAsString": true + } + }, + "MoveResourceInputType": { + "description": "Defines the move resource input type.", + "type": "string", + "enum": [ + "MoveResourceId", + "MoveResourceSourceId" + ], + "x-ms-enum": { + "name": "MoveResourceInputType", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Defines the provisioning states.", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "JobName": { + "description": "Defines the job name.", + "enum": [ + "InitialSync" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobName", + "modelAsString": true + } + }, + "JobStatus": { + "description": "Defines the job status.", + "type": "object", + "properties": { + "jobName": { + "$ref": "#/definitions/JobName" + }, + "jobProgress": { + "description": "Gets or sets the monitoring job percentage.", + "type": "string", + "readOnly": true + } + } + }, + "MoveResourceStatus": { + "description": "Defines the move resource status.", + "type": "object", + "properties": { + "moveState": { + "$ref": "#/definitions/MoveState" + }, + "jobStatus": { + "$ref": "#/definitions/JobStatus" + }, + "errors": { + "$ref": "#/definitions/MoveResourceError" + }, + "targetId": { + "description": "Gets the Target ARM Id of the resource.", + "type": "string", + "readOnly": true + } + } + }, + "ResolutionType": { + "description": "Defines the resolution type.", + "enum": [ + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ResolutionType", + "modelAsString": true + } + }, + "DependencyType": { + "description": "Defines the dependency type.", + "enum": [ + "RequiredForPrepare", + "RequiredForMove" + ], + "type": "string", + "x-ms-enum": { + "name": "DependencyType", + "modelAsString": true + } + }, + "MoveResourceDependency": { + "description": "Defines the dependency of the move resource.", + "type": "object", + "properties": { + "id": { + "description": "Gets the source ARM ID of the dependent resource.", + "type": "string" + }, + "resolutionStatus": { + "description": "Gets the dependency resolution status.", + "type": "string" + }, + "resolutionType": { + "$ref": "#/definitions/ResolutionType" + }, + "dependencyType": { + "$ref": "#/definitions/DependencyType" + }, + "manualResolution": { + "$ref": "#/definitions/ManualResolutionProperties" + }, + "automaticResolution": { + "$ref": "#/definitions/AutomaticResolutionProperties" + }, + "isOptional": { + "description": "Gets or sets a value indicating whether the dependency is optional.", + "type": "string" + } + } + }, + "MoveResourceDependencyOverride": { + "description": "Defines the dependency override of the move resource.", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the ARM ID of the dependent resource.", + "type": "string" + }, + "targetId": { + "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource.", + "type": "string" + } + } + }, + "ManualResolutionProperties": { + "description": "Defines the properties for manual resolution.", + "type": "object", + "properties": { + "targetId": { + "description": "Gets or sets the target resource ARM ID of the dependent resource if the resource type is Manual.", + "type": "string" + } + } + }, + "AutomaticResolutionProperties": { + "description": "Defines the properties for automatic resolution.", + "type": "object", + "properties": { + "moveResourceId": { + "description": "Gets the MoveResource ARM ID of\r\nthe dependent resource if the resolution type is Automatic.", + "type": "string" + } + } + }, + "MoveResourceProperties": { + "description": "Defines the move resource properties.", + "type": "object", + "required": [ + "sourceId" + ], + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "sourceId": { + "description": "Gets or sets the Source ARM Id of the resource.", + "type": "string" + }, + "targetId": { + "description": "Gets or sets the Target ARM Id of the resource.", + "type": "string", + "readOnly": true + }, + "existingTargetId": { + "description": "Gets or sets the existing target ARM Id of the resource.", + "type": "string" + }, + "resourceSettings": { + "description": "Gets or sets the resource settings.", + "$ref": "#/definitions/ResourceSettings" + }, + "sourceResourceSettings": { + "description": "Gets or sets the source resource settings.", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "readOnly": true + }, + "moveStatus": { + "description": "Defines the move resource status.", + "allOf": [ + { + "$ref": "#/definitions/MoveResourceStatus" + } + ], + "readOnly": true + }, + "dependsOn": { + "description": "Gets or sets the move resource dependencies.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MoveResourceDependency" + } + }, + "dependsOnOverrides": { + "description": "Gets or sets the move resource dependencies overrides.", + "type": "array", + "items": { + "$ref": "#/definitions/MoveResourceDependencyOverride" + } + }, + "errors": { + "description": "Defines the move resource errors.", + "allOf": [ + { + "$ref": "#/definitions/MoveResourceError" + } + ], + "readOnly": true + } + } + }, + "MoveResource": { + "description": "Defines the move resource.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "properties": { + "$ref": "#/definitions/MoveResourceProperties" + } + } + }, + "SummaryItem": { + "description": "Summary item.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Gets the count.", + "type": "integer" + }, + "item": { + "description": "Gets the item.", + "type": "string" + } + } + }, + "MoveCollectionProperties": { + "description": "Defines the move collection properties.", + "type": "object", + "required": [ + "sourceRegion", + "targetRegion" + ], + "properties": { + "sourceRegion": { + "description": "Gets or sets the source region.", + "type": "string" + }, + "targetRegion": { + "description": "Gets or sets the target region.", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + } + } + }, + "MoveCollection": { + "description": "Define the move collection.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "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." + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/MoveCollectionProperties" + } + } + }, + "UpdateMoveCollectionRequest": { + "description": "Defines the request body for updating move collection.", + "type": "object", + "properties": { + "tags": { + "description": "Gets or sets the Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/Identity" + } + } + }, + "PrepareRequest": { + "description": "Defines the request body for initiate prepare operation.", + "type": "object", + "required": [ + "moveResources" + ], + "properties": { + "validateOnly": { + "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", + "type": "boolean" + }, + "moveResources": { + "description": "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.", + "type": "array", + "items": { + "type": "string" + } + }, + "moveResourceInputType": { + "$ref": "#/definitions/MoveResourceInputType" + } + } + }, + "ResourceMoveRequest": { + "description": "Defines the request body for resource move operation.", + "type": "object", + "required": [ + "moveResources" + ], + "properties": { + "validateOnly": { + "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", + "type": "boolean" + }, + "moveResources": { + "description": "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.", + "type": "array", + "items": { + "type": "string" + } + }, + "moveResourceInputType": { + "$ref": "#/definitions/MoveResourceInputType" + } + } + }, + "CommitRequest": { + "description": "Defines the request body for commit operation.", + "type": "object", + "required": [ + "moveResources" + ], + "properties": { + "validateOnly": { + "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", + "type": "boolean" + }, + "moveResources": { + "description": "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.", + "type": "array", + "items": { + "type": "string" + } + }, + "moveResourceInputType": { + "$ref": "#/definitions/MoveResourceInputType" + } + } + }, + "DiscardRequest": { + "description": "Defines the request body for discard operation.", + "type": "object", + "required": [ + "moveResources" + ], + "properties": { + "validateOnly": { + "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", + "type": "boolean" + }, + "moveResources": { + "description": "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.", + "type": "array", + "items": { + "type": "string" + } + }, + "moveResourceInputType": { + "$ref": "#/definitions/MoveResourceInputType" + } + } + }, + "BulkRemoveRequest": { + "description": "Defines the request body for bulk remove of move resources operation.", + "type": "object", + "properties": { + "validateOnly": { + "description": "Gets or sets a value indicating whether the operation needs to only run pre-requisite.", + "type": "boolean" + }, + "moveResources": { + "description": "Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.", + "type": "array", + "items": { + "type": "string" + } + }, + "moveResourceInputType": { + "$ref": "#/definitions/MoveResourceInputType" + } + } + }, + "MoveResourceFilter": { + "description": "Move resource filter.", + "properties": { + "properties": { + "$ref": "#/definitions/MoveResourceFilterProperties" + } + } + }, + "MoveResourceFilterProperties": { + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state." + } + } + }, + "MoveResourceCollection": { + "description": "Defines the collection of move resources.", + "type": "object", + "properties": { + "value": { + "description": "Gets the list of move resources.", + "type": "array", + "items": { + "$ref": "#/definitions/MoveResource" + } + }, + "nextLink": { + "description": "Gets the value of next link.", + "type": "string" + }, + "summary": { + "description": "Gets or the list of summary items.", + "type": "array", + "items": { + "$ref": "#/definitions/SummaryItem" + } + } + } + }, + "MoveCollectionResultList": { + "description": "Defines the collection of move collections.", + "type": "object", + "properties": { + "value": { + "description": "Gets the list of move collections.", + "type": "array", + "items": { + "$ref": "#/definitions/MoveCollection" + } + }, + "nextLink": { + "description": "Gets the value of next link.", + "type": "string" + } + } + }, + "UnresolvedDependency": { + "description": "Unresolved dependency.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Gets or sets the count.", + "type": "integer" + }, + "id": { + "description": "Gets or sets the arm id of the dependency.", + "type": "string" + } + } + }, + "UnresolvedDependencyCollection": { + "description": "Unresolved dependency collection.", + "type": "object", + "properties": { + "value": { + "description": "Gets or sets the list of unresolved dependencies.", + "type": "array", + "items": { + "$ref": "#/definitions/UnresolvedDependency" + } + }, + "nextLink": { + "description": "Gets or sets the value of next link.", + "type": "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation / action. These\r\nvalue will be used by several clients for\r\n(1) custom role definitions for RBAC;\r\n(2) complex query filters for the event service; and\r\n(3) audit history / records for management operations.", + "type": "object", + "properties": { + "provider": { + "description": "Gets or sets the provider.\r\nThe localized friendly form of the resource provider name – it is expected to also\r\ninclude the publisher/company responsible.\r\nIt should use Title Casing and begin with \"Microsoft\" for 1st party services.\r\ne.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".", + "type": "string" + }, + "resource": { + "description": "Gets or sets the resource.\r\nThe localized friendly form of the resource related to this action/operation – it\r\nshould match the public documentation for the resource provider.\r\nIt should use Title Casing.\r\nThis value should be unique for a particular URL type (e.g. nested types should *not*\r\nreuse their parent’s display.resource field)\r\ne.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\"\r\nor \"Scheduler Jobs\".", + "type": "string" + }, + "operation": { + "description": "Gets or sets the operation.\r\nThe localized friendly name for the operation, as it should be shown to the user.\r\nIt should be concise (to fit in drop downs) but clear (i.e. self-documenting).\r\nIt should use Title Casing.\r\nPrescriptive guidance: Read Create or Update Delete 'ActionName'.", + "type": "string" + }, + "description": { + "description": "Gets or sets the description.\r\nThe localized friendly description for the operation, as it should be shown to the\r\nuser.\r\nIt should be thorough, yet concise – it will be used in tool tips and detailed views.\r\nPrescriptive guidance for namespace:\r\nRead any 'display.provider' resource\r\nCreate or Update any 'display.provider' resource\r\nDelete any 'display.provider' resource\r\nPerform any other action on any 'display.provider' resource\r\nPrescriptive guidance for namespace:\r\nRead any 'display.resource' Create or Update any 'display.resource' Delete any\r\n 'display.resource' 'ActionName' any 'display.resources'.", + "type": "string" + } + } + }, + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object" + }, + "OperationsDiscovery": { + "description": "Operations discovery class.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets Name of the API.\r\nThe name of the operation being performed on this particular object. It should\r\nmatch the action name that appears in RBAC / the event service.\r\nExamples of operations include:\r\n* Microsoft.Compute/virtualMachine/capture/action\r\n* Microsoft.Compute/virtualMachine/restart/action\r\n* Microsoft.Compute/virtualMachine/write\r\n* Microsoft.Compute/virtualMachine/read\r\n* Microsoft.Compute/virtualMachine/delete\r\nEach action should include, in order:\r\n(1) Resource Provider Namespace\r\n(2) Type hierarchy for which the action applies (e.g. server/databases for a SQL\r\nAzure database)\r\n(3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH\r\non a collection or named value, Write should be used.\r\nIf it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it\r\nis a POST, Action should be used.\r\nAs a note: all resource providers would need to include the \"{Resource Provider\r\nNamespace}/register/action\" operation in their response.\r\nThis API is used to register for their service, and should include details about the\r\noperation (e.g. a localized name for the resource provider + any special\r\nconsiderations like PII release).", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/Display" + }, + "origin": { + "description": "Gets or sets Origin.\r\nThe intended executor of the operation; governs the display of the operation in the\r\nRBAC UX and the audit logs UX.\r\nDefault value is \"user,system\".", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationsDiscoveryProperties" + } + } + }, + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", + "type": "object", + "properties": { + "value": { + "description": "Gets or sets the ClientDiscovery details.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDiscovery" + } + }, + "nextLink": { + "description": "Gets or sets the value of next link.", + "type": "string" + } + } + }, + "MoveResourceError": { + "properties": { + "properties": { + "type": "object", + "description": "The move resource error body.", + "$ref": "#/definitions/MoveResourceErrorBody" + } + }, + "description": "An error response from the azure resource mover service." + }, + "MoveResourceErrorBody": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "readOnly": true, + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MoveResourceErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Azure Migrate service." + }, + "ResourceSettings": { + "description": "Gets or sets the resource settings.", + "type": "object", + "required": [ + "resourceType", + "targetResourceName" + ], + "properties": { + "resourceType": { + "description": "The resource type. For example, the value can be Microsoft.Compute/virtualMachines.", + "type": "string" + }, + "targetResourceName": { + "description": "Gets or sets the target Resource name.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "VirtualMachineResourceSettings": { + "description": "Gets or sets the virtual machine resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "targetAvailabilityZone": { + "description": "Gets or sets the target availability zone.", + "type": "string", + "enum": [ + "1", + "2", + "3", + "NA" + ], + "x-ms-enum": { + "name": "TargetAvailabilityZone", + "modelAsString": true + } + }, + "targetVmSize": { + "description": "Gets or sets the target virtual machine size.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "Gets or sets the target availability set id for virtual machines not in an availability set at source.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AvailabilitySetResourceSettings": { + "description": "Gets or sets the availability set resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "faultDomain": { + "description": "Gets or sets the target fault domain.", + "type": "integer", + "format": "int32", + "minimum": 1, + "x-nullable": true + }, + "updateDomain": { + "description": "Gets or sets the target update domain.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-nullable": true + } + }, + "x-ms-discriminator-value": "Microsoft.Compute/availabilitySets" + }, + "SubnetResourceSettings": { + "description": "Defines the virtual network subnets resource settings.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the Subnet name.", + "type": "string" + }, + "addressPrefix": { + "description": "Gets or sets address prefix for the subnet.", + "type": "string" + } + } + }, + "VirtualNetworkResourceSettings": { + "description": "Defines the virtual network resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "enableDdosProtection": { + "description": "Gets or sets a value indicating whether gets or sets whether the\r\nDDOS protection should be switched on.", + "type": "boolean", + "x-nullable": true + }, + "addressSpace": { + "description": "Gets or sets the address prefixes for the virtual network.", + "type": "array", + "items": { + "type": "string" + } + }, + "dnsServers": { + "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs\r\ndeployed in the virtual network.", + "type": "array", + "items": { + "type": "string" + } + }, + "subnets": { + "description": "Gets or sets List of subnets in a VirtualNetwork.", + "type": "array", + "items": { + "$ref": "#/definitions/SubnetResourceSettings" + } + } + }, + "x-ms-discriminator-value": "Microsoft.Network/virtualNetworks" + }, + "AzureResourceReference": { + "description": "Defines reference to an Azure resource.", + "required": [ + "sourceArmResourceId" + ], + "type": "object", + "properties": { + "sourceArmResourceId": { + "description": "Gets the ARM resource ID of the tracked resource being referenced.", + "type": "string" + } + } + }, + "ProxyResourceReference": { + "description": "Defines reference to a proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceReference" + } + ], + "properties": { + "name": { + "description": "Gets the name of the proxy resource on the target side.", + "type": "string" + } + } + }, + "NetworkInterfaceResourceSettings": { + "description": "Defines the network interface resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "ipConfigurations": { + "description": "Gets or sets the IP configurations of the NIC.", + "type": "array", + "items": { + "$ref": "#/definitions/NicIpConfigurationResourceSettings" + } + }, + "enableAcceleratedNetworking": { + "description": "Gets or sets a value indicating whether accelerated networking is enabled.", + "type": "boolean", + "x-nullable": true + } + }, + "x-ms-discriminator-value": "Microsoft.Network/networkInterfaces" + }, + "SubnetReference": { + "description": "Defines reference to subnet.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResourceReference" + } + ], + "properties": {} + }, + "LoadBalancerBackendAddressPoolReference": { + "description": "Defines reference to load balancer backend address pools.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResourceReference" + } + ], + "properties": {} + }, + "LoadBalancerNatRuleReference": { + "description": "Defines reference to load balancer NAT rules.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResourceReference" + } + ], + "properties": {} + }, + "NicIpConfigurationResourceSettings": { + "description": "Defines NIC IP configuration properties.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the IP configuration name.", + "type": "string" + }, + "privateIpAddress": { + "description": "Gets or sets the private IP address of the network interface IP Configuration.", + "type": "string" + }, + "privateIpAllocationMethod": { + "description": "Gets or sets the private IP address allocation method.", + "type": "string" + }, + "subnet": { + "$ref": "#/definitions/SubnetReference" + }, + "primary": { + "description": "Gets or sets a value indicating whether this IP configuration is the primary.", + "type": "boolean" + }, + "loadBalancerBackendAddressPools": { + "description": "Gets or sets the references of the load balancer backend address pools.", + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference" + } + } + } + }, + "NsgSecurityRule": { + "description": "Security Rule data model for Network Security Groups.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the Security rule name.", + "type": "string" + }, + "access": { + "description": "Gets or sets whether network traffic is allowed or denied.\r\nPossible values are “Allow” and “Deny”.", + "type": "string" + }, + "description": { + "description": "Gets or sets a description for this rule. Restricted to 140 chars.", + "type": "string" + }, + "destinationAddressPrefix": { + "description": "Gets or sets destination address prefix. CIDR or source IP range.\r\n A “*” can also be used to match all source IPs. Default tags such\r\nas ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used.", + "type": "string" + }, + "destinationPortRange": { + "description": "Gets or sets Destination Port or Range. Integer or range between\r\n0 and 65535. A “*” can also be used to match all ports.", + "type": "string" + }, + "direction": { + "description": "Gets or sets the direction of the rule.InBound or Outbound. The\r\ndirection specifies if rule will be evaluated on incoming or outgoing traffic.", + "type": "string" + }, + "priority": { + "format": "int32", + "description": "Gets or sets the priority of the rule. The value can be between\r\n100 and 4096. The priority number must be unique for each rule in the collection.\r\nThe lower the priority number, the higher the priority of the rule.", + "type": "integer" + }, + "protocol": { + "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*).", + "type": "string" + }, + "sourceAddressPrefix": { + "description": "Gets or sets source address prefix. CIDR or source IP range. A\r\n“*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’,\r\n‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress\r\nrule, specifies where network traffic originates from.", + "type": "string" + }, + "sourcePortRange": { + "description": "Gets or sets Source Port or Range. Integer or range between 0 and\r\n65535. A “*” can also be used to match all ports.", + "type": "string" + } + } + }, + "NetworkSecurityGroupResourceSettings": { + "description": "Defines the NSG resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "securityRules": { + "description": "Gets or sets Security rules of network security group.", + "type": "array", + "items": { + "$ref": "#/definitions/NsgSecurityRule" + } + } + }, + "x-ms-discriminator-value": "Microsoft.Network/networkSecurityGroups" + }, + "LBFrontendIPConfigurationResourceSettings": { + "description": "Defines load balancer frontend IP configuration properties.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the frontend IP configuration name.", + "type": "string" + }, + "privateIpAddress": { + "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific\r\nprivate IP address shall be allocated from the subnet specified in subnetRef.", + "type": "string" + }, + "privateIpAllocationMethod": { + "description": "Gets or sets PrivateIP allocation method (Static/Dynamic).", + "type": "string" + }, + "subnet": { + "$ref": "#/definitions/SubnetReference" + }, + "zones": { + "description": "Gets or sets the csv list of zones.", + "type": "string" + } + } + }, + "LBBackendAddressPoolResourceSettings": { + "description": "Defines load balancer backend address pool properties.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the backend address pool name.", + "type": "string" + } + } + }, + "LoadBalancerResourceSettings": { + "description": "Defines the load balancer resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "sku": { + "description": "Gets or sets load balancer sku (Basic/Standard).", + "type": "string" + }, + "frontendIPConfigurations": { + "description": "Gets or sets the frontend IP configurations of the load balancer.", + "type": "array", + "items": { + "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings" + } + }, + "backendAddressPools": { + "description": "Gets or sets the backend address pools of the load balancer.", + "type": "array", + "items": { + "$ref": "#/definitions/LBBackendAddressPoolResourceSettings" + } + }, + "zones": { + "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Microsoft.Network/loadBalancers" + }, + "SqlServerResourceSettings": { + "description": "Defines the SQL Server resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "Microsoft.Sql/servers" + }, + "ZoneRedundant": { + "description": "Defines the zone redundant resource setting.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundant", + "modelAsString": true + } + }, + "SqlElasticPoolResourceSettings": { + "description": "Defines the Sql ElasticPool resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "zoneRedundant": { + "$ref": "#/definitions/ZoneRedundant" + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/elasticPools" + }, + "SqlDatabaseResourceSettings": { + "description": "Defines the Sql Database resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "zoneRedundant": { + "$ref": "#/definitions/ZoneRedundant" + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "ResourceGroupResourceSettings": { + "description": "Defines the resource group resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "resourceGroups" + }, + "PublicIPAddressResourceSettings": { + "description": "Defines the public IP address resource settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceSettings" + } + ], + "properties": { + "domainNameLabel": { + "description": "Gets or sets the domain name label.", + "type": "string" + }, + "fQDN": { + "description": "Gets or sets the fully qualified domain name.", + "type": "string" + }, + "publicIpAllocationMethod": { + "description": "Gets or sets public IP allocation method.", + "type": "string" + }, + "sku": { + "description": "Gets or sets public IP sku.", + "type": "string" + }, + "zones": { + "description": "Gets or sets public IP zones.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Microsoft.Network/publicIPAddresses" + }, + "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." + }, + "OperationStatus": { + "description": "Operation status REST resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Operation name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the operation. ARM expects the terminal status to be one of Succeeded/ Failed/ Canceled. All other values imply that the operation is still running.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time.", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "End time.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error stating all error details for the operation.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationStatusProperties", + "description": "Custom data.", + "readOnly": true + } + } + }, + "OperationStatusError": { + "description": "Class for operation status errors.", + "type": "object", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "details": { + "readOnly": true, + "type": "array", + "description": "The error details.", + "items": { + "$ref": "#/definitions/OperationStatusError" + } + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "description": "The additional info.", + "items": { + "$ref": "#/definitions/OperationErrorAdditionalInfo" + } + } + } + }, + "OperationStatusProperties": { + "description": "Class for operation result properties.", + "type": "object", + "properties": {} + }, + "OperationErrorAdditionalInfo": { + "description": "The operation error info.", + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The error type." + }, + "info": { + "readOnly": true, + "$ref": "#/definitions/MoveErrorInfo", + "description": "The operation error info." + } + } + }, + "MoveErrorInfo": { + "description": "The move custom error info.", + "type": "object", + "properties": { + "moveResources": { + "readOnly": true, + "type": "array", + "description": "The affected move resources.", + "items": { + "$ref": "#/definitions/AffectedMoveResource" + } + } + } + }, + "AffectedMoveResource": { + "description": "The RP custom operation error info.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The affected move resource id." + }, + "sourceId": { + "readOnly": true, + "type": "string", + "description": "The affected move resource source id." + }, + "moveResources": { + "readOnly": true, + "type": "array", + "description": "The affected move resources.", + "items": { + "$ref": "#/definitions/AffectedMoveResource" + } + } + } + } + }, + "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" + }, + "moveCollectionName": { + "in": "path", + "name": "moveCollectionName", + "description": "The Move Collection Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "moveResourceName": { + "in": "path", + "name": "moveResourceName", + "description": "The Move Resource Name.", + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/resourcemover/resource-manager/readme.azureresourceschema.md b/specification/resourcemover/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7c95e06ea160 --- /dev/null +++ b/specification/resourcemover/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-migrate-2019-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-migrate-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/preview/2019-10-01-preview/resourcemovercollection.json + +``` diff --git a/specification/resourcemover/resource-manager/readme.csharp.md b/specification/resourcemover/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..b7f74831a8c8 --- /dev/null +++ b/specification/resourcemover/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.Migrate.ResourceMover + output-folder: $(csharp-sdks-folder)/resourcemover/Microsoft.Azure.Management.Migrate/src/Generated +``` diff --git a/specification/resourcemover/resource-manager/readme.go.md b/specification/resourcemover/resource-manager/readme.go.md new file mode 100644 index 000000000000..a1604f9f508a --- /dev/null +++ b/specification/resourcemover/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 + namespace: resourcemover + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-10-01-preview +``` + +### Tag: package-2019-10-01-preview and go + +These settings apply only when `--tag=package-2019-10-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2019-10-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-10-01-preview/$(namespace) +``` diff --git a/specification/resourcemover/resource-manager/readme.md b/specification/resourcemover/resource-manager/readme.md new file mode 100644 index 000000000000..4b90d3d5e982 --- /dev/null +++ b/specification/resourcemover/resource-manager/readme.md @@ -0,0 +1,89 @@ +# regionmove + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for regionmove. + +## 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 regionmove. + +```yaml +openapi-type: arm +tag: package-2019-10-01-preview +``` + +### Tag: package-2019-10-01-preview + +These settings apply only when `--tag=package-2019-10-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2019-10-01-preview' +input-file: + - Microsoft.Migrate/preview/2019-10-01-preview/resourcemovercollection.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 + - 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_resourcemover'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js regionmove/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) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + + diff --git a/specification/resourcemover/resource-manager/readme.python.md b/specification/resourcemover/resource-manager/readme.python.md new file mode 100644 index 000000000000..fc7f313f9e22 --- /dev/null +++ b/specification/resourcemover/resource-manager/readme.python.md @@ -0,0 +1,35 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) && !$(track2) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.resourcemover + package-name: azure-mgmt-resourcemover + package-version: 0.1.0-preview + clear-output-folder: true +``` + +```yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-resourcemover +clear-output-folder: true +no-namespace-folders: true +package-version: 0.1.0-preview +``` + +```yaml $(python) && $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover/azure/mgmt/resourcemover +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover +``` diff --git a/specification/regionmove/resource-manager/readme.ruby.md b/specification/resourcemover/resource-manager/readme.ruby.md similarity index 100% rename from specification/regionmove/resource-manager/readme.ruby.md rename to specification/resourcemover/resource-manager/readme.ruby.md diff --git a/specification/regionmove/resource-manager/readme.typescript.md b/specification/resourcemover/resource-manager/readme.typescript.md similarity index 100% rename from specification/regionmove/resource-manager/readme.typescript.md rename to specification/resourcemover/resource-manager/readme.typescript.md diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json new file mode 100644 index 000000000000..5f300513bd45 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T01:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + }, + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json new file mode 100644 index 000000000000..7268b4d04093 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json new file mode 100644 index 000000000000..38fc34650a1f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json new file mode 100644 index 000000000000..77598424b706 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "managementGroupId": "DevOrg", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/ResearchBudgetExemption", + "type": "Microsoft.Authorization/policyExemptions", + "name": "ResearchBudgetExemption" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/VNetIsMonitored", + "type": "Microsoft.Authorization/policyExemptions", + "name": "VNetIsMonitored" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json new file mode 100644 index 000000000000..7efd27f5ad38 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "resourceGroupName": "TestResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourcePath": "virtualMachines/MyTestVm", + "resourceType": "domainNames", + "resourceName": "MyTestComputer.cloudapp.net", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVMGroup", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVMGroup" + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Compute/virtualMachines/MyTestVm/providers/Microsoft.Authorization/policyExemptions/jumpBoxExemption", + "type": "Microsoft.Authorization/policyExemptions", + "name": "jumpBoxExemption" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json new file mode 100644 index 000000000000..7cac005fa471 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "resourceGroupName": "TestResourceGroup", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVMSub" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/TestVNetRG", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVNetRG" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json new file mode 100644 index 000000000000..aefef89332a2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVMSub" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVNetSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVNetSub" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json new file mode 100644 index 000000000000..700a24a29b80 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json @@ -0,0 +1,548 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-07-01-preview", + "description": "To exempt your resources from policy evaluation and non-compliance state, you can create an exemption at a scope." + }, + "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.Authorization/policyExemptions/{policyExemptionName}": { + "delete": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_Delete", + "summary": "Deletes a policy exemption.", + "description": "This operation deletes a policy exemption, given its name and the scope it was created in. The scope of a policy exemption is the part of its ID preceding '/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}'.", + "x-ms-examples": { + "Delete a policy exemption": { + "$ref": "./examples/deletePolicyExemption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content - the policy exemption doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_CreateOrUpdate", + "summary": "Creates or updates a policy exemption.", + "description": " This operation creates or updates a policy exemption with the given scope and name. Policy exemptions apply to all resources contained within their scope. For example, when you create a policy exemption at resource group scope for a policy assignment at the same or above level, the exemption exempts to all applicable resources in the resource group.", + "x-ms-examples": { + "Create or update a policy exemption": { + "$ref": "./examples/createOrUpdatePolicyExemption.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyExemption" + }, + "description": "Parameters for the policy exemption." + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the updated policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "201": { + "description": "Created - Returns information about the new policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_Get", + "summary": "Retrieves a policy exemption.", + "description": "This operation retrieves a single policy exemption, given its name and the scope it was created at.", + "x-ms-examples": { + "Retrieve a policy exemption": { + "$ref": "./examples/getPolicyExemption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_List", + "summary": "Retrieves all policy exemptions that apply to a subscription.", + "description": "This operation retrieves the list of all policy exemptions associated with the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the subscription, including those that apply directly or from management groups that contain the given subscription, as well as any applied to objects contained within the subscription.", + "x-ms-examples": { + "List policy exemptions that apply to a subscription": { + "$ref": "./examples/listPolicyExemptionsForSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForResourceGroup", + "summary": "Retrieves all policy exemptions that apply to a resource group.", + "description": "This operation retrieves the list of all policy exemptions associated with the given resource group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource group, including those that apply directly or apply from containing scopes, as well as any applied to resources contained within the resource group.", + "x-ms-examples": { + "List policy exemptions that apply to a resource group": { + "$ref": "./examples/listPolicyExemptionsForResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForResource", + "summary": "Retrieves all policy exemptions that apply to a resource.", + "description": "This operation retrieves the list of all policy exemptions associated with the specified resource in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource, including those that apply directly or from all containing scopes, as well as any applied to resources contained within the resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not part of a parent resource (the more common case), the parent resource path should not be provided (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').", + "x-ms-examples": { + "List all policy exemptions that apply to a resource": { + "$ref": "./examples/listPolicyExemptionsForResource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider. For example, the namespace of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)" + }, + { + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource path. Use empty string if there is none.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForManagementGroup", + "summary": "Retrieves all policy exemptions that apply to a management group.", + "description": "This operation retrieves the list of all policy exemptions applicable to the management group that match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the returned list includes all policy exemptions that are assigned to the management group or the management group's ancestors.", + "x-ms-examples": { + "List policy exemptions that apply to a management group": { + "$ref": "./examples/listPolicyExemptionsForManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyExemptionProperties": { + "required": [ + "policyAssignmentId", + "exemptionCategory" + ], + "properties": { + "policyAssignmentId": { + "type": "string", + "description": "The ID of the policy assignment that is being exempted." + }, + "policyDefinitionReferenceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition." + }, + "exemptionCategory": { + "type": "string", + "description": "The policy exemption category. Possible values are Waiver and Mitigated.", + "enum": [ + "Waiver", + "Mitigated" + ], + "x-ms-enum": { + "name": "exemptionCategory", + "modelAsString": true, + "values": [ + { + "value": "Waiver", + "description": "This category of exemptions usually means the scope is not applicable for the policy." + }, + { + "value": "Mitigated", + "description": "This category of exemptions usually means the mitigation actions have been applied to the scope." + } + ] + } + }, + "expiresOn": { + "type": "string", + "format": "date-time", + "description": "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy exemption." + }, + "description": { + "type": "string", + "description": "The description of the policy exemption." + }, + "metadata": { + "type": "object", + "description": "The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs." + } + }, + "description": "The policy exemption properties." + }, + "PolicyExemption": { + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyExemptionProperties", + "description": "Properties for the policy exemption." + }, + "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" + } + }, + "description": "The policy exemption.", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "PolicyExemptionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyExemption" + }, + "description": "An array of policy exemptions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy exemptions." + } + }, + "parameters": { + "PolicyExemptionNameParameter": { + "name": "policyExemptionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy exemption to delete.", + "x-ms-parameter-location": "method" + }, + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy exemption. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-parameter-location": "client" + }, + "PolicyExemptionFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json new file mode 100644 index 000000000000..b8bb20fa87dc --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "All", + "displayName": "Enforce resource naming convention", + "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json new file mode 100644 index 000000000000..85f7ae30160c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "EventHubDiagnosticLogs", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "Indexed", + "displayName": "Event Hubs should have diagnostic logging enabled", + "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised", + "metadata": { + "category": "Event Hub" + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.EventHub/namespaces" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Insights/diagnosticSettings", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled", + "equals": "true" + }, + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days", + "equals": "[parameters('requiredRetentionDays')]" + } + ] + } + } + } + }, + "parameters": { + "requiredRetentionDays": { + "type": "Integer", + "defaultValue": 365, + "allowedValues": [ + 0, + 30, + 90, + 180, + 365 + ], + "metadata": { + "displayName": "Required retention (days)", + "description": "The required diagnostic logs retention in days" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "Indexed", + "displayName": "Event Hubs should have diagnostic logging enabled", + "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised", + "metadata": { + "category": "Event Hub" + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.EventHub/namespaces" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Insights/diagnosticSettings", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled", + "equals": "true" + }, + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days", + "equals": "[parameters('requiredRetentionDays')]" + } + ] + } + } + } + }, + "parameters": { + "requiredRetentionDays": { + "type": "Integer", + "defaultValue": 365, + "allowedValues": [ + 0, + 30, + 90, + 180, + 365 + ], + "metadata": { + "displayName": "Required retention (days)", + "description": "The required diagnostic logs retention in days" + } + } + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..26b63677103c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "All", + "displayName": "Enforce resource naming convention", + "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json new file mode 100644 index 000000000000..192c14c9bbb7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..d02bb67920b0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json new file mode 100644 index 000000000000..cb342eabac93 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json new file mode 100644 index 000000000000..dda66bddb6e8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json new file mode 100644 index 000000000000..73965f4fef9e --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json new file mode 100644 index 000000000000..96578065dbb7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json new file mode 100644 index 000000000000..d6857b62d24c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "location": "eastus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Foo Bar" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "eastus", + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json new file mode 100644 index 000000000000..9b8ba13a4ae7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01", + "parameters": { + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "eastus", + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json new file mode 100644 index 000000000000..b6de8e600de1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "DoNotEnforce" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "DoNotEnforce", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json new file mode 100644 index 000000000000..7614d3c2a179 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json new file mode 100644 index 000000000000..49f0fb6a0d24 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json new file mode 100644 index 000000000000..83e0c833f191 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..c2fa27ccb2ab --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json new file mode 100644 index 000000000000..9d47d8fa854d --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..884a346377a7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json new file mode 100644 index 000000000000..e6ab99bb6126 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json new file mode 100644 index 000000000000..3c2488287bf6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "7433c107-6db4-4ad1-b57a-a76dce0154a1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json new file mode 100644 index 000000000000..4d7d69c424de --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json new file mode 100644 index 000000000000..3d091bf4ea3e --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json new file mode 100644 index 000000000000..2abd8165d968 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "westus", + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json new file mode 100644 index 000000000000..dbaf21cc4b8f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "westus", + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json new file mode 100644 index 000000000000..489cdf57a492 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..ea65d3e15af0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json new file mode 100644 index 000000000000..c1e6f509e3f2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..1007e2d04cd5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json new file mode 100644 index 000000000000..5908afc59f12 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Audit SQL DB Level Audit Setting", + "policyType": "BuiltIn", + "description": "Audit DB level audit setting for SQL databases", + "parameters": { + "setting": { + "type": "String", + "metadata": { + "displayName": "Audit Setting" + }, + "allowedValues": [ + "enabled", + "disabled" + ] + } + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.Sql/servers/databases" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "name": "default", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Sql/auditingSettings.state", + "equals": "[parameters('setting')]" + } + ] + } + } + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a12", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "06a78e20-9358-41c9-923c-fb736d382a12" + }, + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "Static", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "properties": { + "mode": "Microsoft.KeyVault.Data", + "displayName": "Audit KeyVault certificates that expire within specified number of days", + "policyType": "BuiltIn", + "description": "Audit certificates that are stored in Azure Key Vault, that expire within 'X' number of days.", + "metadata": { + "category": "KeyVault DataPlane" + }, + "parameters": { + "daysToExpire": { + "type": "Integer", + "metadata": { + "displayName": "Days to expire", + "description": "The number of days for a certificate to expire." + } + } + }, + "policyRule": { + "if": { + "field": "Microsoft.KeyVault.Data/vaults/certificates/attributes/expiresOn", + "lessOrEquals": "[addDays(utcNow(), parameters('daysToExpire'))]" + }, + "then": { + "effect": "audit" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/abeed54a-73c5-441d-8a8c-6b5e7a0c299e", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "abeed54a-73c5-441d-8a8c-6b5e7a0c299e" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json new file mode 100644 index 000000000000..4618f3924e68 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json new file mode 100644 index 000000000000..2e56dc6ed80c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "CostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/TagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TagEnforcement", + "properties": { + "displayName": "Enforces a tag key and value", + "description": "Ensure a given tag key and value are present on all resources", + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json new file mode 100644 index 000000000000..f21c71d58a00 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "managementGroupId": "TestManagementGroup", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", + "notScopes": [] + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "displayName": "Enforces a tag key and value", + "description": "Ensure a given tag key and value are present on all resources", + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", + "notScopes": [] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json new file mode 100644 index 000000000000..e7d69e76b2b8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "TestResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourcePath": "virtualMachines/MyTestVm", + "resourceType": "domainNames", + "resourceName": "MyTestComputer.cloudapp.net", + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "VM Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/vmSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "displayName": "Enforces a tag key and value", + "description": "Ensure a given tag key and value are present on all resources", + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json new file mode 100644 index 000000000000..848c5c18ed8d --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "TestResourceGroup", + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "displayName": "Enforces a tag key and value", + "description": "Ensure a given tag key and value are present on all resources", + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json new file mode 100644 index 000000000000..68e3f93af81f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming" + }, + { + "properties": { + "mode": "Microsoft.KeyVault.Data", + "displayName": "Audit KeyVault certificates that expire within specified number of days", + "description": "Audit certificates that are stored in Azure Key Vault, that expire within 'X' number of days.", + "metadata": { + "category": "KeyVault DataPlane" + }, + "parameters": { + "daysToExpire": { + "type": "Integer", + "metadata": { + "displayName": "Days to expire", + "description": "The number of days for a certificate to expire." + } + } + }, + "policyRule": { + "if": { + "field": "Microsoft.KeyVault.Data/vaults/certificates/attributes/expiresOn", + "lessOrEquals": "[addDays(utcNow(), parameters('daysToExpire'))]" + }, + "then": { + "effect": "audit" + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/AuditSoonToExpireCerts", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "AuditSoonToExpireCerts" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json new file mode 100644 index 000000000000..67b006374edc --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json new file mode 100644 index 000000000000..9d85f01819c8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json new file mode 100644 index 000000000000..ff6e088e564c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json new file mode 100644 index 000000000000..40ef7e6e052f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json @@ -0,0 +1,811 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "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.Authorization/policyAssignments/{policyAssignmentName}": { + "delete": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Delete", + "summary": "Deletes a policy assignment.", + "description": "This operation deletes a policy assignment, given its name and the scope it was created in. The scope of a policy assignment is the part of its ID preceding '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-examples": { + "Delete a policy assignment": { + "$ref": "./examples/deletePolicyAssignment.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deleted assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "204": { + "description": "No Content - the policy assignment doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Create", + "summary": "Creates or updates a policy assignment.", + "description": " This operation creates or updates a policy assignment with the given scope and name. Policy assignments apply to all resources contained within their scope. For example, when you assign a policy at resource group scope, that policy applies to all resources in the group.", + "x-ms-examples": { + "Create or update a policy assignment": { + "$ref": "./examples/createPolicyAssignment.json" + }, + "Create or update a policy assignment with a managed identity": { + "$ref": "./examples/createPolicyAssignmentWithIdentity.json" + }, + "Create or update a policy assignment without enforcing policy effect during resource creation or update.": { + "$ref": "./examples/createPolicyAssignmentWithoutEnforcement.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "Parameters for the policy assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the new policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Get", + "summary": "Retrieves a policy assignment.", + "description": "This operation retrieves a single policy assignment, given its name and the scope it was created at.", + "x-ms-examples": { + "Retrieve a policy assignment": { + "$ref": "./examples/getPolicyAssignment.json" + }, + "Retrieve a policy assignment with a managed identity": { + "$ref": "./examples/getPolicyAssignmentWithIdentity.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForResourceGroup", + "summary": "Retrieves all policy assignments that apply to a resource group.", + "description": "This operation retrieves the list of all policy assignments associated with the given resource group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the resource group, including those that apply directly or apply from containing scopes, as well as any applied to resources contained within the resource group. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the resource group, which is everything in the unfiltered list except those applied to resources contained within the resource group. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the resource group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the resource group.", + "x-ms-examples": { + "List policy assignments that apply to a resource group": { + "$ref": "./examples/listPolicyAssignmentsForResourceGroup.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains policy assignments.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForResource", + "summary": "Retrieves all policy assignments that apply to a resource.", + "description": "This operation retrieves the list of all policy assignments associated with the specified resource in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the resource, including those that apply directly or from all containing scopes, as well as any applied to resources contained within the resource. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the resource, which is everything in the unfiltered list except those applied to resources contained within the resource. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the resource level. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not part of a parent resource (the more common case), the parent resource path should not be provided (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').", + "deprecated": false, + "x-ms-examples": { + "List all policy assignments that apply to a resource": { + "$ref": "./examples/listPolicyAssignmentsForResource.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider. For example, the namespace of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)" + }, + { + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource path. Use empty string if there is none.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/PolicyAssignment" + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForManagementGroup", + "summary": "Retrieves all policy assignments that apply to a management group.", + "description": "This operation retrieves the list of all policy assignments applicable to the management group that match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all policy assignments that are assigned to the management group or the management group's ancestors. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the management group.", + "x-ms-examples": { + "List policy assignments that apply to a management group": { + "$ref": "./examples/listPolicyAssignmentsForManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_List", + "summary": "Retrieves all policy assignments that apply to a subscription.", + "description": "This operation retrieves the list of all policy assignments associated with the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the subscription, including those that apply directly or from management groups that contain the given subscription, as well as any applied to objects contained within the subscription. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the subscription, which is everything in the unfiltered list except those applied to objects contained within the subscription. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the subscription. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}.", + "x-ms-examples": { + "List policy assignments that apply to a subscription": { + "$ref": "./examples/listPolicyAssignments.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/PolicyAssignment" + } + }, + "/{policyAssignmentId}": { + "delete": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_DeleteById", + "summary": "Deletes a policy assignment.", + "description": "This operation deletes the policy with the given ID. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid formats for {scope} are: '/providers/Microsoft.Management/managementGroups/{managementGroup}' (management group), '/subscriptions/{subscriptionId}' (subscription), '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' (resource group), or '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' (resource).", + "x-ms-examples": { + "Delete a policy assignment by ID": { + "$ref": "./examples/deletePolicyAssignmentById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to delete. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "204": { + "description": "No Content - the policy assignment doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_CreateById", + "summary": "Creates or updates a policy assignment.", + "description": "This operation creates or updates the policy assignment with the given ID. Policy assignments made on a scope apply to all resources contained in that scope. For example, when you assign a policy to a resource group that policy applies to all resources in the group. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.", + "x-ms-examples": { + "Create or update policy assignment by ID": { + "$ref": "./examples/createPolicyAssignmentById.json" + }, + "Create or update policy assignment with a managed identity by ID": { + "$ref": "./examples/createPolicyAssignmentWithIdentityById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to create. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "Parameters for policy assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_GetById", + "summary": "Retrieves the policy assignment with the given ID.", + "description": "The operation retrieves the policy assignment with the given ID. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.", + "x-ms-examples": { + "Retrieve a policy assignment by ID": { + "$ref": "./examples/getPolicyAssignmentById.json" + }, + "Retrieve a policy assignment with a managed identity by ID": { + "$ref": "./examples/getPolicyAssignmentWithIdentityById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to get. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyAssignmentProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition being assigned." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + }, + "notScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The policy's excluded scopes." + }, + "parameters": { + "description": "The parameter values for the assigned policy rule. The keys are the parameter names.", + "$ref": "#/definitions/ParameterValues" + }, + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, + "metadata": { + "type": "object", + "description": "The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "enforcementMode": { + "type": "string", + "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce.", + "enum": [ + "Default", + "DoNotEnforce" + ], + "x-ms-enum": { + "name": "enforcementMode", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "The policy effect is enforced during resource creation or update." + }, + { + "value": "DoNotEnforce", + "description": "The policy effect is not enforced during resource creation or update." + } + ] + } + } + }, + "description": "The policy assignment properties." + }, + "ParameterValues": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "ParameterValuesValue": { + "properties": { + "value": { + "description": "The value of the parameter.", + "type": "object" + } + }, + "description": "The value of a parameter." + }, + "PolicySku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the policy sku. Possible values are A0 and A1." + }, + "tier": { + "type": "string", + "description": "The policy sku tier. Possible values are Free and Standard." + } + }, + "required": [ + "name" + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "PolicyAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyAssignmentProperties", + "description": "Properties for the policy assignment." + }, + "id": { + "type": "string", + "description": "The ID of the policy assignment.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the policy assignment.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the policy assignment.", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/PolicySku", + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "location": { + "type": "string", + "description": "The location of the policy assignment. Only required when utilizing managed identity." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The managed identity associated with the policy assignment." + } + }, + "description": "The policy assignment.", + "x-ms-azure-resource": true + }, + "PolicyAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "An array of policy assignments." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy assignments." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the resource identity." + }, + "type": { + "type": "string", + "description": "The identity type. This is the only required field when adding a system assigned identity to a resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Indicates that a system assigned identity is associated with the resource." + }, + { + "value": "None", + "description": "Indicates that no identity is associated with the resource or that the existing identity should be removed." + } + ] + } + } + }, + "description": "Identity for the resource." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "PolicyAssignmentsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json new file mode 100644 index 000000000000..af298f5ce63b --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json @@ -0,0 +1,684 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "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.Authorization/policyDefinitions/{policyDefinitionName}": { + "put": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_CreateOrUpdate", + "summary": "Creates or updates a policy definition in a subscription.", + "description": "This operation creates or updates a policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Create or update a policy definition": { + "$ref": "./examples/createOrUpdatePolicyDefinition.json" + }, + "Create or update a policy definition with advanced parameters": { + "$ref": "./examples/createOrUpdatePolicyDefinitionAdvancedParams.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "The policy definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_Delete", + "summary": "Deletes a policy definition in a subscription.", + "description": "This operation deletes the policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Delete a policy definition": { + "$ref": "./examples/deletePolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_Get", + "summary": "Retrieves a policy definition in a subscription.", + "description": "This operation retrieves the policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Retrieve a policy definition": { + "$ref": "./examples/getPolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_GetBuiltIn", + "summary": "Retrieves a built-in policy definition.", + "description": "This operation retrieves the built-in policy definition with the given name.", + "x-ms-examples": { + "Retrieve a built-in policy definition": { + "$ref": "./examples/getBuiltinPolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the built-in policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the built-in policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}": { + "put": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_CreateOrUpdateAtManagementGroup", + "summary": "Creates or updates a policy definition in a management group.", + "description": "This operation creates or updates a policy definition in the given management group with the given name.", + "x-ms-examples": { + "Create or update a policy definition at management group level": { + "$ref": "./examples/createOrUpdatePolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "The policy definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_DeleteAtManagementGroup", + "summary": "Deletes a policy definition in a management group.", + "description": "This operation deletes the policy definition in the given management group with the given name.", + "x-ms-examples": { + "Delete a policy definition at management group level": { + "$ref": "./examples/deletePolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_GetAtManagementGroup", + "summary": "Retrieve a policy definition in a management group.", + "description": "This operation retrieves the policy definition in the given management group with the given name.", + "x-ms-examples": { + "Retrieve a policy definition at management group level": { + "$ref": "./examples/getPolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_List", + "summary": "Retrieves policy definitions in a subscription", + "description": "This operation retrieves a list of all the policy definitions in a given subscription that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy definitions associated with the subscription, including those that apply directly or from management groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given subscription. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-examples": { + "List policy definitions by subscription": { + "$ref": "./examples/listPolicyDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_ListBuiltIn", + "summary": "Retrieve built-in policy definitions", + "description": "This operation retrieves a list of all the built-in policy definitions that match the optional given $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all built-in policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all built-in policy definitions whose category match the {value}.", + "x-ms-examples": { + "List built-in policy definitions": { + "$ref": "./examples/listBuiltInPolicyDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of built-in policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_ListByManagementGroup", + "summary": "Retrieve policy definitions in a management group", + "description": "This operation retrieves a list of all the policy definitions in a given management group that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy definitions associated with the management group, including those that apply directly or from management groups that contain the given management group. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given management group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-examples": { + "List policy definitions by management group": { + "$ref": "./examples/listPolicyDefinitionsByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyDefinitionProperties": { + "properties": { + "policyType": { + "type": "string", + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ], + "x-ms-enum": { + "name": "policyType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "description": { + "type": "string", + "description": "The policy definition description." + }, + "policyRule": { + "type": "object", + "description": "The policy rule." + }, + "metadata": { + "type": "object", + "description": "The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "parameters": { + "description": "The parameter definitions for parameters used in the policy rule. The keys are the parameter names.", + "$ref": "#/definitions/ParameterDefinitions" + } + }, + "description": "The policy definition properties." + }, + "ParameterDefinitionsValue": { + "properties": { + "type": { + "description": "The data type of the parameter.", + "type": "string", + "enum": [ + "String", + "Array", + "Object", + "Boolean", + "Integer", + "Float", + "DateTime" + ], + "x-ms-enum": { + "name": "parameterType", + "modelAsString": true + } + }, + "allowedValues": { + "type": "array", + "items": { + "type": "object" + }, + "description": "The allowed values for the parameter." + }, + "defaultValue": { + "type": "object", + "description": "The default value for the parameter if no value is provided." + }, + "metadata": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name for the parameter." + }, + "description": { + "type": "string", + "description": "The description of the parameter." + } + }, + "additionalProperties": { + "type": "object" + }, + "description": "General metadata for the parameter." + } + }, + "description": "The definition of a parameter that can be provided to the policy." + }, + "ParameterDefinitions": { + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + } + }, + "PolicyDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyDefinitionProperties", + "description": "The policy definition properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the policy definition." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the policy definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource (Microsoft.Authorization/policyDefinitions)." + } + }, + "description": "The policy definition.", + "x-ms-azure-resource": true + }, + "PolicyDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "An array of policy definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy definitions." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "PolicyDefinitionsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json new file mode 100644 index 000000000000..0bb170f1ee6f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json @@ -0,0 +1,706 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "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.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "put": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_CreateOrUpdate", + "summary": "Creates or updates a policy set definition.", + "description": "This operation creates or updates a policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Create or update a policy set definition": { + "$ref": "./examples/createOrUpdatePolicySetDefinition.json" + }, + "Create or update a policy set definition with groups": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionWithGroups.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "The policy set definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_Delete", + "summary": "Deletes a policy set definition.", + "description": "This operation deletes the policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Delete a policy set definition": { + "$ref": "./examples/deletePolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content - the policy set definition doesn't exist in the subscription." + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_Get", + "summary": "Retrieves a policy set definition.", + "description": "This operation retrieves the policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Retrieve a policy set definition": { + "$ref": "./examples/getPolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_GetBuiltIn", + "summary": "Retrieves a built in policy set definition.", + "description": "This operation retrieves the built-in policy set definition with the given name.", + "x-ms-examples": { + "Retrieve a built-in policy set definition": { + "$ref": "./examples/getBuiltInPolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the built in policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_List", + "summary": "Retrieves the policy set definitions for a subscription.", + "description": "This operation retrieves a list of all the policy set definitions in a given subscription that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set definitions associated with the subscription, including those that apply directly or from management groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given subscription. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List policy set definitions": { + "$ref": "./examples/listPolicySetDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_ListBuiltIn", + "summary": "Retrieves built-in policy set definitions.", + "description": "This operation retrieves a list of all the built-in policy set definitions that match the optional given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all built-in policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List built-in policy set definitions": { + "$ref": "./examples/listBuiltInPolicySetDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of built in policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "put": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_CreateOrUpdateAtManagementGroup", + "summary": "Creates or updates a policy set definition.", + "description": "This operation creates or updates a policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Create or update a policy set definition at management group level": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json" + }, + "Create or update a policy set definition with groups at management group level": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "The policy set definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_DeleteAtManagementGroup", + "summary": "Deletes a policy set definition.", + "description": "This operation deletes the policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Delete a policy set definition at management group level": { + "$ref": "./examples/deletePolicySetDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content - the policy set definition doesn't exist in the subscription." + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_GetAtManagementGroup", + "summary": "Retrieves a policy set definition.", + "description": "This operation retrieves the policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Retrieve a policy set definition at management group level": { + "$ref": "./examples/getPolicySetDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_ListByManagementGroup", + "summary": "Retrieves all policy set definitions in management group.", + "description": "This operation retrieves a list of all the policy set definitions in a given management group that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set definitions associated with the management group, including those that apply directly or from management groups that contain the given management group. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given management group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List policy set definitions at management group level": { + "$ref": "./examples/listPolicySetDefinitionsByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicySetDefinitionProperties": { + "properties": { + "policyType": { + "type": "string", + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ], + "x-ms-enum": { + "name": "policyType", + "modelAsString": true + } + }, + "displayName": { + "type": "string", + "description": "The display name of the policy set definition." + }, + "description": { + "type": "string", + "description": "The policy set definition description." + }, + "metadata": { + "type": "object", + "description": "The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "parameters": { + "description": "The policy set definition parameters that can be used in policy definition references.", + "$ref": "./policyDefinitions.json#/definitions/ParameterDefinitions" + }, + "policyDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionReference" + }, + "description": "An array of policy definition references." + }, + "policyDefinitionGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionGroup" + }, + "description": "The metadata describing groups of policy definition references within the policy set definition." + } + }, + "required": [ + "policyDefinitions" + ], + "description": "The policy set definition properties." + }, + "PolicyDefinitionReference": { + "properties": { + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition." + }, + "parameters": { + "description": "The parameter values for the referenced policy rule. The keys are the parameter names.", + "$ref": "./policyAssignments.json#/definitions/ParameterValues" + }, + "policyDefinitionReferenceId": { + "type": "string", + "description": "A unique id (within the policy set definition) for this policy definition reference." + }, + "groupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The name of the groups that this policy definition reference belongs to." + } + }, + "required": [ + "policyDefinitionId" + ], + "description": "The policy definition reference." + }, + "PolicyDefinitionGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The group's display name." + }, + "category": { + "type": "string", + "description": "The group's category." + }, + "description": { + "type": "string", + "description": "The group's description." + }, + "additionalMetadataId": { + "type": "string", + "description": "A resource ID of a resource that contains additional metadata about the group." + } + }, + "required": [ + "name" + ], + "description": "The policy definition group." + }, + "PolicySetDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicySetDefinitionProperties", + "description": "The policy definition properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the policy set definition." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the policy set definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource (Microsoft.Authorization/policySetDefinitions)." + } + }, + "description": "The policy set definition.", + "x-ms-azure-resource": true + }, + "PolicySetDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "An array of policy set definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy set definitions." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "PolicySetDefinitionsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json new file mode 100644 index 000000000000..9713883370f4 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json @@ -0,0 +1,307 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-09-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "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.Authorization/dataPolicyManifests/{policyMode}": { + "get": { + "tags": [ + "DataPolicyManifests" + ], + "operationId": "DataPolicyManifests_GetByPolicyMode", + "summary": "Retrieves a data policy manifest.", + "description": "This operation retrieves the data policy manifest with the given policy mode.", + "x-ms-examples": { + "Retrieve a data policy manifest by policy mode": { + "$ref": "./examples/getDataPolicyManifest.json" + } + }, + "parameters": [ + { + "name": "policyMode", + "in": "path", + "required": true, + "type": "string", + "description": "The policy mode of the data policy manifest to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about a data policy manifest.", + "schema": { + "$ref": "#/definitions/DataPolicyManifest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Authorization/dataPolicyManifests": { + "get": { + "tags": [ + "DataPolicyManifests" + ], + "operationId": "DataPolicyManifests_List", + "summary": "Retrieves data policy manifests", + "description": "This operation retrieves a list of all the data policy manifests that match the optional given $filter. Valid values for $filter are: \"$filter=namespace eq '{0}'\". If $filter is not provided, the unfiltered list includes all data policy manifests for data resource types. If $filter=namespace is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value.", + "x-ms-examples": { + "List data policy manifests": { + "$ref": "./examples/listDataPolicyManifests.json" + }, + "List data policy manifests with namespace filter": { + "$ref": "./examples/listDataPolicyManifestsNamespaceFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/DataPolicyManifestsFilterParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of data policy manifests.", + "schema": { + "$ref": "#/definitions/DataPolicyManifestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "DataManifestCustomResourceFunctionDefinition": { + "properties": { + "name": { + "type": "string", + "description": "The function name as it will appear in the policy rule. eg - 'vault'." + }, + "fullyQualifiedResourceType": { + "type": "string", + "description": "The fully qualified control plane resource type that this function represents. eg - 'Microsoft.KeyVault/vaults'." + }, + "defaultProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The top-level properties that can be selected on the function's output. eg - [ \"name\", \"location\" ] if vault().name and vault().location are supported" + }, + "allowCustomProperties": { + "type": "boolean", + "description": "A value indicating whether the custom properties within the property bag are allowed. Needs api-version to be specified in the policy rule eg - vault('2019-06-01')." + } + }, + "description": "The custom resource function definition." + }, + "DataManifestResourceFunctionsDefinition": { + "properties": { + "standard": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The standard resource functions (subscription and/or resourceGroup)." + }, + "custom": { + "type": "array", + "items": { + "$ref": "#/definitions/DataManifestCustomResourceFunctionDefinition" + }, + "description": "An array of data manifest custom resource definition." + } + }, + "description": "The resource functions supported by a manifest" + }, + "DataEffect": { + "properties": { + "name": { + "type": "string", + "description": "The data effect name." + }, + "detailsSchema": { + "type": "object", + "description": "The data effect details schema." + } + }, + "description": "The data effect definition." + }, + "ResourceTypeAliases": { + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type name." + }, + "aliases": { + "type": "array", + "items": { + "$ref": "../../../Microsoft.Resources/stable/2020-06-01/resources.json#/definitions/Alias" + }, + "description": "The aliases for property names." + } + }, + "description": "The resource type aliases definition." + }, + "DataPolicyManifestProperties": { + "properties": { + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of namespaces for the data policy manifest." + }, + "policyMode": { + "type": "string", + "description": "The policy mode of the data policy manifest." + }, + "isBuiltInOnly": { + "type": "boolean", + "description": "A value indicating whether policy mode is allowed only in built-in definitions." + }, + "resourceTypeAliases": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeAliases" + }, + "description": "An array of resource type aliases." + }, + "effects": { + "type": "array", + "items": { + "$ref": "#/definitions/DataEffect" + }, + "description": "The effect definition." + }, + "fieldValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The non-alias field accessor values that can be used in the policy rule." + }, + "resourceFunctions": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataManifestResourceFunctionsDefinition", + "description": "The resource functions definition specified in the data manifest." + } + }, + "description": "The properties of the data policy manifest." + }, + "DataPolicyManifest": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataPolicyManifestProperties", + "description": "The data policy manifest properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the data policy manifest." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the data policy manifest (it's the same as the Policy Mode)." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource (Microsoft.Authorization/dataPolicyManifests)." + } + }, + "description": "The data policy manifest.", + "x-ms-azure-resource": true + }, + "DataPolicyManifestListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataPolicyManifest" + }, + "description": "An array of data policy manifests." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of data policy manifests." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "DataPolicyManifestsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: \"namespace eq '{value}'\". If $filter is not provided, no filtering is performed. If $filter=namespace eq '{value}' is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/getDataPolicyManifest.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/getDataPolicyManifest.json new file mode 100644 index 000000000000..a11055df4c03 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/getDataPolicyManifest.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "policyMode": "Microsoft.KeyVault.Data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Authorization/dataPolicyManifests/Microsoft.KeyVault.Data", + "type": "Microsoft.Authorization/dataPolicyManifests", + "name": "Microsoft.KeyVault.Data", + "properties": { + "namespaces": [ + "Microsoft.KeyVault" + ], + "policyMode": "Microsoft.KeyVault.Data", + "isBuiltInOnly": true, + "resourceTypeAliases": [ + { + "resourceType": "vaults/certificates", + "aliases": [ + { + "name": "Microsoft.KeyVault.Data/vaults/certificates/keyProperties.keyType", + "paths": [ + { + "path": "keyProperties.keyType", + "apiVersions": [ + "2019-01-01" + ] + } + ] + } + ] + } + ], + "effects": [ + { + "name": "Audit" + }, + { + "name": "Deny" + } + ], + "fieldValues": [ + "type" + ], + "resourceFunctions": { + "standard": [ + "subscription", + "resourceGroup" + ], + "custom": [ + { + "name": "vault", + "fullyQualifiedResourceType": "Microsoft.KeyVault/vaults", + "defaultProperties": [ + "location", + "tags" + ], + "allowCustomProperties": false + } + ] + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifests.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifests.json new file mode 100644 index 000000000000..d73b38f1c3f7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifests.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Authorization/dataPolicyManifests/Microsoft.KeyVault.Data", + "type": "Microsoft.Authorization/dataPolicyManifests", + "name": "Microsoft.KeyVault.Data", + "properties": { + "namespaces": [ + "Microsoft.KeyVault" + ], + "policyMode": "Microsoft.KeyVault.Data", + "isBuiltInOnly": true, + "resourceTypeAliases": [ + { + "resourceType": "vaults/certificates", + "aliases": [ + { + "name": "Microsoft.KeyVault.Data/vaults/certificates/keyProperties.keyType", + "paths": [ + { + "path": "keyProperties.keyType", + "apiVersions": [ + "2019-01-01" + ] + } + ] + } + ] + } + ], + "effects": [ + { + "name": "audit" + }, + { + "name": "deny" + } + ], + "fieldValues": [ + "type" + ], + "resourceFunctions": { + "standard": [ + "subscription", + "resourceGroup" + ], + "custom": [ + { + "name": "vault", + "fullyQualifiedResourceType": "Microsoft.KeyVault/vaults", + "defaultProperties": [ + "location", + "tags" + ], + "allowCustomProperties": false + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Authorization/dataPolicyManifests/Microsoft.Kubernetes.Data", + "type": "Microsoft.Authorization/dataPolicyManifests", + "name": "Microsoft.Kubernetes.Data", + "properties": { + "namespaces": [ + "Microsoft.Kubernetes", + "Microsoft.ContainerService" + ], + "policyMode": "Microsoft.Kubernetes.Data", + "isBuiltInOnly": false, + "effects": [ + { + "name": "audit", + "detailsSchema": { + "type": "object", + "properties": { + "constraintTemplate": { + "type": "string", + "pattern": "^(?i)(https:\\/\\/raw\\.githubusercontent\\.com\\/){1}(.+)(\\.){1}(yaml|yml){1}$" + }, + "constraint": { + "type": "string", + "pattern": "^(?i)(https:\\/\\/raw\\.githubusercontent\\.com\\/){1}(.+)(\\.){1}(yaml|yml){1}$" + }, + "values": { + "type": "object", + "maxProperties": 10, + "additionalProperties": {} + } + }, + "required": [ + "constraintTemplate" + ], + "additionalProperties": false + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifestsNamespaceFilter.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifestsNamespaceFilter.json new file mode 100644 index 000000000000..8cd8e706f4a1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/examples/listDataPolicyManifestsNamespaceFilter.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "$filter": "namespace eq 'Microsoft.KeyVault'" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Authorization/dataPolicyManifests/Microsoft.KeyVault.Data", + "type": "Microsoft.Authorization/dataPolicyManifests", + "name": "Microsoft.KeyVault.Data", + "properties": { + "namespaces": [ + "Microsoft.KeyVault" + ], + "policyMode": "Microsoft.KeyVault.Data", + "isBuiltInOnly": true, + "resourceTypeAliases": [ + { + "resourceType": "vaults/certificates", + "aliases": [ + { + "name": "Microsoft.KeyVault.Data/vaults/certificates/keyProperties.keyType", + "paths": [ + { + "path": "keyProperties.keyType", + "apiVersions": [ + "2019-01-01" + ] + } + ] + } + ] + } + ], + "effects": [ + { + "name": "audit" + }, + { + "name": "deny" + } + ], + "fieldValues": [ + "type" + ], + "resourceFunctions": { + "standard": [ + "subscription", + "resourceGroup" + ], + "custom": [ + { + "name": "vault", + "fullyQualifiedResourceType": "Microsoft.KeyVault/vaults", + "defaultProperties": [ + "location", + "tags" + ], + "allowCustomProperties": false + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json index dd273dcb47bf..e275be2dd62a 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json @@ -159,6 +159,9 @@ { "$ref": "#/parameters/TemplateSpecNameParameter" }, + { + "$ref": "#/parameters/TemplateSpecExpandParameter" + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -235,6 +238,9 @@ { "$ref": "#/parameters/SubscriptionIdParameter" }, + { + "$ref": "#/parameters/TemplateSpecExpandParameter" + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -277,6 +283,9 @@ { "$ref": "#/parameters/ResourceGroupNameParameter" }, + { + "$ref": "#/parameters/TemplateSpecExpandParameter" + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -591,6 +600,14 @@ "type": "string", "maxLength": 64, "description": "Template Spec display name." + }, + "versions": { + "type": "object", + "readOnly": true, + "description": "High-level information about the versions within this Template Spec. The keys are the version names. Only populated if the $expand query parameter is set to 'versions'.", + "additionalProperties": { + "$ref": "#/definitions/TemplateSpecVersionInfo" + } } } }, @@ -800,6 +817,29 @@ } ] }, + "TemplateSpecVersionInfo": { + "type": "object", + "description": "High-level information about a Template Spec version.", + "properties": { + "description": { + "type": "string", + "readOnly": true, + "description": "Template Spec version description." + }, + "timeCreated": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp of when the version was created." + }, + "timeModified": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp of when the version was last modified." + } + } + }, "TemplateSpecsError": { "properties": { "error": { @@ -851,6 +891,27 @@ "maxLength": 90, "x-ms-parameter-location": "method" }, + "TemplateSpecExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Allows for expansion of additional Template Spec details in the response. Optional.", + "x-ms-parameter-location": "method", + "enum": [ + "versions" + ], + "x-ms-enum": { + "name": "TemplateSpecExpandKind", + "modelAsString": true, + "values": [ + { + "value": "versions", + "description": "Includes version information with the Template Spec." + } + ] + } + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json index 1a8320f05151..5353e011b425 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json @@ -752,6 +752,10 @@ "modelAsString": true } }, + "tenantId": { + "type": "string", + "description": "ID of the Azure Active Directory." + }, "userAssignedIdentities": { "type": "object", "description": "The list of user-assigned managed identities associated with the resource. Key is the Azure resource Id of the managed identity.", 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 cb91fbec0f89..70d4e1b3d9e1 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 @@ -2047,6 +2047,41 @@ } } }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/{resourceProviderNamespace}/register": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_RegisterAtManagementGroupScope", + "description": "Registers a management group with a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to register." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": { "post": { "tags": [ @@ -4441,6 +4476,10 @@ "onErrorDeployment": { "$ref": "#/definitions/OnErrorDeployment", "description": "The deployment on error behavior." + }, + "expressionEvaluationOptions": { + "$ref": "#/definitions/ExpressionEvaluationOptions", + "description": "Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer." } }, "required": [ @@ -6149,6 +6188,24 @@ "description": "The error reported by the operation." } } + }, + "ExpressionEvaluationOptions": { + "properties": { + "scope": { + "type": "string", + "description": "The scope to be used for evaluation of parameters, variables and functions in a nested template.", + "enum": [ + "NotSpecified", + "Outer", + "Inner" + ], + "x-ms-enum": { + "name": "ExpressionEvaluationOptionsScopeType", + "modelAsString": true + } + } + }, + "description": "Specifies whether template expressions are evaluated within the scope of the parent template or nested template." } }, "parameters": { diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json new file mode 100644 index 000000000000..93a79b905a36 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json @@ -0,0 +1,928 @@ +{ + "swagger": "2.0", + "info": { + "title": "DeploymentScriptsClient", + "description": "The APIs listed in this specification can be used to manage Deployment Scripts resource through the Azure Resource Manager.", + "version": "2020-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.Resources/deploymentScripts/{scriptName}": { + "put": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_Create", + "x-ms-long-running-operation": true, + "description": "Creates a deployment script.", + "x-ms-examples": { + "DeploymentScriptsCreate": { + "$ref": "./examples/DeploymentScripts_Create.json" + }, + "DeploymentScriptsCreateNoUserManagedIdentity": { + "$ref": "./examples/DeploymentScripts_Create_No_UserManagedIdentity.json" + }, + "DeploymentScriptsCreate_MinCreate": { + "$ref": "./examples/DeploymentScripts_Min_Create.json" + }, + "DeploymentScriptsCreate_UsingCustomACIName": { + "$ref": "./examples/DeploymentScripts_Create_Using_Custom_Aci_Name.json" + }, + "DeploymentScriptsCreate_UsingExistingStorageAccount": { + "$ref": "./examples/DeploymentScripts_Create_Using_Existing_StorageAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "deploymentScript", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentScript" + }, + "description": "Deployment script supplied to the operation." + } + ], + "responses": { + "201": { + "description": "Created -- Deployment script created.", + "schema": { + "$ref": "#/definitions/DeploymentScript" + } + }, + "200": { + "description": "OK -- Deployment script is updated.", + "schema": { + "$ref": "#/definitions/DeploymentScript" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + }, + "patch": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_Update", + "description": "Updates deployment script tags with specified values.", + "x-ms-examples": { + "DeploymentScriptsUpdate": { + "$ref": "./examples/DeploymentScripts_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "deploymentScript", + "in": "body", + "schema": { + "$ref": "#/definitions/DeploymentScriptUpdateParameter" + }, + "description": "Deployment script resource with the tags to be updated." + } + ], + "responses": { + "200": { + "description": "OK -- Deployment script tags are updated.", + "schema": { + "$ref": "#/definitions/DeploymentScript" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + }, + "get": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_Get", + "description": "Gets a deployment script with a given name.", + "x-ms-examples": { + "DeploymentScriptsGet": { + "$ref": "./examples/DeploymentScripts_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns information about the deployment script.", + "schema": { + "$ref": "#/definitions/DeploymentScript" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + }, + "delete": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_Delete", + "description": "Deletes a deployment script. When operation completes, status code 200 returned without content.", + "x-ms-examples": { + "DeploymentScriptsDelete": { + "$ref": "./examples/DeploymentScripts_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Deployment script deleted." + }, + "204": { + "description": "Deployment script does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deploymentScripts": { + "get": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_ListBySubscription", + "description": "Lists all deployment scripts for a given subscription.", + "x-ms-examples": { + "DeploymentScriptsListBySubscription": { + "$ref": "./examples/DeploymentScripts_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns a list of deployment scripts.", + "schema": { + "$ref": "#/definitions/DeploymentScriptListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts/{scriptName}/logs": { + "get": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_GetLogs", + "description": "Gets deployment script logs for a given deployment script name.", + "x-ms-examples": { + "DeploymentScriptsGetLogs": { + "$ref": "./examples/DeploymentScripts_GetLogs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns deployment script logs if available.", + "schema": { + "$ref": "#/definitions/ScriptLogsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts/{scriptName}/logs/default": { + "get": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_GetLogsDefault", + "description": "Gets deployment script logs for a given deployment script name.", + "x-ms-examples": { + "DeploymentScriptsGetLogs": { + "$ref": "./examples/DeploymentScripts_GetLogsDefault.json" + }, + "DeploymentScriptsGetLogsWithTail": { + "$ref": "./examples/DeploymentScripts_GetLogsDefaultWithTail.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "tail", + "in": "query", + "description": "The number of lines to show from the tail of the deployment script log. Valid value is a positive number up to 1000. If 'tail' is not provided, all available logs are shown up to container instance log capacity of 4mb.", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK -- Returns deployment script logs if available.", + "schema": { + "$ref": "#/definitions/ScriptLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts": { + "get": { + "tags": [ + "DeploymentScripts" + ], + "operationId": "DeploymentScripts_ListByResourceGroup", + "description": "Lists deployments scripts.", + "x-ms-examples": { + "DeploymentScriptsList": { + "$ref": "./examples/DeploymentScripts_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returns a list of deployment scripts.", + "schema": { + "$ref": "#/definitions/DeploymentScriptListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DeploymentScriptsError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DeploymentScript": { + "required": [ + "location", + "kind" + ], + "type": "object", + "description": "Deployment script object.", + "discriminator": "kind", + "properties": { + "identity": { + "description": "Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported.", + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The location of the ACI and the storage account for the deployment script." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "kind": { + "type": "string", + "description": "Type of the script.", + "enum": [ + "AzurePowerShell", + "AzureCLI" + ], + "x-ms-enum": { + "name": "ScriptType", + "modelAsString": true + } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ] + }, + "DeploymentScriptUpdateParameter": { + "type": "object", + "description": "Deployment script parameters to be updated. ", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags to be updated.", + "additionalProperties": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ] + }, + "AzurePowerShellScript": { + "required": [ + "properties" + ], + "type": "object", + "x-ms-discriminator-value": "AzurePowerShell", + "description": "Object model for the Azure PowerShell script.", + "properties": { + "properties": { + "description": "Properties of the Azure PowerShell script object.", + "$ref": "#/definitions/AzurePowerShellScriptProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentScript" + } + ] + }, + "AzurePowerShellScriptProperties": { + "required": [ + "azPowerShellVersion" + ], + "type": "object", + "description": "Properties of the Azure PowerShell script object.", + "properties": { + "azPowerShellVersion": { + "type": "string", + "description": "Azure PowerShell module version to be used." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentScriptPropertiesBase" + }, + { + "$ref": "#/definitions/ScriptConfigurationBase" + } + ] + }, + "AzureCliScript": { + "required": [ + "properties" + ], + "type": "object", + "x-ms-discriminator-value": "AzureCLI", + "description": "Object model for the Azure CLI script.", + "properties": { + "properties": { + "description": "Properties of the Azure CLI script object.", + "$ref": "#/definitions/AzureCliScriptProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentScript" + } + ] + }, + "AzureCliScriptProperties": { + "required": [ + "azCliVersion" + ], + "type": "object", + "description": "Properties of the Azure CLI script object.", + "properties": { + "azCliVersion": { + "type": "string", + "description": "Azure CLI module version to be used." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentScriptPropertiesBase" + }, + { + "$ref": "#/definitions/ScriptConfigurationBase" + } + ] + }, + "ScriptConfigurationBase": { + "required": [ + "retentionInterval" + ], + "type": "object", + "x-ms-external": true, + "description": "Common configuration settings for both Azure PowerShell and Azure CLI scripts.", + "properties": { + "primaryScriptUri": { + "type": "string", + "description": "Uri for the script. This is the entry point for the external script." + }, + "supportingScriptUris": { + "type": "array", + "description": "Supporting files for the external script.", + "items": { + "type": "string", + "description": "Supporting file Uri." + } + }, + "scriptContent": { + "type": "string", + "maxLength": 32000, + "description": "Script body." + }, + "arguments": { + "type": "string", + "description": "Command line arguments to pass to the script. Arguments are separated by spaces. ex: -Name blue* -Location 'West US 2' " + }, + "environmentVariables": { + "description": "The environment variables to pass over to the script.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "forceUpdateTag": { + "type": "string", + "description": "Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID." + }, + "retentionInterval": { + "type": "string", + "format": "duration", + "description": "Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." + }, + "timeout": { + "type": "string", + "format": "duration", + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + } + } + }, + "DeploymentScriptPropertiesBase": { + "type": "object", + "x-ms-external": true, + "description": "Common properties for the deployment script.", + "properties": { + "containerSettings": { + "type": "object", + "description": "Container settings.", + "$ref": "#/definitions/ContainerConfiguration" + }, + "storageAccountSettings": { + "type": "object", + "description": "Storage Account settings.", + "$ref": "#/definitions/StorageAccountConfiguration" + }, + "cleanupPreference": { + "type": "string", + "description": "The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'.", + "enum": [ + "Always", + "OnSuccess", + "OnExpiration" + ], + "x-ms-enum": { + "name": "cleanupOptions", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "State of the script execution. This only appears in the response.", + "enum": [ + "Creating", + "ProvisioningResources", + "Running", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ScriptProvisioningState", + "modelAsString": true + } + }, + "status": { + "type": "object", + "readOnly": true, + "description": "Contains the results of script execution.", + "$ref": "#/definitions/ScriptStatus" + }, + "outputs": { + "description": "List of script outputs.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "description": "Script output in pair." + } + } + } + }, + "ContainerConfiguration": { + "type": "object", + "description": "Settings to customize ACI container instance.", + "properties": { + "containerGroupName": { + "type": "string", + "description": "Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed. To specify a 'containerGroupName', add the following object to properties: { \"containerSettings\": { \"containerGroupName\": \"contoso-container\" } }. If you do not want to specify a 'containerGroupName' then do not add 'containerSettings' property.", + "minLength": 1, + "maxLength": 63 + } + } + }, + "StorageAccountConfiguration": { + "type": "object", + "description": "Settings to use an existing storage account. Valid storage account kinds are: Storage, StorageV2 and FileStorage", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The storage account name." + }, + "storageAccountKey": { + "type": "string", + "description": "The storage account access key.", + "x-ms-secret": true + } + } + }, + "ScriptStatus": { + "type": "object", + "description": "Generic object modeling results of script execution.", + "properties": { + "containerInstanceId": { + "type": "string", + "readOnly": true, + "description": "ACI resource Id." + }, + "storageAccountId": { + "type": "string", + "readOnly": true, + "description": "Storage account resource Id." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start time of the script execution." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End time of the script execution." + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time the deployment script resource will expire." + }, + "error": { + "description": "Error that is relayed from the script execution.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "ManagedServiceIdentity": { + "type": "object", + "description": "Managed identity generic object.", + "properties": { + "type": { + "type": "string", + "description": "Type of the managed identity.", + "enum": [ + "UserAssigned" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user-assigned managed identities associated with the resource. Key is the Azure resource Id of the managed identity.", + "additionalProperties": { + "description": "User-assigned managed identity.", + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "description": "User-assigned managed identity.", + "properties": { + "principalId": { + "type": "string", + "description": "Azure Active Directory principal ID associated with this identity." + }, + "clientId": { + "type": "string", + "description": "Client App Id associated with this identity." + } + } + }, + "EnvironmentVariable": { + "description": "The environment variable to pass to the script in 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.", + "x-ms-secret": true + } + }, + "required": [ + "name" + ] + }, + "DeploymentScriptListResult": { + "description": "List of deployment scripts.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScript" + }, + "description": "An array of deployment scripts." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + } + }, + "ScriptLogsList": { + "description": "Deployment script execution logs.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScriptLog" + }, + "description": "Deployment scripts logs." + } + } + }, + "ScriptLog": { + "type": "object", + "description": "Script execution log object.", + "properties": { + "properties": { + "$ref": "#/definitions/LogProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ] + }, + "LogProperties": { + "type": "object", + "description": "Script log properties.", + "properties": { + "log": { + "type": "string", + "readOnly": true, + "description": "Script execution logs in text format." + } + } + }, + "AzureResourceBase": { + "x-ms-azure-resource": true, + "type": "object", + "description": "Common properties for all Azure resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "String Id used to locate any resource on Azure." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of this resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of this resource." + } + } + }, + "DeploymentScriptsError": { + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Deployment scripts error response." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Subscription Id which forms part of the URI for every service call." + }, + "ScriptNameParameter": { + "name": "scriptName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the deployment script.", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Client Api version." + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create.json new file mode 100644 index 000000000000..7d6dc278fb69 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always" + } + } + }, + "responses": { + "201": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Creating", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + } + } + } + }, + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_No_UserManagedIdentity.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_No_UserManagedIdentity.json new file mode 100644 index 000000000000..61cc35dbd7f2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_No_UserManagedIdentity.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "properties": { + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always" + } + } + }, + "responses": { + "201": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Creating", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + } + } + } + }, + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Custom_Aci_Name.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Custom_Aci_Name.json new file mode 100644 index 000000000000..371e6a394db8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Custom_Aci_Name.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "containerSettings": { + "containerGroupName": "contoso-aci" + }, + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always" + } + } + }, + "responses": { + "201": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Creating", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "containerSettings": { + "containerGroupName": "contoso-aci" + }, + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + } + } + } + }, + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "containerSettings": { + "containerGroupName": "contoso-aci" + }, + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Existing_StorageAccount.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Existing_StorageAccount.json new file mode 100644 index 000000000000..704aea8b3a8c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Create_Using_Existing_StorageAccount.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "storageAccountSettings": { + "storageAccountName": "contosostorage", + "storageAccountKey": "contosostoragekey" + }, + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always" + } + } + }, + "responses": { + "201": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Creating", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "storageAccountSettings": { + "storageAccountName": "contosostorage" + }, + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + } + } + } + }, + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "storageAccountSettings": { + "storageAccountName": "contosostorage" + }, + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Delete.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Delete.json new file mode 100644 index 000000000000..e5644a332306 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Delete.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "user script body", + "arguments": "user script arguments", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "results": { + "aciId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Get.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Get.json new file mode 100644 index 000000000000..553918eb5463 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Get.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript" + }, + "responses": { + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogs.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogs.json new file mode 100644 index 000000000000..0b5fb099e739 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogs.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "log": "script execution stdout/stderr logs" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefault.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefault.json new file mode 100644 index 000000000000..73a81f114436 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefault.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript" + }, + "responses": { + "200": { + "body": { + "properties": { + "log": "script execution stdout/stderr logs" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefaultWithTail.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefaultWithTail.json new file mode 100644 index 000000000000..996b635c7bf1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_GetLogsDefaultWithTail.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "tail": 5 + }, + "responses": { + "200": { + "body": { + "properties": { + "log": "script execution stdout/stderr logs" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListByResourceGroup.json new file mode 100644 index 000000000000..d527ef70a942 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListBySubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListBySubscription.json new file mode 100644 index 000000000000..9ff921de6919 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_ListBySubscription.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "retentionInterval": "PT7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Min_Create.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Min_Create.json new file mode 100644 index 000000000000..1ed1115e3701 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Min_Create.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "retentionInterval": "P7D" + } + } + }, + "responses": { + "201": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "properties": { + "provisioningState": "Creating", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + } + } + } + }, + "200": { + "body": { + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Update.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Update.json new file mode 100644 index 000000000000..a55272446486 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/examples/DeploymentScripts_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "script-rg", + "scriptName": "MyDeploymentScript", + "deploymentScript": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "azPowerShellVersion": "1.7.0", + "scriptContent": "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name", + "arguments": "-Location 'westus' -Name \"*rg2\"", + "supportingScriptUris": [ + "https://uri1.to.supporting.script", + "https://uri2.to.supporting.script" + ], + "retentionInterval": "P7D", + "timeout": "PT1H", + "cleanupPreference": "Always", + "status": { + "containerInstanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ContainerInstance/containerGroups/scriptContainer", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.Storage/storageAccounts/scriptStorage", + "startTime": "2018-11-13T15:19:45-08:00", + "endTime": "2018-11-13T15:19:45-08:00", + "expirationTime": "2018-11-13T15:19:45-08:00" + }, + "outputs": { + "output1": "value1" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-01T01:01:01.1075056Z" + }, + "kind": "AzurePowerShell", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": {} + } + }, + "tags": {} + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json new file mode 100644 index 000000000000..26d0ac01f2a8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2020-08-21-preview", + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json new file mode 100644 index 000000000000..2247a4fedecd --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2020-08-21-preview", + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/deleteApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/deleteApplicationDefinition.json new file mode 100644 index 000000000000..ec85348c1fa0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/deleteApplicationDefinition.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json new file mode 100644 index 000000000000..9d1b515434d6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2020-08-21-preview" + }, + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json new file mode 100644 index 000000000000..543bdd5ab96b --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2020-08-21-preview" + }, + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json new file mode 100644 index 000000000000..1d4172cb1ac1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-08-21-preview" + }, + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json new file mode 100644 index 000000000000..5fb082f17885 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-08-21-preview" + }, + "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/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json new file mode 100644 index 000000000000..bc7802d2bf55 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "SolutionsOpeartion1", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1", + "operation": "Read" + } + }, + { + "name": "SolutionssOpeartion2", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2", + "operation": "Write" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json new file mode 100644 index 000000000000..285104f4ea18 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json @@ -0,0 +1,2393 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationClient", + "version": "2020-08-21-preview", + "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": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Delete", + "description": "Deletes the managed application.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to the create or update a managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the 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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "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.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ApplicationPatchable" + }, + "description": "Parameters supplied to update an existing managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "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": "#/definitions/CloudError" + } + } + } + } + }, + "/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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Delete", + "description": "Deletes the managed application definition.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition to delete.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update an managed application definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of managed application definitions.", + "schema": { + "$ref": "#/definitions/ApplicationDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{applicationId}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_GetById", + "description": "Gets the managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "operationId": "Applications_DeleteById", + "description": "Deletes the managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "Applications" + ], + "operationId": "Applications_CreateOrUpdateById", + "description": "Creates a new managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to the create or update a managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Applications" + ], + "operationId": "Applications_UpdateById", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to update an existing managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "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": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Get", + "description": "Gets the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the JIT request", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_CreateOrUpdate", + "description": "Creates or updates the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "description": "Parameters supplied to the update JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Update", + "description": "Updates the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestPatchable" + }, + "description": "Parameters supplied to the update JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "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": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_Delete", + "description": "Deletes the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListBySubscription", + "description": "Retrieves all JIT requests within the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListByResourceGroup", + "description": "Retrieves all JIT requests within the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { + "post": { + "tags": [ + "Applications" + ], + "operationId": "Applications_RefreshPermissions", + "description": "Refresh Permissions for application.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "x-ms-paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_GetById", + "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_DeleteById", + "description": "Deletes the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_CreateOrUpdateById", + "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update a managed application definition." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Application": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "required": [ + "properties", + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationPatchable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/PlanPatchable", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationDefinitionProperties", + "description": "The managed application definition properties." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application definition." + }, + "ApplicationProperties": { + "properties": { + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "parameters": { + "type": "object", + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + }, + "outputs": { + "readOnly": true, + "type": "object", + "description": "Name and value pairs that define the 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": { + "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": { + "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" + } + }, + "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." + }, + "Plan": { + "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": { + "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": { + "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": { + "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." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/userAssignedResourceIdentity" + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "userAssignedResourceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of user assigned identity." + } + }, + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Resource information.", + "x-ms-azure-resource": true + }, + "ApplicationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The array of managed applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed applications." + }, + "ApplicationDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "The array of managed application definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed application definitions." + }, + "ProvisioningState": { + "description": "Provisioning status of the managed application.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ApplicationLockLevel": { + "description": "The managed application lock level.", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationLockLevel", + "modelAsString": false + } + }, + "ApplicationArtifactType": { + "description": "The managed application artifact type.", + "enum": [ + "NotSpecified", + "Template", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactType", + "modelAsString": false + } + }, + "ApplicationDefinitionArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationDefinitionArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ViewDefinition", + "Authorizations", + "CustomRoleDefinition" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationArtifactName", + "description": "The managed application artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Managed application artifact." + }, + "ApplicationDefinitionArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationDefinitionArtifactName", + "description": "The managed application definition artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application definition artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application definition artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Application definition artifact." + }, + "ApplicationNotificationPolicy": { + "properties": { + "notificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + }, + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationNotificationEndpoint": { + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationPackageLockingPolicyDefinition": { + "properties": { + "allowedActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationDeploymentPolicy": { + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationManagementPolicy": { + "properties": { + "mode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationPolicy": { + "properties": { + "name": { + "type": "string", + "description": "The policy name" + }, + "policyDefinitionId": { + "type": "string", + "description": "The policy definition Id." + }, + "parameters": { + "type": "string", + "description": "The policy parameters." + } + }, + "description": "Managed application policy." + }, + "ApplicationAuthorization": { + "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": { + "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": { + "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": { + "properties": { + "resourceUsageId": { + "type": "string", + "description": "The managed application resource usage Id." + } + }, + "description": "Managed application billing details definition." + }, + "ApplicationJitAccessPolicy": { + "properties": { + "jitAccessEnabled": { + "type": "boolean", + "description": "Whether the JIT access is enabled." + }, + "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." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message." + }, + "JitRequestDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JitRequestProperties", + "description": "The JIT request properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Information about JIT request definition." + }, + "JitRequestPatchable": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Jit request tags" + } + }, + "description": "Information about JIT request." + }, + "JitRequestDefinitionListResult": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Once", + "Recurring" + ], + "type": "string", + "x-ms-enum": { + "name": "JitSchedulingType", + "modelAsString": true + } + }, + "Operation": { + "description": "Microsoft.Solutions 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.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Solutions", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Application, JitRequest, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Solutions operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Solutions operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "DeploymentMode": { + "description": "The deployment mode.", + "enum": [ + "NotSpecified", + "Incremental", + "Complete" + ], + "type": "string", + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": true + } + }, + "ApplicationManagementMode": { + "description": "The management mode.", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationManagementMode", + "modelAsString": true + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplication.json index 957c3d0ec451..451460766d90 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplication.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplication.json @@ -2,14 +2,12 @@ "parameters": { "subscriptionId": "subid", "resourceGroupName": "rg", - "managedApplicationName": "myManagedApplication", + "applicationName": "myManagedApplication", "api-version": "2018-06-01", "parameters": { "properties": { - "managedApplicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" }, - "name": "myManagedApplication", "location": "East US 2", "kind": "ServiceCatalog" } @@ -23,14 +21,33 @@ "type": "Microsoft.Solutions/applications", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "plan": null, "identity": null, "kind": "ServiceCatalog", "sku": null, "properties": { - "managedApplicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "location": "East US 2", + "managedBy": null, + "tags": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplicationDefinition.json index 6e1863f58728..745348a35fe4 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplicationDefinition.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/createOrUpdateApplicationDefinition.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "subid", "resourceGroupName": "rg", - "managedApplicationDefinitionName": "myManagedApplicationDef", + "applicationDefinitionName": "myManagedApplicationDef", "api-version": "2018-06-01", "parameters": { "properties": { @@ -29,7 +29,6 @@ "type": "Microsoft.Solutions/applicationDefinitions", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "identity": null, "sku": null, @@ -54,7 +53,44 @@ ], "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", - "lockLevel": null, + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "location": "East US 2", + "managedBy": null, + "tags": null, + "identity": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ManagedApplicationResourceTemplate", + "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/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/deleteApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/deleteApplicationDefinition.json new file mode 100644 index 000000000000..72e9f6531a59 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/deleteApplicationDefinition.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2018-06-01" + }, + "responses": { + "204": {}, + "200": {}, + "202": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplication.json index cf83b23e112d..339b581af507 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplication.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplication.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "subid", "resourceGroupName": "rg", - "managedApplicationName": "myManagedApplication", + "applicationName": "myManagedApplication", "api-version": "2018-06-01" }, "responses": { @@ -14,20 +14,19 @@ "type": "Microsoft.Solutions/applications", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "plan": null, "identity": null, "kind": "ServiceCatalog", "sku": null, "properties": { - "managedApplicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, "provisioningState": "Created" } } - } + }, + "404": {} } } diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplicationDefinition.json index f3ee03cc02df..b6886c726d4d 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplicationDefinition.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/getApplicationDefinition.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "subid", "resourceGroupName": "rg", - "managedApplicationName": "myManagedApplicationDef", + "applicationDefinitionName": "myManagedApplicationDef", "api-version": "2018-06-01" }, "responses": { @@ -14,7 +14,6 @@ "type": "Microsoft.Solutions/applicationDefinitions", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "identity": null, "sku": null, @@ -39,10 +38,11 @@ ], "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", - "lockLevel": null, + "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" } } - } + }, + "404": {} } } diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationDefinitionsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationDefinitionsByResourceGroup.json index faec6495dd23..a7924b761b65 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationDefinitionsByResourceGroup.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationDefinitionsByResourceGroup.json @@ -15,7 +15,6 @@ "type": "Microsoft.Solutions/applicationDefinitions", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "identity": null, "sku": null, @@ -40,7 +39,7 @@ ], "description": "myManagedApplicationDef description", "displayName": "myManagedApplicationDef", - "lockLevel": null, + "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" } }, @@ -50,7 +49,6 @@ "type": "Microsoft.Solutions/applicationDefinitions", "location": "West US", "managedBy": null, - "resourceGroup": "rg", "tags": null, "identity": null, "sku": null, @@ -75,7 +73,7 @@ ], "description": "myManagedApplicationDef2 description", "displayName": "myManagedApplicationDef2", - "lockLevel": null, + "lockLevel": "None", "packageFileUri": "https://path/to/packagezipfile" } } diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationsByResourceGroup.json index 2cea45e315b8..ffc143598fec 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationsByResourceGroup.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listApplicationsByResourceGroup.json @@ -15,14 +15,12 @@ "type": "Microsoft.Solutions/applications", "location": "East US 2", "managedBy": null, - "resourceGroup": "rg", "tags": null, "plan": null, "identity": null, "kind": "ServiceCatalog", "sku": null, "properties": { - "managedApplicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, @@ -35,14 +33,12 @@ "type": "Microsoft.Solutions/applications", "location": "West US", "managedBy": null, - "resourceGroup": "rg", "tags": null, "plan": null, "identity": null, "kind": "ServiceCatalog", "sku": null, "properties": { - "managedApplicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", "outputs": null, "parameters": null, diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listSolutionsOperations.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listSolutionsOperations.json new file mode 100644 index 000000000000..55f367f84dc3 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/examples/listSolutionsOperations.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "SolutionsOpeartion1", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1", + "operation": "Read" + } + }, + { + "name": "SolutionssOpeartion2", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2", + "operation": "Write" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json index 2702391b5df7..2653ec9878f1 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json @@ -34,6 +34,36 @@ } }, "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": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { "get": { "tags": [ @@ -239,7 +269,7 @@ "name": "parameters", "in": "body", "schema": { - "$ref": "#/definitions/Application" + "$ref": "#/definitions/ApplicationPatchable" }, "description": "Parameters supplied to update an existing managed application." }, @@ -745,24 +775,43 @@ } }, "x-ms-paths": { - "/{applicationDefinitionId}?disambiguation_dummy": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { "get": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_GetById", "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -789,17 +838,36 @@ ], "operationId": "ApplicationDefinitions_DeleteById", "description": "Deletes the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -827,14 +895,36 @@ ], "operationId": "ApplicationDefinitions_CreateOrUpdateById", "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -844,9 +934,6 @@ "$ref": "#/definitions/ApplicationDefinition" }, "description": "Parameters supplied to the create or update a managed application definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -1351,6 +1438,49 @@ "type": "string" } } + }, + "Operation": { + "description": "Microsoft.Solutions 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.Solutions", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Application, JitRequest, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Solutions operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Solutions operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } } }, "parameters": { diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/deleteApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/deleteApplicationDefinition.json new file mode 100644 index 000000000000..c542a5d3dd5f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/deleteApplicationDefinition.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2019-07-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json index 6a3432f615ea..df4427a208ec 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json @@ -266,7 +266,7 @@ "name": "parameters", "in": "body", "schema": { - "$ref": "#/definitions/Application" + "$ref": "#/definitions/ApplicationPatchable" }, "description": "Parameters supplied to update an existing managed application." }, @@ -1097,24 +1097,43 @@ } }, "x-ms-paths": { - "/{applicationDefinitionId}?disambiguation_dummy": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { "get": { "tags": [ "ApplicationDefinitions" ], "operationId": "ApplicationDefinitions_GetById", "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -1138,17 +1157,36 @@ ], "operationId": "ApplicationDefinitions_DeleteById", "description": "Deletes the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -1176,14 +1214,36 @@ ], "operationId": "ApplicationDefinitions_CreateOrUpdateById", "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, "parameters": [ { - "name": "applicationDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -1193,9 +1253,6 @@ "$ref": "#/definitions/ApplicationDefinition" }, "description": "Parameters supplied to the create or update a managed application definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -1259,7 +1316,7 @@ "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationPropertiesPatchable", + "$ref": "#/definitions/ApplicationProperties", "description": "The managed application properties." }, "plan": { diff --git a/specification/resources/resource-manager/readme.azureresourceschema.md b/specification/resources/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a25e134279c2 --- /dev/null +++ b/specification/resources/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,520 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-solutions-2020-08-21-preview + - tag: schema-solutions-2019-07-01 + - tag: schema-solutions-2018-06-01 + - tag: schema-solutions-2017-09-01 + - tag: schema-solutions-2016-09-01-preview + - tag: schema-resources-2020-10-01 + - tag: schema-resources-2020-06-01 + - tag: schema-resources-2020-01-01 + - tag: schema-resources-2019-11-01 + - tag: schema-resources-2019-10-01-preview + - tag: schema-resources-2019-10-01 + - tag: schema-resources-2019-08-01 + - tag: schema-resources-2019-07-01 + - tag: schema-resources-2019-06-01-preview + - tag: schema-resources-2019-06-01 + - tag: schema-resources-2019-05-10 + - tag: schema-resources-2019-05-01 + - tag: schema-resources-2019-03-01 + - tag: schema-resources-2018-06-01 + - tag: schema-resources-2018-05-01 + - tag: schema-resources-2018-02-01 + - tag: schema-resources-2017-05-10 + - tag: schema-resources-2016-09-01 + - tag: schema-resources-2016-07-01 + - tag: schema-resources-2016-06-01 + - tag: schema-resources-2016-02-01 + - tag: schema-resources-2015-11-01 + - tag: schema-features-2015-12-01 + - tag: schema-authorization-2020-07-01-preview + - tag: schema-authorization-2020-03-01 + - tag: schema-authorization-2019-09-01 + - tag: schema-authorization-2019-06-01 + - tag: schema-authorization-2019-01-01 + - tag: schema-authorization-2018-05-01 + - tag: schema-authorization-2018-03-01 + - tag: schema-authorization-2017-06-01-preview + - tag: schema-authorization-2016-12-01 + - tag: schema-authorization-2016-09-01 + - tag: schema-authorization-2016-04-01 + - tag: schema-authorization-2015-10-01-preview + - tag: schema-authorization-2015-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-solutions-2020-08-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2020-08-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json + +``` + +### Tag: schema-solutions-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2019-07-01/managedapplications.json + +``` + +### Tag: schema-solutions-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2018-06-01/managedapplications.json + +``` + +### Tag: schema-solutions-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2017-09-01/managedapplications.json + +``` + +### Tag: schema-solutions-2016-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2016-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json + +``` + +### Tag: schema-resources-2020-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2020-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2020-10-01/deploymentScripts.json + +``` + +### Tag: schema-resources-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2020-06-01/resources.json + +``` + +### Tag: schema-resources-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2020-01-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-11-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json + +``` + +### Tag: schema-resources-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-10-01/resources.json + +``` + +### Tag: schema-resources-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-08-01/resources.json + +``` + +### Tag: schema-resources-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-07-01/resources.json + +``` + +### Tag: schema-resources-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json + +``` + +### Tag: schema-resources-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-05-10 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-05-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-05-10/resources.json + +``` + +### Tag: schema-resources-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-05-01/resources.json + +``` + +### Tag: schema-resources-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-03-01/resources.json + +``` + +### Tag: schema-resources-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-05-01/resources.json + +``` + +### Tag: schema-resources-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-02-01/resources.json + +``` + +### Tag: schema-resources-2017-05-10 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2017-05-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2017-05-10/resources.json + +``` + +### Tag: schema-resources-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-09-01/resources.json + - Microsoft.Resources/stable/2016-09-01/links.json + +``` + +### Tag: schema-resources-2016-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-07-01/resources.json + +``` + +### Tag: schema-resources-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2016-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-02-01/resources.json + +``` + +### Tag: schema-resources-2015-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2015-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2015-11-01/resources.json + - Microsoft.Resources/stable/2015-11-01/subscriptions.json + +``` + +### Tag: schema-features-2015-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-features-2015-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Features/stable/2015-12-01/features.json + +``` + +### Tag: schema-authorization-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json + +``` + +### Tag: schema-authorization-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2020-03-01/policyAssignments.json + - Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json + - Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-09-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-06-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-06-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-06-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-01-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-01-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-01-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2018-05-01/policyAssignments.json + - Microsoft.Authorization/stable/2018-05-01/policyDefinitions.json + - Microsoft.Authorization/stable/2018-05-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2018-03-01/policyAssignments.json + - Microsoft.Authorization/stable/2018-03-01/policyDefinitions.json + - Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json + - Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json + - Microsoft.Authorization/stable/2016-12-01/policyAssignments.json + +``` + +### Tag: schema-authorization-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-09-01/locks.json + +``` + +### Tag: schema-authorization-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-04-01/policy.json + +``` + +### Tag: schema-authorization-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2015-10-01-preview/policy.json + +``` + +### Tag: schema-authorization-2015-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2015-01-01/locks.json + +``` diff --git a/specification/resources/resource-manager/readme.csharp.md b/specification/resources/resource-manager/readme.csharp.md index 0364f5d7d6c2..a846bc082ad5 100644 --- a/specification/resources/resource-manager/readme.csharp.md +++ b/specification/resources/resource-manager/readme.csharp.md @@ -792,3 +792,17 @@ batch: - tag: package-locks-2016-09 - tag: package-resources-2018-05 ``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).ResourceManager +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Resource/Management.ResourceManager/Generated + +batch: + - tag: package-resources-2019-10 + - tag: package-policy-2016-12 + - tag: package-locks-2016-09 + ``` \ No newline at end of file diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md index 4d62a77a41b4..5071a4316899 100644 --- a/specification/resources/resource-manager/readme.go.md +++ b/specification/resources/resource-manager/readme.go.md @@ -25,6 +25,7 @@ batch: - tag: package-features-2015-12 - tag: package-locks-2016-09 - tag: package-locks-2015-01 + - tag: package-policy-2020-03 - tag: package-policy-2019-09 - tag: package-policy-2019-06 - tag: package-policy-2019-01 @@ -34,6 +35,7 @@ batch: - tag: package-policy-2016-12 - tag: package-policy-2016-04 - tag: package-policy-2015-10 + - tag: package-resources-2020-06 - tag: package-resources-2019-10 - tag: package-resources-2019-05 - tag: package-resources-2019-03 @@ -107,6 +109,16 @@ namespace: policy output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-09-01/policy ``` +### Tag: package-policy-2020-03 and go + +These settings apply only when `--tag=package-policy-2020-03 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-policy-2020-03' && $(go) +namespace: policy +output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2020-03-01-preview/policy +``` + ### Tag: package-policy-2019-06 and go These settings apply only when `--tag=package-policy-2019-06 --go` is specified on the command line. @@ -187,6 +199,16 @@ namespace: policy output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2015-10-01-preview/policy ``` +### Tag: package-resources-2020-06 and go + +These settings apply only when `--tag=package-resources-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-resources-2020-06' && $(go) +namespace: resources +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-06-01/resources +``` + ### Tag: package-resources-2019-10 and go These settings apply only when `--tag=package-resources-2019-10 --go` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md index d088037ef233..d30e39917517 100644 --- a/specification/resources/resource-manager/readme.java.md +++ b/specification/resources/resource-manager/readme.java.md @@ -59,6 +59,8 @@ batch: - tag: package-policy-2018-05 - tag: package-policy-2018-03 - tag: package-policy-2016-12 + - tag: package-resources-2020-06 + - tag: package-resources-2019-10 - tag: package-resources-2019-08 - tag: package-resources-2019-07 - tag: package-resources-2019-0510 @@ -221,6 +223,32 @@ directive: transform: $['x-ms-client-name'] = 'scopeProperty' ``` +### Tag: package-resources-2020-06 and java + +These settings apply only when `--tag=package-resources-2020-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-resources-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.resources.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/resources/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-resources-2019-10 and java + +These settings apply only when `--tag=package-resources-2019-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-resources-2019-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.resources.v2019_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/resources/mgmt-v2019_10_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-resources-2019-08 and java These settings apply only when `--tag=package-resources-2019-08 --java` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 15f735c4451b..8d8a18f6cee0 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -37,7 +37,7 @@ tag: package-locks-2016-09 ``` ``` yaml $(package-policy) -tag: package-policy-2019-09 +tag: package-policy-2020-09 ``` ``` yaml $(package-resources) @@ -57,11 +57,29 @@ tag: package-managedapplications-2018-06 ``` ``` yaml $(package-deploymentscripts) -tag: package-deploymentscripts-2019-10-preview +tag: package-deploymentscripts-2020-10 ``` ``` yaml $(package-templatespecs) -tag: package-templatespecs-2019-06-preview +tag: package-2020-09 +``` + +### Tag: package-policy-2020-09 + +These settings apply only when `--tag=package-policy-2020-09` is specified on the command line. + +``` yaml $(tag) == 'package-policy-2020-09' +input-file: +- Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json +``` + +### Tag: package-preview-2020-08 + +These settings apply only when `--tag=package-preview-2020-08` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-08' +input-file: + - Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json ``` ### Tag: package-resources-2020-06 @@ -77,11 +95,20 @@ input-file: These settings apply only when `--tag=package-subscriptions-2020-01` is specified on the command line. -```yaml $(tag) == 'package-subscriptions-2020-01' +``` yaml $(tag) == 'package-subscriptions-2020-01' input-file: - Microsoft.Resources/stable/2020-01-01/subscriptions.json ``` +### Tag: package-deploymentscripts-2020-10 + +These settings apply only when `--tag=package-deploymentscripts-2020-10` is specified on the command line. + +``` yaml $(tag) == 'package-deploymentscripts-2020-10' +input-file: +- Microsoft.Resources/stable/2020-10-01/deploymentScripts.json +``` + ### Tag: package-deploymentscripts-2019-10-preview These settings apply only when `--tag=package-deploymentscripts-2019-10-preview` is specified on the command line. @@ -118,6 +145,22 @@ input-file: - Microsoft.Authorization/stable/2015-01-01/locks.json ``` +### Tag: package-policy-2020-03 + +These settings apply only when `--tag=package-policy-2020-03` is specified on the command line. + +``` yaml $(tag) == 'package-policy-2020-03' +input-file: +- Microsoft.Authorization/stable/2020-03-01/policyAssignments.json +- Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json +- Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json +- Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json + +# Needed when there is more than one input file +override-info: + title: PolicyClient +``` + ### Tag: package-policy-2019-09 These settings apply only when `--tag=package-policy-2019-09` is specified on the command line. @@ -486,6 +529,10 @@ directive: from: policyAssignments.json where: $.paths reason: policy assignment under an extension resource with Microsoft.Management + - suppress: UniqueResourcePaths + from: policyExemptions.json + where: $.paths + reason: policy exemption under an extension resource with Microsoft.Management - suppress: OperationsAPIImplementation from: policyAssignments.json where: $.paths @@ -498,6 +545,14 @@ directive: from: policySetDefinitions.json where: $.paths reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger + - suppress: OperationsAPIImplementation + from: policyExemptions.json + where: $.paths + reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger + - suppress: BodyTopLevelProperties + from: policyExemptions.json + where: $.definitions.PolicyExemption.properties + reason: Currently systemData is not allowed - suppress: BodyTopLevelProperties from: resources.json where: $.definitions.ResourceGroup.properties @@ -509,7 +564,7 @@ directive: - suppress: BodyTopLevelProperties from: resources.json where: $.definitions.GenericResourceExpanded.properties - reason: createdTime,changedTime & provisioningState are top-level properties + reason: 'createdTime,changedTime & provisioningState are top-level properties' - suppress: BodyTopLevelProperties from: resources.json where: $.definitions.TagDetails.properties @@ -528,7 +583,7 @@ directive: reason: TagDetails will be deprecated soon - suppress: XmsResourceInPutResponse from: resources.json - where: $.paths["/subscriptions/{subscriptionId}/tagNames/{tagName}"].put + where: '$.paths["/subscriptions/{subscriptionId}/tagNames/{tagName}"].put' reason: TagDetails is not an Azure resource - suppress: BodyTopLevelProperties from: managedapplications.json @@ -547,19 +602,19 @@ directive: where: $.definitions.GenericResource.properties reason: managedBy is a top level property - from: deploymentScripts.json - suppress: TrackedResourceGetOperation + suppress: TrackedResourceGetOperation where: $.definitions.AzureCliScript reason: Tooling issue. - from: deploymentScripts.json - suppress: TrackedResourcePatchOperation + suppress: TrackedResourcePatchOperation where: $.definitions.AzureCliScript reason: Tooling issue. - from: deploymentScripts.json - suppress: TrackedResourceGetOperation + suppress: TrackedResourceGetOperation where: $.definitions.AzurePowerShellScript reason: Tooling issue - from: deploymentScripts.json - suppress: TrackedResourcePatchOperation + suppress: TrackedResourcePatchOperation where: $.definitions.AzurePowerShellScript reason: Tooling issue - from: deploymentScripts.json @@ -567,23 +622,23 @@ directive: where: $.paths reason: OperationsAPI will come from Resources - from: deploymentScripts.json - suppress: R3006 #BodyTopLevelProperties - where: - - $.definitions.DeploymentScript.properties - - $.definitions.AzureCliScript.properties - - $.definitions.AzurePowerShellScript.properties + suppress: R3006 + where: + - $.definitions.DeploymentScript.properties + - $.definitions.AzureCliScript.properties + - $.definitions.AzurePowerShellScript.properties reason: Currently systemData is not allowed - suppress: OperationsAPIImplementation from: templateSpecs.json where: $.paths reason: OperationsAPI will come from Resources - - suppress: R3006 #BodyTopLevelProperties + - suppress: R3006 from: templateSpecs.json - where: - - $.definitions.TemplateSpec.properties - - $.definitions.TemplateSpecVersion.properties - - $.definitions.TemplateSpecUpdateModel.properties - - $.definitions.TemplateSpecVersionUpdateModel.properties + where: + - $.definitions.TemplateSpec.properties + - $.definitions.TemplateSpecVersion.properties + - $.definitions.TemplateSpecUpdateModel.properties + - $.definitions.TemplateSpecVersionUpdateModel.properties reason: Currently systemData is not allowed - suppress: TrackedResourceListByImmediateParent from: templateSpecs.json @@ -593,6 +648,26 @@ directive: from: templateSpecs.json where: $.definitions.TemplateSpecVersion reason: Tooling issue + - suppress: OperationsAPIImplementation + where: $.paths + from: dataPolicyManifests.json + reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger + - suppress: EnumInsteadOfBoolean + where: $.definitions.DataManifestCustomResourceFunctionDefinition.properties.allowCustomProperties + from: dataPolicyManifests.json + reason: 'This property can only have two values. ' + - suppress: EnumInsteadOfBoolean + where: $.definitions.DataPolicyManifestProperties.properties.isBuiltInOnly + from: dataPolicyManifests.json + reason: 'This property can only have two values. ' + - suppress: PageableOperation + where: '$.paths["/providers/Microsoft.Authorization/dataPolicyManifests"].get' + from: dataPolicyManifests.json + reason: Pagination not supported. The size of the result list is pretty limited + - suppress: DescriptionAndTitleMissing + where: $.definitions.AliasPathMetadata + from: resources.json + reason: This was already checked in - not my code ``` --- @@ -622,6 +697,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-node - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js resources/resource-manager ``` ## Go @@ -666,76 +744,6 @@ override-info: title: PolicyClient ``` -## 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.Resources/stable/2020-06-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2020-01-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json - - $(this-folder)/Microsoft.Features/stable/2015-12-01/features.json - - $(this-folder)/Microsoft.Authorization/stable/2016-09-01/locks.json - - $(this-folder)/Microsoft.Authorization/stable/2015-01-01/locks.json - - $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policyDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policyDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policyDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policyDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json - - $(this-folder)/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json - - $(this-folder)/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json - - $(this-folder)/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json - - $(this-folder)/Microsoft.Authorization/stable/2016-04-01/policy.json - - $(this-folder)/Microsoft.Authorization/preview/2015-10-01-preview/policy.json - - $(this-folder)/Microsoft.Resources/stable/2019-10-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-08-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-07-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-05-10/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-05-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-03-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2018-05-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2018-02-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2017-05-10/resources.json - - $(this-folder)/Microsoft.Resources/stable/2016-09-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2016-07-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2016-02-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2015-11-01/resources.json - - $(this-folder)/Microsoft.Resources/stable/2019-11-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/stable/2019-06-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/stable/2018-06-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/stable/2016-06-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/stable/2015-11-01/subscriptions.json - - $(this-folder)/Microsoft.Resources/stable/2016-09-01/links.json - - $(this-folder)/Microsoft.Solutions/stable/2019-07-01/managedapplications.json - - $(this-folder)/Microsoft.Solutions/stable/2018-06-01/managedapplications.json - - $(this-folder)/Microsoft.Solutions/stable/2017-09-01/managedapplications.json - - $(this-folder)/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.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 -``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index a280776e0d1a..fc83b036dc42 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -57,7 +57,8 @@ batch: - tag: package-subscriptions-2019-06 - tag: package-subscriptions-2018-06 - tag: package-subscriptions-2016-06 - - tag: package-deploymentscripts-2019-10-preview + - tag: package-deploymentscripts-2020-10 + - tag: package-deploymentscripts-2019-10-preview - tag: package-templatespecs-2019-06-preview ``` @@ -100,7 +101,8 @@ batch: - tag: package-subscriptions-2018-06 - tag: package-subscriptions-2016-06 - multiapiscript-subscriptions: true - - tag: package-deploymentscripts-2019-10-preview + - tag: package-deploymentscripts-2020-10 + - tag: package-deploymentscripts-2019-10-preview - multiapiscript-deploymentscripts: true - tag: package-templatespecs-2019-06-preview - multiapiscript-templatespecs: true @@ -560,11 +562,24 @@ These settings apply only when `--tag=package-deploymentscripts-2019-10-preview` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-deploymentscripts-2019-10-preview' -namespace: azure.mgmt.resource.deploymentscripts.v2019_10_preview -output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_preview +namespace: azure.mgmt.resource.deploymentscripts.v2019_10_01_preview +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_01_preview python: - namespace: azure.mgmt.resource.deploymentscripts.v2019_10_preview - output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_preview + namespace: azure.mgmt.resource.deploymentscripts.v2019_10_01_preview + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_01_preview +``` + +### Tag: package-deploymentscripts-2020-10 and python + +These settings apply only when `--tag=package-deploymentscripts-2020-10` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-deploymentscripts-2020-10' +namespace: azure.mgmt.resource.deploymentscripts.v2020_10_01 +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2020_10_01 +python: + namespace: azure.mgmt.resource.deploymentscripts.v2020_10_01 + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2020_10_01 ``` ### Tag: package-templatespecs-2019-06-preview and python diff --git a/specification/scheduler/resource-manager/readme.azureresourceschema.md b/specification/scheduler/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..623238bb5d07 --- /dev/null +++ b/specification/scheduler/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-scheduler-2016-03-01 + - tag: schema-scheduler-2016-01-01 + - tag: schema-scheduler-2014-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-scheduler-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/stable/2016-03-01/scheduler.json + +``` + +### Tag: schema-scheduler-2016-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2016-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/stable/2016-01-01/scheduler.json + +``` + +### Tag: schema-scheduler-2014-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2014-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/preview/2014-08-01-preview/scheduler.json + +``` diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md index 9b3c79d1929a..dd10e44abeea 100644 --- a/specification/scheduler/resource-manager/readme.md +++ b/specification/scheduler/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_scheduler'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js scheduler/resource-manager ``` @@ -188,29 +191,7 @@ 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.Scheduler/stable/2016-03-01/scheduler.json - - $(this-folder)/Microsoft.Scheduler/stable/2016-01-01/scheduler.json - - $(this-folder)/Microsoft.Scheduler/preview/2014-08-01-preview/scheduler.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json index ddead0180328..c2a69aac29b9 100644 --- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json @@ -5628,15 +5628,6 @@ } } }, - "NativeBlobSoftDeleteDeletionDetectionPolicy": { - "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage", - "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy", - "allOf": [ - { - "$ref": "#/definitions/DataDeletionDetectionPolicy" - } - ] - }, "SearchIndexerDataSourceType": { "type": "string", "enum": [ diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json index 2184e0f220a1..9c58402075b7 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json @@ -19,6 +19,8 @@ "rating desc" ], "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" ], diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json index d1cf67aff86e..19cb45964521 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json @@ -22,6 +22,8 @@ "search": "nice hotels", "searchFields": "title,description", "searchMode": "any", + "sessionId": "mysessionid", + "scoringStatistics": "global", "select": "docId,title,description", "skip": 0, "top": 10 @@ -55,6 +57,8 @@ "minimumCoverage": null, "orderby": "search.score() desc,rating desc", "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" ], diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json index a0bc601ee5ea..c0d726305984 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json @@ -21,6 +21,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } } } }, @@ -45,6 +54,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json index b1f9576ade36..291cef4b0e2f 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json @@ -14,6 +14,15 @@ "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } } } }, @@ -33,7 +42,16 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json index 7e2302b90da9..6f4b6c2a1187 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json @@ -23,6 +23,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -47,6 +53,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -70,6 +82,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json index 4b83952c88db..5998c24569ac 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json @@ -16,6 +16,12 @@ "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -35,7 +41,13 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "201": { @@ -53,7 +65,13 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json index 8357e13c597c..15352647647d 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json @@ -109,7 +109,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "responses": { @@ -236,7 +242,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "201": { @@ -362,7 +374,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json index 5264ef96e53c..2380e1d3c9d0 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json @@ -109,7 +109,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } + } } }, "responses": { @@ -236,7 +245,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json index 4fd21c6cd58d..3fafafb07985 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json @@ -25,6 +25,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json index 70d220b9442b..898a7db0e17d 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json @@ -20,7 +20,16 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json index bd6392af7e5e..b83367e017e6 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json @@ -128,7 +128,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json index 3730022b8d14..87f3c9bdc657 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json @@ -27,6 +27,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } ] diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json index b3831b233a9a..72b8f9ccbef6 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json @@ -58,7 +58,16 @@ } } ], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } ] } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json index 01e212f5eac4..e10b715ef9d0 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json @@ -130,7 +130,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } ] } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json index 6d58063f4100..8f2ac132dd62 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json @@ -275,6 +275,45 @@ "name": "SearchOptions" } }, + { + "name": "scoringStatistics", + "in": "query", + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "sessionId", + "in": "query", + "type": "string", + "description": "A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, { "name": "$select", "in": "query", @@ -1196,6 +1235,30 @@ }, "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." }, + "ScoringStatistics": { + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, "AutocompleteMode": { "type": "string", "enum": [ @@ -1277,6 +1340,14 @@ "$ref": "#/definitions/QueryType", "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." }, + "scoringStatistics": { + "$ref": "#/definitions/ScoringStatistics", + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "sessionId": { + "type": "string", + "description": "A value to be used to create a sticky session, which can help getting more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character." + }, "scoringParameters": { "type": "array", "items": { 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 4bf96e5ca874..8ce6bde3f9a1 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 @@ -5630,15 +5630,6 @@ } } }, - "NativeBlobSoftDeleteDeletionDetectionPolicy": { - "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage", - "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy", - "allOf": [ - { - "$ref": "#/definitions/DataDeletionDetectionPolicy" - } - ] - }, "SearchIndexerDataSourceType": { "type": "string", "enum": [ @@ -5720,6 +5711,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the data source." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your datasource definition when you want full assurance that no one, not even Microsoft, can decrypt your data source definition in Azure Cognitive Search. Once you have encrypted your data source definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your datasource definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ @@ -5788,14 +5787,253 @@ "description": "The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0." }, "configuration": { - "type": "object", - "additionalProperties": { - "type": "object" - }, - "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type." + "$ref": "#/definitions/IndexingParametersConfiguration" } }, - "description": "Represents parameters for indexer execution." + "description": "Represents parameters for indexer execution.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-indexer#parameters" + } + }, + "IndexingParametersConfiguration": { + "type": "object", + "properties": { + "parsingMode": { + "$ref": "#/definitions/ParsingMode" + }, + "excludedFileNameExtensions": { + "type": "string", + "default": "", + "description": "Comma-delimited list of filename extensions to ignore when processing from Azure blob storage. For example, you could exclude \".png, .mp4\" to skip over those files during indexing." + }, + "indexedFileNameExtensions": { + "type": "string", + "default": "", + "description": "Comma-delimited list of filename extensions to select when processing from Azure blob storage. For example, you could focus indexing on specific application files \".docx, .pptx, .msg\" to specifically include those file types." + }, + "failOnUnsupportedContentType": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set to false if you want to continue indexing when an unsupported content type is encountered, and you don't know all the content types (file extensions) in advance." + }, + "failOnUnprocessableDocument": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set to false if you want to continue indexing if a document fails indexing." + }, + "indexStorageMetadataOnlyForOversizedDocuments": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set this property to true to still index storage metadata for blob content that is too large to process. Oversized blobs are treated as errors by default. For limits on blob size, see https://docs.microsoft.com/azure/search/search-limits-quotas-capacity." + }, + "delimitedTextHeaders": { + "type": "string", + "description": "For CSV blobs, specifies a comma-delimited list of column headers, useful for mapping source fields to destination fields in an index." + }, + "delimitedTextDelimiter": { + "type": "string", + "description": "For CSV blobs, specifies the end-of-line single-character delimiter for CSV files where each line starts a new document (for example, \"|\")." + }, + "firstLineContainsHeaders": { + "type": "boolean", + "default": true, + "description": "For CSV blobs, indicates that the first (non-blank) line of each blob contains headers." + }, + "documentRoot": { + "type": "string", + "description": "For JSON arrays, given a structured or semi-structured document, you can specify a path to the array using this property." + }, + "dataToExtract": { + "$ref": "#/definitions/DataToExtract" + }, + "imageAction": { + "$ref": "#/definitions/ImageAction" + }, + "allowSkillsetToReadFileData": { + "type": "boolean", + "default": false, + "description": "If true, will create a path //document//file_data that is an object representing the original file data downloaded from your blob data source. This allows you to pass the original file data to a custom skill for processing within the enrichment pipeline, or to the Document Extraction skill." + }, + "pdfTextRotationAlgorithm": { + "$ref": "#/definitions/PdfTextRotationAlgorithm" + }, + "executionEnvironment": { + "$ref": "#/definitions/ExecutionEnvironment" + }, + "queryTimeout": { + "type": "string", + "default": "00:05:00", + "description": "Increases the timeout beyond the 5-minute default for Azure SQL database data sources, specified in the format \"hh:mm:ss\"." + } + }, + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-indexer#parameters" + } + }, + "ParsingMode": { + "type": "string", + "enum": [ + "default", + "text", + "delimitedText", + "json", + "jsonArray", + "jsonLines" + ], + "x-ms-enum": { + "name": "BlobIndexerParsingMode", + "modelAsString": true, + "values": [ + { + "value": "default", + "name": "Default", + "description": "Set to default for normal file processing." + }, + { + "value": "text", + "name": "Text", + "description": "Set to text to improve indexing performance on plain text files in blob storage." + }, + { + "value": "delimitedText", + "name": "DelimitedText", + "description": "Set to delimitedText when blobs are plain CSV files." + }, + { + "value": "json", + "name": "Json", + "description": "Set to json to extract structured content from JSON files." + }, + { + "value": "jsonArray", + "name": "JsonArray", + "description": "Set to jsonArray to extract individual elements of a JSON array as separate documents in Azure Cognitive Search." + }, + { + "value": "jsonLines", + "name": "JsonLines", + "description": "Set to jsonLines to extract individual JSON entities, separated by a new line, as separate documents in Azure Cognitive Search." + } + ] + }, + "default": "default", + "description": "Represents the parsing mode for indexing from an Azure blob data source." + }, + "DataToExtract": { + "type": "string", + "enum": [ + "storageMetadata", + "allMetadata", + "contentAndMetadata" + ], + "x-ms-enum": { + "name": "BlobIndexerDataToExtract", + "modelAsString": true, + "values": [ + { + "value": "storageMetadata", + "name": "StorageMetadata", + "description": "Indexes just the standard blob properties and user-specified metadata." + }, + { + "value": "allMetadata", + "name": "AllMetadata", + "description": "Extracts metadata provided by the Azure blob storage subsystem and the content-type specific metadata (for example, metadata unique to just .png files are indexed)." + }, + { + "value": "contentAndMetadata", + "name": "ContentAndMetadata", + "description": "Extracts all metadata and textual content from each blob." + } + ] + }, + "default": "contentAndMetadata", + "description": "Specifies the data to extract from Azure blob storage and tells the indexer which data to extract from image content when \"imageAction\" is set to a value other than \"none\". This applies to embedded image content in a .PDF or other application, or image files such as .jpg and .png, in Azure blobs." + }, + "ImageAction": { + "type": "string", + "enum": [ + "none", + "generateNormalizedImages", + "generateNormalizedImagePerPage" + ], + "x-ms-enum": { + "name": "BlobIndexerImageAction", + "modelAsString": true, + "values": [ + { + "value": "none", + "name": "None", + "description": "Ignores embedded images or image files in the data set. This is the default." + }, + { + "value": "generateNormalizedImages", + "name": "GenerateNormalizedImages", + "description": "Extracts text from images (for example, the word \"STOP\" from a traffic stop sign), and embeds it into the content field. This action requires that \"dataToExtract\" is set to \"contentAndMetadata\". A normalized image refers to additional processing resulting in uniform image output, sized and rotated to promote consistent rendering when you include images in visual search results. This information is generated for each image when you use this option." + }, + { + "value": "generateNormalizedImagePerPage", + "name": "GenerateNormalizedImagePerPage", + "description": "Extracts text from images (for example, the word \"STOP\" from a traffic stop sign), and embeds it into the content field, but treats PDF files differently in that each page will be rendered as an image and normalized accordingly, instead of extracting embedded images. Non-PDF file types will be treated the same as if \"generateNormalizedImages\" was set." + } + ] + }, + "default": "none", + "description": "Determines how to process embedded images and image files in Azure blob storage. Setting the \"imageAction\" configuration to any value other than \"none\" requires that a skillset also be attached to that indexer." + }, + "PdfTextRotationAlgorithm": { + "type": "string", + "enum": [ + "none", + "detectAngles" + ], + "x-ms-enum": { + "name": "BlobIndexerPDFTextRotationAlgorithm", + "modelAsString": true, + "values": [ + { + "value": "none", + "name": "None", + "description": "Leverages normal text extraction. This is the default." + }, + { + "value": "detectAngles", + "name": "DetectAngles", + "description": "May produce better and more readable text extraction from PDF files that have rotated text within them. Note that there may be a small performance speed impact when this parameter is used. This parameter only applies to PDF files, and only to PDFs with embedded text. If the rotated text appears within an embedded image in the PDF, this parameter does not apply." + } + ] + }, + "default": "none", + "description": "Determines algorithm for text extraction from PDF files in Azure blob storage." + }, + "ExecutionEnvironment": { + "type": "string", + "enum": [ + "standard", + "private" + ], + "x-ms-enum": { + "name": "IndexerExecutionEnvironment", + "modelAsString": true, + "values": [ + { + "value": "standard", + "name": "standard", + "description": "Indicates that Azure Cognitive Search can determine where the indexer should execute. This is the default environment when nothing is specified and is the recommended value." + }, + { + "value": "private", + "name": "private", + "description": "Indicates that the indexer should run with the environment provisioned specifically for the search service. This should only be specified as the execution environment if the indexer needs to access resources securely over shared private link resources." + } + ] + }, + "default": "standard", + "description": "Specifies the environment in which the indexer should execute." }, "FieldMappingFunction": { "properties": { @@ -5909,6 +6147,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the indexer." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your indexer definition (as well as indexer execution status) when you want full assurance that no one, not even Microsoft, can decrypt them in Azure Cognitive Search. Once you have encrypted your indexer definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your indexer definition (and indexer execution status) will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ @@ -6853,6 +7099,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the skillset." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your skillset definition when you want full assurance that no one, not even Microsoft, can decrypt your skillset definition in Azure Cognitive Search. Once you have encrypted your skillset definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your skillset definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json index 3ce01b6b6ed5..bbee701e50c8 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json @@ -19,6 +19,8 @@ "rating desc" ], "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" ], diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json index df4b9d096f7d..b516d374159a 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json @@ -22,6 +22,8 @@ "search": "nice hotels", "searchFields": "title,description", "searchMode": "any", + "sessionId": "mysessionid", + "scoringStatistics": "global", "select": "docId,title,description", "skip": 0, "top": 10 @@ -55,6 +57,8 @@ "minimumCoverage": null, "orderby": "search.score() desc,rating desc", "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", "scoringParameters": [ "currentLocation--122.123,44.77233" ], diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json index 75a03fd6a8a2..6cf602cc81c2 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json @@ -21,6 +21,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } } } }, @@ -45,6 +54,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json index bc6890a484b7..dde141752872 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json @@ -4,7 +4,7 @@ "api-version": "2020-06-30", "indexer": { "name": "myindexer", - "description": "a cool indexer", + "description": "an indexer", "dataSourceName": "mydatasource", "targetIndexName": "orders", "schedule": { @@ -14,6 +14,15 @@ "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } } } }, @@ -21,7 +30,7 @@ "201": { "body": { "name": "myindexer", - "description": "a cool indexer", + "description": "an indexer", "dataSourceName": "mydatasource", "targetIndexName": "orders", "schedule": { @@ -33,7 +42,16 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json index cdb3ff9e4ff1..2fdaf34dd629 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json @@ -23,6 +23,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -47,6 +53,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -70,6 +82,12 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json index b880163531f0..1edaeb8d1e3c 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json @@ -16,6 +16,12 @@ "parameters": { "maxFailedItems": 10, "maxFailedItemsPerBatch": 5 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null } } }, @@ -35,7 +41,13 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "201": { @@ -53,7 +65,13 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json index 6878a7d28b76..3df98f280f43 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json @@ -109,7 +109,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "responses": { @@ -236,7 +242,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } }, "201": { @@ -362,7 +374,13 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json index e94fdced936e..0508a00df3f7 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json @@ -109,7 +109,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } + } } }, "responses": { @@ -236,7 +245,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json index 73b5e16e2c41..74d91858b762 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json @@ -25,6 +25,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json index 687f23d7fb70..1f74129f1d48 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json @@ -20,7 +20,16 @@ "maxFailedItemsPerBatch": 5 }, "fieldMappings": [], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json index f09a426ffbc4..4747247dcb24 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json @@ -128,7 +128,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } } } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json index 51e07eeb9750..2f9638ef6f29 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json @@ -27,6 +27,15 @@ "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "isDeleted", "softDeleteMarkerValue": "true" + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } } } ] diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json index 6ceef86d3a41..08c000587dd4 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json @@ -58,7 +58,16 @@ } } ], - "disabled": false + "disabled": false, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } ] } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json index f9050db649bb..e90e798bd04a 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json @@ -130,7 +130,16 @@ ], "httpHeaders": {} } - ] + ], + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } } ] } diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json index 688b5849912e..b7a50a9e82d4 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json @@ -275,6 +275,45 @@ "name": "SearchOptions" } }, + { + "name": "scoringStatistics", + "in": "query", + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "sessionId", + "in": "query", + "type": "string", + "description": "A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, { "name": "$select", "in": "query", @@ -1196,6 +1235,30 @@ }, "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." }, + "ScoringStatistics": { + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, "AutocompleteMode": { "type": "string", "enum": [ @@ -1277,6 +1340,14 @@ "$ref": "#/definitions/QueryType", "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." }, + "scoringStatistics": { + "$ref": "#/definitions/ScoringStatistics", + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "sessionId": { + "type": "string", + "description": "A value to be used to create a sticky session, which can help getting more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character." + }, "scoringParameters": { "type": "array", "items": { diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json index a3229ec0e5dd..54fe4d8b460b 100644 --- a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json @@ -5630,15 +5630,6 @@ } } }, - "NativeBlobSoftDeleteDeletionDetectionPolicy": { - "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage", - "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy", - "allOf": [ - { - "$ref": "#/definitions/DataDeletionDetectionPolicy" - } - ] - }, "SearchIndexerDataSourceType": { "type": "string", "enum": [ @@ -5720,6 +5711,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the data source." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your datasource definition when you want full assurance that no one, not even Microsoft, can decrypt your data source definition in Azure Cognitive Search. Once you have encrypted your data source definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your datasource definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ @@ -5788,14 +5787,253 @@ "description": "The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0." }, "configuration": { - "type": "object", - "additionalProperties": { - "type": "object" - }, - "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type." + "$ref": "#/definitions/IndexingParametersConfiguration" } }, - "description": "Represents parameters for indexer execution." + "description": "Represents parameters for indexer execution.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-indexer#parameters" + } + }, + "IndexingParametersConfiguration": { + "type": "object", + "properties": { + "parsingMode": { + "$ref": "#/definitions/ParsingMode" + }, + "excludedFileNameExtensions": { + "type": "string", + "default": "", + "description": "Comma-delimited list of filename extensions to ignore when processing from Azure blob storage. For example, you could exclude \".png, .mp4\" to skip over those files during indexing." + }, + "indexedFileNameExtensions": { + "type": "string", + "default": "", + "description": "Comma-delimited list of filename extensions to select when processing from Azure blob storage. For example, you could focus indexing on specific application files \".docx, .pptx, .msg\" to specifically include those file types." + }, + "failOnUnsupportedContentType": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set to false if you want to continue indexing when an unsupported content type is encountered, and you don't know all the content types (file extensions) in advance." + }, + "failOnUnprocessableDocument": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set to false if you want to continue indexing if a document fails indexing." + }, + "indexStorageMetadataOnlyForOversizedDocuments": { + "type": "boolean", + "default": false, + "description": "For Azure blobs, set this property to true to still index storage metadata for blob content that is too large to process. Oversized blobs are treated as errors by default. For limits on blob size, see https://docs.microsoft.com/azure/search/search-limits-quotas-capacity." + }, + "delimitedTextHeaders": { + "type": "string", + "description": "For CSV blobs, specifies a comma-delimited list of column headers, useful for mapping source fields to destination fields in an index." + }, + "delimitedTextDelimiter": { + "type": "string", + "description": "For CSV blobs, specifies the end-of-line single-character delimiter for CSV files where each line starts a new document (for example, \"|\")." + }, + "firstLineContainsHeaders": { + "type": "boolean", + "default": true, + "description": "For CSV blobs, indicates that the first (non-blank) line of each blob contains headers." + }, + "documentRoot": { + "type": "string", + "description": "For JSON arrays, given a structured or semi-structured document, you can specify a path to the array using this property." + }, + "dataToExtract": { + "$ref": "#/definitions/DataToExtract" + }, + "imageAction": { + "$ref": "#/definitions/ImageAction" + }, + "allowSkillsetToReadFileData": { + "type": "boolean", + "default": false, + "description": "If true, will create a path //document//file_data that is an object representing the original file data downloaded from your blob data source. This allows you to pass the original file data to a custom skill for processing within the enrichment pipeline, or to the Document Extraction skill." + }, + "pdfTextRotationAlgorithm": { + "$ref": "#/definitions/PdfTextRotationAlgorithm" + }, + "executionEnvironment": { + "$ref": "#/definitions/ExecutionEnvironment" + }, + "queryTimeout": { + "type": "string", + "default": "00:05:00", + "description": "Increases the timeout beyond the 5-minute default for Azure SQL database data sources, specified in the format \"hh:mm:ss\"." + } + }, + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-indexer#parameters" + } + }, + "ParsingMode": { + "type": "string", + "enum": [ + "default", + "text", + "delimitedText", + "json", + "jsonArray", + "jsonLines" + ], + "x-ms-enum": { + "name": "BlobIndexerParsingMode", + "modelAsString": true, + "values": [ + { + "value": "default", + "name": "Default", + "description": "Set to default for normal file processing." + }, + { + "value": "text", + "name": "Text", + "description": "Set to text to improve indexing performance on plain text files in blob storage." + }, + { + "value": "delimitedText", + "name": "DelimitedText", + "description": "Set to delimitedText when blobs are plain CSV files." + }, + { + "value": "json", + "name": "Json", + "description": "Set to json to extract structured content from JSON files." + }, + { + "value": "jsonArray", + "name": "JsonArray", + "description": "Set to jsonArray to extract individual elements of a JSON array as separate documents in Azure Cognitive Search." + }, + { + "value": "jsonLines", + "name": "JsonLines", + "description": "Set to jsonLines to extract individual JSON entities, separated by a new line, as separate documents in Azure Cognitive Search." + } + ] + }, + "default": "default", + "description": "Represents the parsing mode for indexing from an Azure blob data source." + }, + "DataToExtract": { + "type": "string", + "enum": [ + "storageMetadata", + "allMetadata", + "contentAndMetadata" + ], + "x-ms-enum": { + "name": "BlobIndexerDataToExtract", + "modelAsString": true, + "values": [ + { + "value": "storageMetadata", + "name": "StorageMetadata", + "description": "Indexes just the standard blob properties and user-specified metadata." + }, + { + "value": "allMetadata", + "name": "AllMetadata", + "description": "Extracts metadata provided by the Azure blob storage subsystem and the content-type specific metadata (for example, metadata unique to just .png files are indexed)." + }, + { + "value": "contentAndMetadata", + "name": "ContentAndMetadata", + "description": "Extracts all metadata and textual content from each blob." + } + ] + }, + "default": "contentAndMetadata", + "description": "Specifies the data to extract from Azure blob storage and tells the indexer which data to extract from image content when \"imageAction\" is set to a value other than \"none\". This applies to embedded image content in a .PDF or other application, or image files such as .jpg and .png, in Azure blobs." + }, + "ImageAction": { + "type": "string", + "enum": [ + "none", + "generateNormalizedImages", + "generateNormalizedImagePerPage" + ], + "x-ms-enum": { + "name": "BlobIndexerImageAction", + "modelAsString": true, + "values": [ + { + "value": "none", + "name": "None", + "description": "Ignores embedded images or image files in the data set. This is the default." + }, + { + "value": "generateNormalizedImages", + "name": "GenerateNormalizedImages", + "description": "Extracts text from images (for example, the word \"STOP\" from a traffic stop sign), and embeds it into the content field. This action requires that \"dataToExtract\" is set to \"contentAndMetadata\". A normalized image refers to additional processing resulting in uniform image output, sized and rotated to promote consistent rendering when you include images in visual search results. This information is generated for each image when you use this option." + }, + { + "value": "generateNormalizedImagePerPage", + "name": "GenerateNormalizedImagePerPage", + "description": "Extracts text from images (for example, the word \"STOP\" from a traffic stop sign), and embeds it into the content field, but treats PDF files differently in that each page will be rendered as an image and normalized accordingly, instead of extracting embedded images. Non-PDF file types will be treated the same as if \"generateNormalizedImages\" was set." + } + ] + }, + "default": "none", + "description": "Determines how to process embedded images and image files in Azure blob storage. Setting the \"imageAction\" configuration to any value other than \"none\" requires that a skillset also be attached to that indexer." + }, + "PdfTextRotationAlgorithm": { + "type": "string", + "enum": [ + "none", + "detectAngles" + ], + "x-ms-enum": { + "name": "BlobIndexerPDFTextRotationAlgorithm", + "modelAsString": true, + "values": [ + { + "value": "none", + "name": "None", + "description": "Leverages normal text extraction. This is the default." + }, + { + "value": "detectAngles", + "name": "DetectAngles", + "description": "May produce better and more readable text extraction from PDF files that have rotated text within them. Note that there may be a small performance speed impact when this parameter is used. This parameter only applies to PDF files, and only to PDFs with embedded text. If the rotated text appears within an embedded image in the PDF, this parameter does not apply." + } + ] + }, + "default": "none", + "description": "Determines algorithm for text extraction from PDF files in Azure blob storage." + }, + "ExecutionEnvironment": { + "type": "string", + "enum": [ + "standard", + "private" + ], + "x-ms-enum": { + "name": "IndexerExecutionEnvironment", + "modelAsString": true, + "values": [ + { + "value": "standard", + "name": "standard", + "description": "Indicates that Azure Cognitive Search can determine where the indexer should execute. This is the default environment when nothing is specified and is the recommended value." + }, + { + "value": "private", + "name": "private", + "description": "Indicates that the indexer should run with the environment provisioned specifically for the search service. This should only be specified as the execution environment if the indexer needs to access resources securely over shared private link resources." + } + ] + }, + "default": "standard", + "description": "Specifies the environment in which the indexer should execute." }, "FieldMappingFunction": { "properties": { @@ -5909,6 +6147,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the indexer." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your indexer definition (as well as indexer execution status) when you want full assurance that no one, not even Microsoft, can decrypt them in Azure Cognitive Search. Once you have encrypted your indexer definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your indexer definition (and indexer execution status) will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ @@ -6853,6 +7099,14 @@ "x-ms-client-name": "ETag", "type": "string", "description": "The ETag of the skillset." + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your skillset definition when you want full assurance that no one, not even Microsoft, can decrypt your skillset definition in Azure Cognitive Search. Once you have encrypted your skillset definition, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your skillset definition will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true } }, "required": [ diff --git a/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json b/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json index 8ec85eff6905..a160c1a6e433 100644 --- a/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json +++ b/specification/search/data-plane/Azure.Search/stable/2019-05-06/searchservice.json @@ -3774,15 +3774,6 @@ } } }, - "NativeBlobSoftDeleteDeletionDetectionPolicy": { - "description": "Defines a data deletion detection policy that captures deletions using the soft-deletion capability of Azure Blob Storage", - "x-ms-discriminator-value": "#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy", - "allOf": [ - { - "$ref": "#/definitions/DataDeletionDetectionPolicy" - } - ] - }, "DataSourceType": { "type": "string", "enum": [ diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json deleted file mode 100644 index b5c469638cb5..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource", - "sharedPrivateLinkResource": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName" - } - } - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - }, - "201": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json deleted file mode 100644 index 236065a4d0fc..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": {}, - "404": {} - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json deleted file mode 100644 index 67bbc1de7bf8..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json deleted file mode 100644 index 7049d4037776..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - ] - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json index ffb6908fc3c2..59001defac96 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json @@ -20,64 +20,6 @@ ], "requiredZoneNames": [ "privatelink.search.windows.net" - ], - "shareablePrivateLinkResourceTypes": [ - { - "name": "blob", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "blob", - "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "table", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "table", - "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "Sql", - "properties": { - "type": "Microsoft.DocumentDB/databaseAccounts", - "groupId": "Sql", - "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.Sql/servers", - "groupId": "sqlServer", - "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." - } - }, - { - "name": "vault", - "properties": { - "type": "Microsoft.KeyVault/vaults", - "groupId": "vault", - "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.DBforMySQL/servers", - "groupId": "mysqlServer", - "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." - } - }, - { - "name": "site", - "properties": { - "type": "Microsoft.Web/sites", - "groupId": "sites", - "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." - } - } ] } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json index 101b058d119b..59c8a03031b2 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json @@ -43,8 +43,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -71,8 +70,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json index 07cda1191dbd..879b5741afc0 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -46,8 +46,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", @@ -79,8 +78,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json index f06e389bff2e..1e56e251f98b 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json @@ -29,8 +29,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json index 49a38ed0914a..4745a7e47ae3 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json @@ -30,8 +30,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -56,8 +55,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json index e7984e1d37b4..9b8b4d6b9ab5 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json @@ -29,8 +29,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -55,8 +54,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json index 8b3d56bbf2f1..3af307242c6d 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json @@ -39,8 +39,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json index f3132081a997..75012045c018 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json @@ -48,8 +48,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index 46b48947b09f..f5976ef7516d 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -38,8 +38,7 @@ "networkRuleSet": { "endpointAccess": "Private" }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json index 0690361f0fd5..83e5c3c40836 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json @@ -35,8 +35,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "None" diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json index 33da30768990..0f2522f8f95b 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json @@ -879,221 +879,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { - "put": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_CreateOrUpdate", - "x-ms-examples": { - "SharedPrivateLinkResourceCreateOrUpdate": { - "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" - } - }, - "description": "Creates or updates a shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "name": "sharedPrivateLinkResource", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The definition of the shared private link resource to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing shared private link resource definition was successfully updated.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "201": { - "description": "The shared private link resource was successfully created.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled. HTTP 409 (Conflict): A shared private link resource of the same name is being deleted, please retry in a few minutes.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Get", - "x-ms-examples": { - "SharedPrivateLinkResourceGet": { - "$ref": "./examples/GetSharedPrivateLinkResource.json" - } - }, - "description": "Gets the details of the shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, Search service or shared private link resource could not be found.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Delete", - "x-ms-examples": { - "SharedPrivateLinkResourceDelete": { - "$ref": "./examples/DeleteSharedPrivateLinkResource.json" - } - }, - "description": "Deletes the shared private link resource from the Search service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The shared private link resource was successfully deleted from the search service." - }, - "404": { - "description": "The subscription, resource group, Search service or shared private link resource could not be found." - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "SharedPrivateLinkResources_ListByService", - "x-ms-examples": { - "ListSharedPrivateLinkResourcesByService": { - "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" - } - }, - "description": "Gets a list of all shared private link resources managed by the given service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResourceListResult" - } - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { "get": { "tags": [ @@ -1437,72 +1222,6 @@ "description": "Response containing a list of Private Endpoint connections.", "x-ms-external": true }, - "SharedPrivateLinkResource": { - "properties": { - "name": { - "type": "string", - "description": "The name of the shared private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." - } - }, - "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceProperties": { - "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource id of the resource the shared private link resource is for." - }, - "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." - }, - "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." - }, - "status": { - "type": "string", - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected", - "Timeout" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceStatus", - "modelAsString": false - } - } - }, - "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of Shared Private Link Resources." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." - } - }, - "description": "Response containing a list of Shared Private Link Resources.", - "x-ms-external": true - }, "PrivateLinkResourcesResult": { "properties": { "value": { @@ -1564,52 +1283,9 @@ "type": "string" }, "description": "The list of required DNS zone names of the private link resource." - }, - "shareablePrivateLinkResourceTypes": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ShareablePrivateLinkResourceType" - }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - } - }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "ShareablePrivateLinkResourceProperties": { - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." }, "SearchService": { "properties": { @@ -1711,14 +1387,6 @@ "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The list of private endpoint connections to the Azure Cognitive Search service." - }, - "sharedPrivateLinkResources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources managed by the Azure Cognitive Search service." } }, "description": "Properties of the Search service." @@ -1934,14 +1602,6 @@ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", "x-ms-parameter-location": "method" }, - "SharedPrivateLinkResourceNameParameter": { - "name": "sharedPrivateLinkResourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", - "x-ms-parameter-location": "method" - }, "ClientRequestIdParameter": { "name": "x-ms-client-request-id", "x-ms-client-name": "clientRequestId", diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json new file mode 100644 index 000000000000..28f34365cde2 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource", + "sharedPrivateLinkResource": { + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "resourceRegion": null + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01-Preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01-Preview" + } + }, + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..36af86a1eb48 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "", + "actionsRequired": "None" + } + } + } + }, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json new file mode 100644 index 000000000000..1070a81ee204 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01-Preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01-Preview" + } + }, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..730aeac1d7a9 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json new file mode 100644 index 000000000000..e58ded2d7413 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json new file mode 100644 index 000000000000..d74307d041ca --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json new file mode 100644 index 000000000000..19c6b1b8a1e0 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json new file mode 100644 index 000000000000..6f63e0ef88bb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "name": "searchService", + "type": "Microsoft.Search/searchServices/privateLinkResources", + "properties": { + "groupId": "searchService", + "requiredMembers": [ + "searchService" + ], + "requiredZoneNames": [ + "privatelink.search.windows.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "blob", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "blob", + "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "table", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "table", + "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "Sql", + "properties": { + "type": "Microsoft.DocumentDB/databaseAccounts", + "groupId": "Sql", + "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.Sql/servers", + "groupId": "sqlServer", + "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." + } + }, + { + "name": "vault", + "properties": { + "type": "Microsoft.KeyVault/vaults", + "groupId": "vault", + "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.DBforMySQL/servers", + "groupId": "mysqlServer", + "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." + } + }, + { + "name": "site", + "properties": { + "type": "Microsoft.Web/sites", + "groupId": "sites", + "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json new file mode 100644 index 000000000000..5b5e37fc6ba5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "mysearchservice", + "type": "searchServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json new file mode 100644 index 000000000000..c875389ee5ad --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..3aff241f8039 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "disabled", + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..5634aabbba46 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json new file mode 100644 index 000000000000..0cf1e2a0f232 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json new file mode 100644 index 000000000000..9498e2ce9f68 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "name": "Query key for browser-based clients", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Query key for browser-based clients", + "key": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json new file mode 100644 index 000000000000..14f290a455bb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "key": "", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json new file mode 100644 index 000000000000..ccc8afbe01b7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json new file mode 100644 index 000000000000..16ed9cb80470 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json new file mode 100644 index 000000000000..e6b0928c69b7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json new file mode 100644 index 000000000000..82068f8402d8 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Query key for browser-based clients", + "key": "" + }, + { + "name": "Query key for mobile clients", + "key": "" + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json new file mode 100644 index 000000000000..8b320eae8bf3 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json new file mode 100644 index 000000000000..5ca13251ce28 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json new file mode 100644 index 000000000000..f9c2bd23722d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "keyKind": "primary", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json new file mode 100644 index 000000000000..be76e1be69e7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "properties": { + "replicaCount": 2 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 2, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..f598186640f3 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "publicNetworkAccess": "disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..a2aacbacc2c1 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json new file mode 100644 index 000000000000..534e842ff133 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "sku": { + "name": "standard" + }, + "identity": { + "type": "None" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": {}, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "None" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..f30dfd51ffe4 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json new file mode 100644 index 000000000000..5e6a16736b32 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json @@ -0,0 +1,2024 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchManagementClient", + "description": "Client that can be used to manage Azure Cognitive Search services and API keys.", + "version": "2020-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": { + "/providers/Microsoft.Search/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Get", + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } + }, + "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Regenerate", + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + }, + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "keyKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false + }, + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Create", + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + }, + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the new query API key." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/QueryKey" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { + "post": { + "tags": [ + "QueryKeys" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "QueryKeys_ListBySearchService", + "x-ms-examples": { + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" + } + }, + "description": "Returns the list of query API keys for the given Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/ListQueryKeysResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Delete", + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + }, + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "key", + "in": "path", + "required": true, + "type": "string", + "description": "The query key to be deleted. Query keys are identified by value, not by name." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully deleted." + }, + "204": { + "description": "The query key was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, search service, or query key could not be found." + }, + "default": { + "description": "HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": { + "put": { + "tags": [ + "Services" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + } + }, + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchService" + }, + "description": "The definition of the search service to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "201": { + "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "searchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "searchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + } + }, + "description": "Updates an existing search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to update." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + }, + "description": "The definition of the search service to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Services" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + }, + "description": "Gets the search service with the given name in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Services" + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } + }, + "description": "Deletes a search service in the given resource group, along with its associated resources.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service was successfully deleted." + }, + "204": { + "description": "The search service was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, or search service could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "description": "Gets a list of all Search services in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "operationId": "PrivateLinkResources_ListSupported", + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "description": "Gets a list of all supported private link resource types for the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } + }, + "description": "Updates a Private Endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The definition of the private endpoint connection to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection definition was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "description": "Disconnects the private endpoint connection and deletes it from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "404": { + "description": "The subscription, resource group, search service or private endpoint connection could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "PrivateEndpointConnections_ListByService", + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "description": "Gets a list of all private endpoint connections in the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "put": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "x-ms-examples": { + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "name": "sharedPrivateLinkResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The definition of the shared private link resource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The details of the shared private link resource that was created or updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Get", + "x-ms-examples": { + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" + } + }, + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Delete", + "x-ms-examples": { + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the deletion of the shared private link resource from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." + }, + "204": { + "description": "The backing private endpoint for the shared private link resource could not be found." + }, + "404": { + "description": "The subscription, resource group, search service or shared private link resource could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "description": "Gets a list of all shared private link resources managed by the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListBySubscription", + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "description": "Gets a list of all Search services in the given subscription.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { + "post": { + "tags": [ + "Services" + ], + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The resource name and type to check.", + "x-ms-client-flatten": true, + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityInput": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", + "type": "string", + "enum": [ + "searchServices" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "description": "Input of check name availability API." + }, + "CheckNameAvailabilityOutput": { + "type": "object", + "properties": { + "nameAvailable": { + "x-ms-client-name": "IsNameAvailable", + "description": "A value indicating whether the name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "readOnly": true, + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "UnavailableNameReason", + "modelAsString": true + } + }, + "message": { + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "type": "string", + "readOnly": true + } + }, + "description": "Output of check name availability API." + }, + "AdminKeyResult": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The primary admin API key of the search service." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The secondary admin API key of the search service." + } + }, + "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service." + }, + "QueryKey": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the query API key; may be empty." + }, + "key": { + "readOnly": true, + "type": "string", + "description": "The value of the query API key." + } + }, + "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only." + }, + "ListQueryKeysResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "description": "The query keys for the Azure Cognitive Search service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + } + }, + "description": "Response containing the query API keys for a given Azure Cognitive Search service.", + "x-ms-external": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "NetworkRuleSet": { + "properties": { + "ipRules": { + "type": "array", + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", + "items": { + "$ref": "#/definitions/IpRule" + } + } + }, + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "IpRule": { + "properties": { + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + } + }, + "description": "The IP restriction rule of the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "properties": { + "id": { + "type": "string", + "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + } + }, + "description": "The private endpoint resource from Microsoft.Network provider." + }, + "privateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" + } + }, + "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + } + }, + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint connections." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size." + } + }, + "description": "Response containing a list of Private Endpoint connections.", + "x-ms-external": true + }, + "SharedPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLinkResourceId": { + "type": "string", + "description": "The resource id of the resource the shared private link resource is for." + }, + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "requestMessage": { + "type": "string", + "description": "The request message for requesting approval of the shared private link resource." + }, + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of Shared Private Link Resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of shared private link resources, if there are any." + } + }, + "description": "Response containing a list of Shared Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResourcesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The list of supported Private Link Resources." + } + }, + "description": "Response containing a list of supported Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a supported private link resource for the Azure Cognitive Search service." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "readOnly": true, + "type": "string", + "description": "The group ID of the private link resource." + }, + "requiredMembers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required members of the private link resource." + }, + "requiredZoneNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required DNS zone names of the private link resource." + }, + "shareablePrivateLinkResourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." + }, + "ShareablePrivateLinkResourceType": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "ShareablePrivateLinkResourceProperties": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "groupId": { + "readOnly": true, + "type": "string", + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "SearchService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an Azure Cognitive Search service and its current state." + }, + "SearchServiceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "location": { + "type": "string", + "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to help categorize the resource in the Azure portal." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "The parameters used to update an Azure Cognitive Search service." + }, + "SearchServiceProperties": { + "properties": { + "replicaCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + }, + "partitionCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + }, + "hostingMode": { + "type": "string", + "default": "default", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", + "enum": [ + "default", + "highDensity" + ], + "x-ms-enum": { + "name": "HostingMode", + "modelAsString": false + } + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": false + } + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "enum": [ + "running", + "provisioning", + "deleting", + "degraded", + "disabled", + "error" + ], + "x-ms-enum": { + "name": "SearchServiceStatus", + "modelAsString": false + } + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "The details of the search service status." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", + "enum": [ + "succeeded", + "provisioning", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the Azure Cognitive Search service." + }, + "sharedPrivateLinkResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources managed by the Azure Cognitive Search service." + } + }, + "description": "Properties of the search service." + }, + "SearchServiceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SearchService" + }, + "description": "The list of Search services." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." + } + }, + "description": "Response containing a list of Azure Cognitive Search services.", + "x-ms-external": true + }, + "AsyncOperationResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true + } + } + }, + "description": "The details of a long running asynchronous shared private link resource operation" + }, + "CloudError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + } + }, + "description": "Contains information about an API error.", + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": true + }, + "Operation": { + "description": "Describes a REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "readOnly": true, + "properties": { + "provider": { + "description": "The friendly name of the resource provider.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "The operation type: read, write, delete, listKeys/action, etc.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "The resource type on which the operation is performed.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The friendly name of the operation.", + "readOnly": true, + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "description": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results, if any." + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.", + "x-ms-parameter-location": "method" + }, + "SearchServiceNameParameter": { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceNameParameter": { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", + "x-ms-parameter-location": "method" + }, + "OperationNameParameter": { + "name": "operationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a shared private link resource operation.", + "x-ms-parameter-location": "method" + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "clientRequestId", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for each request." + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json deleted file mode 100644 index 9a595ad24cd6..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource", - "sharedPrivateLinkResource": { - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName" - } - } - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - }, - "201": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json deleted file mode 100644 index 71b307bfd2d2..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": {}, - "404": {} - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json deleted file mode 100644 index b2b8b3183ad9..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json deleted file mode 100644 index b456979fed5f..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - ] - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json index f4794759ea8c..66b3f17038bb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json @@ -20,48 +20,6 @@ ], "requiredZoneNames": [ "privatelink.search.windows.net" - ], - "shareablePrivateLinkResourceTypes": [ - { - "name": "blob", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "blob", - "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "table", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "table", - "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "Sql", - "properties": { - "type": "Microsoft.DocumentDB/databaseAccounts", - "groupId": "Sql", - "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.Sql/servers", - "groupId": "sqlServer", - "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." - } - }, - { - "name": "vault", - "properties": { - "type": "Microsoft.KeyVault/vaults", - "groupId": "vault", - "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" - } - } ] } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json index 54d65779055b..0beca37cc83f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json @@ -43,8 +43,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -71,8 +70,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json index c0c46c253951..7038e071d58f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -44,8 +44,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -72,8 +71,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json index 04a1a93a0753..4cf1595e3e7c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -60,8 +60,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -95,8 +94,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json index ffcb5f2574d3..33d6073aed1a 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -46,8 +46,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", @@ -79,8 +78,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json index 673753347e5a..e2a263595715 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json @@ -29,8 +29,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json index 9a06f209589a..77f15332d0bb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json @@ -30,8 +30,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -56,8 +55,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json index 907991ee8dbe..5ceb81de727a 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json @@ -29,8 +29,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -55,8 +54,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json index 063d1a9325c4..6cf2e603e495 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json @@ -39,8 +39,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index cb73c5c6854a..14518382f355 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -37,8 +37,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json index 2220cb66433a..29ebfa811900 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -51,8 +51,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json index 5fcb2deacab0..662c187c43db 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json @@ -35,8 +35,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "None" diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json index 4fe1afbaa3af..5b1307e54729 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json @@ -885,221 +885,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { - "put": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_CreateOrUpdate", - "x-ms-examples": { - "SharedPrivateLinkResourceCreateOrUpdate": { - "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" - } - }, - "description": "Creates or updates a shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "name": "sharedPrivateLinkResource", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The definition of the shared private link resource to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing shared private link resource definition was successfully updated.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "201": { - "description": "The shared private link resource was successfully created.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled. HTTP 409 (Conflict): A shared private link resource of the same name is being deleted, please retry in a few minutes.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Get", - "x-ms-examples": { - "SharedPrivateLinkResourceGet": { - "$ref": "./examples/GetSharedPrivateLinkResource.json" - } - }, - "description": "Gets the details of the shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, Search service or shared private link resource could not be found.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Delete", - "x-ms-examples": { - "SharedPrivateLinkResourceDelete": { - "$ref": "./examples/DeleteSharedPrivateLinkResource.json" - } - }, - "description": "Deletes the shared private link resource from the Search service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The shared private link resource was successfully deleted from the search service." - }, - "404": { - "description": "The subscription, resource group, Search service or shared private link resource could not be found." - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "SharedPrivateLinkResources_ListByService", - "x-ms-examples": { - "ListSharedPrivateLinkResourcesByService": { - "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" - } - }, - "description": "Gets a list of all shared private link resources managed by the given service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResourceListResult" - } - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { "get": { "tags": [ @@ -1442,84 +1227,6 @@ "description": "Response containing a list of Private Endpoint connections.", "x-ms-external": true }, - "SharedPrivateLinkResource": { - "x-ms-azure-resource": true, - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the shared private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the shared private link resource." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The resource type." - }, - "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." - } - }, - "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceProperties": { - "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource id of the resource the shared private link resource is for." - }, - "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." - }, - "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." - }, - "status": { - "type": "string", - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected", - "Timeout" - ], - "x-ms-enum": { - "name": "SharedPrivateLinkResourceStatus", - "modelAsString": false - } - } - }, - "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of Shared Private Link Resources." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." - } - }, - "description": "Response containing a list of Shared Private Link Resources.", - "x-ms-external": true - }, "PrivateLinkResourcesResult": { "properties": { "value": { @@ -1581,52 +1288,9 @@ "type": "string" }, "description": "The list of required DNS zone names of the private link resource." - }, - "shareablePrivateLinkResourceTypes": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ShareablePrivateLinkResourceType" - }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "ShareablePrivateLinkResourceProperties": { - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." }, "SearchService": { "properties": { @@ -1741,14 +1405,6 @@ "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The list of private endpoint connections to the Azure Cognitive Search service." - }, - "sharedPrivateLinkResources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources managed by the Azure Cognitive Search service." } }, "description": "Properties of the Search service." @@ -1969,14 +1625,6 @@ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", "x-ms-parameter-location": "method" }, - "SharedPrivateLinkResourceNameParameter": { - "name": "sharedPrivateLinkResourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", - "x-ms-parameter-location": "method" - }, "ClientRequestIdParameter": { "name": "x-ms-client-request-id", "x-ms-client-name": "clientRequestId", @@ -2003,7 +1651,7 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for each request. The current version is 2019-10-01-Preview." + "description": "The API version to use for each request." } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json new file mode 100644 index 000000000000..24bb3d0f8b02 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource", + "sharedPrivateLinkResource": { + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "resourceRegion": null + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01" + } + }, + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..5a01604954aa --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "", + "actionsRequired": "None" + } + } + } + }, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json new file mode 100644 index 000000000000..b290ae25cc12 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01" + } + }, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..2f6b49214fd7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json new file mode 100644 index 000000000000..8c8ac94ba49d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json new file mode 100644 index 000000000000..3d691fbacdc5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json new file mode 100644 index 000000000000..462327452964 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json new file mode 100644 index 000000000000..c6e38d5d462d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "name": "searchService", + "type": "Microsoft.Search/searchServices/privateLinkResources", + "properties": { + "groupId": "searchService", + "requiredMembers": [ + "searchService" + ], + "requiredZoneNames": [ + "privatelink.search.windows.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "blob", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "blob", + "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "table", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "table", + "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "Sql", + "properties": { + "type": "Microsoft.DocumentDB/databaseAccounts", + "groupId": "Sql", + "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.Sql/servers", + "groupId": "sqlServer", + "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." + } + }, + { + "name": "vault", + "properties": { + "type": "Microsoft.KeyVault/vaults", + "groupId": "vault", + "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.DBforMySQL/servers", + "groupId": "mysqlServer", + "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." + } + }, + { + "name": "site", + "properties": { + "type": "Microsoft.Web/sites", + "groupId": "sites", + "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json new file mode 100644 index 000000000000..f973a4783c8d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "mysearchservice", + "type": "searchServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json new file mode 100644 index 000000000000..679065c266d5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..847cbc887428 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "disabled", + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..57b221deaba6 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json new file mode 100644 index 000000000000..7145ff6a576c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json new file mode 100644 index 000000000000..fd65a7329468 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "name": "Query key for browser-based clients", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Query key for browser-based clients", + "key": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json new file mode 100644 index 000000000000..9c0fedbe4365 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "key": "", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json new file mode 100644 index 000000000000..0f74e1d83143 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json new file mode 100644 index 000000000000..d2951637cc7f --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json new file mode 100644 index 000000000000..beb7c5224e1c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json new file mode 100644 index 000000000000..052d7bad11eb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Query key for browser-based clients", + "key": "" + }, + { + "name": "Query key for mobile clients", + "key": "" + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json new file mode 100644 index 000000000000..000882a556c9 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json new file mode 100644 index 000000000000..38ab8da5cf47 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json new file mode 100644 index 000000000000..7441c4e84dd4 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "keyKind": "primary", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json new file mode 100644 index 000000000000..eb910e6100d7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "properties": { + "replicaCount": 2 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 2, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..8068f7b76318 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "publicNetworkAccess": "disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..14d7c421d258 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json new file mode 100644 index 000000000000..40a16e42b72c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "sku": { + "name": "standard" + }, + "identity": { + "type": "None" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": {}, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "None" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..97eab9a25754 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json new file mode 100644 index 000000000000..b7e40aba57e2 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json @@ -0,0 +1,2024 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchManagementClient", + "description": "Client that can be used to manage Azure Cognitive Search services and API keys.", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "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.Search/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Get", + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } + }, + "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Regenerate", + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + }, + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "keyKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false + }, + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Create", + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + }, + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the new query API key." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/QueryKey" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { + "post": { + "tags": [ + "QueryKeys" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "QueryKeys_ListBySearchService", + "x-ms-examples": { + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" + } + }, + "description": "Returns the list of query API keys for the given Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/ListQueryKeysResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Delete", + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + }, + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "key", + "in": "path", + "required": true, + "type": "string", + "description": "The query key to be deleted. Query keys are identified by value, not by name." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully deleted." + }, + "204": { + "description": "The query key was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, search service, or query key could not be found." + }, + "default": { + "description": "HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": { + "put": { + "tags": [ + "Services" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + } + }, + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchService" + }, + "description": "The definition of the search service to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "201": { + "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "searchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "searchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + } + }, + "description": "Updates an existing search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to update." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + }, + "description": "The definition of the search service to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Services" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + }, + "description": "Gets the search service with the given name in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Services" + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } + }, + "description": "Deletes a search service in the given resource group, along with its associated resources.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service was successfully deleted." + }, + "204": { + "description": "The search service was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, or search service could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "description": "Gets a list of all search services in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "operationId": "PrivateLinkResources_ListSupported", + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "description": "Gets a list of all supported private link resource types for the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } + }, + "description": "Updates a Private Endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The definition of the private endpoint connection to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection definition was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "description": "Disconnects the private endpoint connection and deletes it from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "404": { + "description": "The subscription, resource group, search service or private endpoint connection could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "PrivateEndpointConnections_ListByService", + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "description": "Gets a list of all private endpoint connections in the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "put": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "x-ms-examples": { + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "name": "sharedPrivateLinkResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The definition of the shared private link resource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The details of the shared private link resource that was created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Get", + "x-ms-examples": { + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" + } + }, + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Delete", + "x-ms-examples": { + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the deletion of the shared private link resource from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." + }, + "204": { + "description": "The backing private endpoint for the shared private link resource could not be found." + }, + "404": { + "description": "The subscription, resource group, search service or shared private link resource could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "description": "Gets a list of all shared private link resources managed by the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListBySubscription", + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "description": "Gets a list of all search services in the given subscription.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { + "post": { + "tags": [ + "Services" + ], + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The resource name and type to check.", + "x-ms-client-flatten": true, + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityInput": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", + "type": "string", + "enum": [ + "searchServices" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "description": "Input of check name availability API." + }, + "CheckNameAvailabilityOutput": { + "type": "object", + "properties": { + "nameAvailable": { + "x-ms-client-name": "IsNameAvailable", + "description": "A value indicating whether the name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "readOnly": true, + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "UnavailableNameReason", + "modelAsString": true + } + }, + "message": { + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "type": "string", + "readOnly": true + } + }, + "description": "Output of check name availability API." + }, + "AdminKeyResult": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The primary admin API key of the search service." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The secondary admin API key of the search service." + } + }, + "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service." + }, + "QueryKey": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the query API key; may be empty." + }, + "key": { + "readOnly": true, + "type": "string", + "description": "The value of the query API key." + } + }, + "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only." + }, + "ListQueryKeysResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "description": "The query keys for the Azure Cognitive Search service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + } + }, + "description": "Response containing the query API keys for a given Azure Cognitive Search service.", + "x-ms-external": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "NetworkRuleSet": { + "properties": { + "ipRules": { + "type": "array", + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", + "items": { + "$ref": "#/definitions/IpRule" + } + } + }, + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "IpRule": { + "properties": { + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + } + }, + "description": "The IP restriction rule of the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "properties": { + "id": { + "type": "string", + "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + } + }, + "description": "The private endpoint resource from Microsoft.Network provider." + }, + "privateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" + } + }, + "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + } + }, + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint connections." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size." + } + }, + "description": "Response containing a list of Private Endpoint connections.", + "x-ms-external": true + }, + "SharedPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLinkResourceId": { + "type": "string", + "description": "The resource id of the resource the shared private link resource is for." + }, + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "requestMessage": { + "type": "string", + "description": "The request message for requesting approval of the shared private link resource." + }, + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of Shared Private Link Resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of shared private link resources, if there are any." + } + }, + "description": "Response containing a list of Shared Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResourcesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The list of supported Private Link Resources." + } + }, + "description": "Response containing a list of supported Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a supported private link resource for the Azure Cognitive Search service." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "readOnly": true, + "type": "string", + "description": "The group ID of the private link resource." + }, + "requiredMembers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required members of the private link resource." + }, + "requiredZoneNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required DNS zone names of the private link resource." + }, + "shareablePrivateLinkResourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." + }, + "ShareablePrivateLinkResourceType": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "ShareablePrivateLinkResourceProperties": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "groupId": { + "readOnly": true, + "type": "string", + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "SearchService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an Azure Cognitive Search service and its current state." + }, + "SearchServiceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "location": { + "type": "string", + "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to help categorize the resource in the Azure portal." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "The parameters used to update an Azure Cognitive Search service." + }, + "SearchServiceProperties": { + "properties": { + "replicaCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + }, + "partitionCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + }, + "hostingMode": { + "type": "string", + "default": "default", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", + "enum": [ + "default", + "highDensity" + ], + "x-ms-enum": { + "name": "HostingMode", + "modelAsString": false + } + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": false + } + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "enum": [ + "running", + "provisioning", + "deleting", + "degraded", + "disabled", + "error" + ], + "x-ms-enum": { + "name": "SearchServiceStatus", + "modelAsString": false + } + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "The details of the search service status." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", + "enum": [ + "succeeded", + "provisioning", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the Azure Cognitive Search service." + }, + "sharedPrivateLinkResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources managed by the Azure Cognitive Search service." + } + }, + "description": "Properties of the search service." + }, + "SearchServiceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SearchService" + }, + "description": "The list of search services." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." + } + }, + "description": "Response containing a list of Azure Cognitive Search services.", + "x-ms-external": true + }, + "AsyncOperationResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true + } + } + }, + "description": "The details of a long running asynchronous shared private link resource operation" + }, + "CloudError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + } + }, + "description": "Contains information about an API error.", + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": true + }, + "Operation": { + "description": "Describes a REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "readOnly": true, + "properties": { + "provider": { + "description": "The friendly name of the resource provider.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "The operation type: read, write, delete, listKeys/action, etc.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "The resource type on which the operation is performed.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The friendly name of the operation.", + "readOnly": true, + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "description": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results, if any." + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.", + "x-ms-parameter-location": "method" + }, + "SearchServiceNameParameter": { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceNameParameter": { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", + "x-ms-parameter-location": "method" + }, + "OperationNameParameter": { + "name": "operationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a shared private link resource operation.", + "x-ms-parameter-location": "method" + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "clientRequestId", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for each request." + } + } +} diff --git a/specification/search/resource-manager/readme.azureresourceschema.md b/specification/search/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..13dc9c705646 --- /dev/null +++ b/specification/search/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-search-2020-08-01-preview + - tag: schema-search-2020-08-01 + - tag: schema-search-2020-03-13 + - tag: schema-search-2019-10-01-preview + - tag: schema-search-2015-08-19 + - tag: schema-search-2015-02-28 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-search-2020-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/preview/2020-08-01-preview/search.json + +``` + +### Tag: schema-search-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2020-08-01/search.json + +``` + +### Tag: schema-search-2020-03-13 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-03-13' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2020-03-13/search.json + +``` + +### Tag: schema-search-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-search-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/preview/2019-10-01-preview/search.json + +``` + +### Tag: schema-search-2015-08-19 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2015-08-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2015-08-19/search.json + +``` + +### Tag: schema-search-2015-02-28 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2015-02-28' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2015-02-28/search.json + +``` diff --git a/specification/search/resource-manager/readme.go.md b/specification/search/resource-manager/readme.go.md index 6c95fee02859..e93d6897eedb 100644 --- a/specification/search/resource-manager/readme.go.md +++ b/specification/search/resource-manager/readme.go.md @@ -13,10 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-08 - tag: package-2020-03 - tag: package-2015-08 - tag: package-2015-02 ``` +### Tag: package-2020-08 and go + +These settings apply only when `--tag=package-2020-08 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-08-01/$(namespace) +``` ### Tag: package-2020-03 and go diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md index ea9072326d03..e4e7e9f0ebcc 100644 --- a/specification/search/resource-manager/readme.md +++ b/specification/search/resource-manager/readme.md @@ -26,7 +26,15 @@ These are the global settings for the SearchManagementClient API. ``` yaml openapi-type: arm -tag: package-2020-03 +tag: package-2020-08 +``` + +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. +``` yaml $(tag) == 'package-2020-08' +input-file: +- Microsoft.Search/stable/2020-08-01/search.json ``` ### Tag: package-2020-03 @@ -55,9 +63,19 @@ input-file: - Microsoft.Search/stable/2015-02-28/search.json ``` +### Tag: package-2020-08-preview + +These settings apply only when `--tag=package-2020-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-preview' +input-file: +- Microsoft.Search/preview/2020-08-01-preview/search.json +``` + ### Tag: package-2019-10-preview These settings apply only when `--tag=package-2019-10-preview` is specified on the command line. + ``` yaml $(tag) == 'package-2019-10-preview' input-file: - Microsoft.Search/preview/2019-10-01-preview/search.json @@ -84,6 +102,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_search'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js search/resource-manager ``` @@ -126,6 +147,7 @@ batch: - tag: package-2015-02 - tag: package-2015-08 - tag: package-2020-03 + - tag: package-2020-08 ``` ### Tag: package-2015-02 and java @@ -167,31 +189,21 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-08 and java -## 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.Search/stable/2020-03-13/search.json - - $(this-folder)/Microsoft.Search/stable/2015-08-19/search.json - - $(this-folder)/Microsoft.Search/stable/2015-02-28/search.json - - $(this-folder)/Microsoft.Search/preview/2019-10-01-preview/search.json +These settings apply only when `--tag=package-2020-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. +``` yaml $(tag) == 'package-2020-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.search.v2020_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/search/mgmt-resource-manager/v2020_08_01 +regenerate-manager: true +generate-interface: true ``` -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 -``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/search/resource-manager/readme.ruby.md b/specification/search/resource-manager/readme.ruby.md index 8919ed6a6c05..015606328a5a 100644 --- a/specification/search/resource-manager/readme.ruby.md +++ b/specification/search/resource-manager/readme.ruby.md @@ -14,6 +14,7 @@ azure-arm: true batch: - tag: package-2015-08 - tag: package-2020-03 + - tag: package-2020-08 ``` ### Tag: package-2015-08 and ruby @@ -34,4 +35,14 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(ruby) +namespace: "Azure::Search::Mgmt::V2020_08_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_search/lib ``` \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json index fd08950135a9..655474e9e7e8 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json @@ -37,14 +37,14 @@ "/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups": { "get": { "x-ms-examples": { - "List all device security groups for the specified IoT hub resource": { + "List all device security groups for the specified IoT Hub resource": { "$ref": "./examples/DeviceSecurityGroups/ListDeviceSecurityGroups_example.json" } }, "tags": [ "DeviceSecurityGroups" ], - "description": "Gets the list of device security groups for the specified IoT hub resource.", + "description": "Use this method get the list of device security groups for the specified IoT Hub resource.", "operationId": "DeviceSecurityGroups_List", "parameters": [ { @@ -76,14 +76,14 @@ "/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups/{deviceSecurityGroupName}": { "get": { "x-ms-examples": { - "Get an device security group for the specified IoT hub resource": { + "Get a device security group for the specified IoT Hub resource": { "$ref": "./examples/DeviceSecurityGroups/GetDeviceSecurityGroups_example.json" } }, "tags": [ "DeviceSecurityGroups" ], - "description": "Gets the device security group for the specified IoT hub resource.", + "description": "Use this method to get the device security group for the specified IoT Hub resource.", "operationId": "DeviceSecurityGroups_Get", "parameters": [ { @@ -98,7 +98,7 @@ ], "responses": { "200": { - "description": "Successful request to get security group.", + "description": "Successful request to get device security group.", "schema": { "$ref": "#/definitions/DeviceSecurityGroup" } @@ -120,7 +120,7 @@ "tags": [ "DeviceSecurityGroups" ], - "description": "Creates or updates the device security group on a specified IoT hub resource.", + "description": "Use this method to creates or updates the device security group on a specified IoT Hub resource.", "operationId": "DeviceSecurityGroups_CreateOrUpdate", "parameters": [ { @@ -138,13 +138,13 @@ ], "responses": { "200": { - "description": "Security group was updated", + "description": "Security group was updated.", "schema": { "$ref": "#/definitions/DeviceSecurityGroup" } }, "201": { - "description": "Security group was created", + "description": "Security group was created.", "schema": { "$ref": "#/definitions/DeviceSecurityGroup" } @@ -159,14 +159,14 @@ }, "delete": { "x-ms-examples": { - "Delete a device security group for the specified IoT hub resource": { + "Delete a device security group for the specified IoT Hub resource": { "$ref": "./examples/DeviceSecurityGroups/DeleteDeviceSecurityGroups_example.json" } }, "tags": [ "DeviceSecurityGroups" ], - "description": "Deletes the security group", + "description": "User this method to deletes the device security group.", "operationId": "DeviceSecurityGroups_Delete", "parameters": [ { @@ -238,7 +238,7 @@ "properties": { "thresholdRules": { "type": "array", - "description": "A list of threshold custom alert rules.", + "description": "The list of custom alert threshold rules.", "items": { "type": "object", "$ref": "#/definitions/ThresholdCustomAlertRule" @@ -246,7 +246,7 @@ }, "timeWindowRules": { "type": "array", - "description": "A list of time window custom alert rules.", + "description": "The list of custom alert time-window rules.", "items": { "type": "object", "$ref": "#/definitions/TimeWindowCustomAlertRule" @@ -254,7 +254,7 @@ }, "allowlistRules": { "type": "array", - "description": "A list of allow-list custom alert rules.", + "description": "The allow-list custom alert rules.", "items": { "type": "object", "$ref": "#/definitions/AllowlistCustomAlertRule" @@ -262,7 +262,7 @@ }, "denylistRules": { "type": "array", - "description": "A list of deny-list custom alert rules.", + "description": "The deny-list custom alert rules.", "items": { "type": "object", "$ref": "#/definitions/DenylistCustomAlertRule" @@ -272,7 +272,8 @@ }, "CustomAlertRule": { "type": "object", - "description": "A custom alert rule", + "description": "A custom alert rule.", + "discriminator": "ruleType", "properties": { "displayName": { "type": "string", @@ -286,7 +287,7 @@ }, "isEnabled": { "type": "boolean", - "description": "Whether the custom alert is enabled." + "description": "Status of the custom alert." }, "ruleType": { "type": "string", @@ -300,7 +301,7 @@ }, "ListCustomAlertRule": { "type": "object", - "description": "A List custom alert rule", + "description": "A List custom alert rule.", "allOf": [ { "$ref": "#/definitions/CustomAlertRule" @@ -309,7 +310,7 @@ "properties": { "valueType": { "type": "string", - "description": "The value type of the items in the list", + "description": "The value type of the items in the list.", "enum": [ "IpCidr", "String" @@ -334,7 +335,7 @@ }, "AllowlistCustomAlertRule": { "type": "object", - "description": "A custom alert rule that checks if a value (depends on the custom alert type) is allowed", + "description": "A custom alert rule that checks if a value (depends on the custom alert type) is allowed.", "allOf": [ { "$ref": "#/definitions/ListCustomAlertRule" @@ -347,42 +348,45 @@ "items": { "type": "string" } - }, - "ruleType": { - "type": "string", - "description": "The type of the custom alert rule.", - "enum": [ - "ConnectionToIpNotAllowed", - "LocalUserNotAllowed", - "ProcessNotAllowed" - ], - "x-ms-enum": { - "name": "ruleType", - "modelAsString": true, - "values": [ - { - "value": "ConnectionToIpNotAllowed", - "description": "Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation." - }, - { - "value": "LocalUserNotAllowed", - "description": "Login by a local user that isn't allowed. Allow list consists of login names to allow." - }, - { - "value": "ProcessNotAllowed", - "description": "Execution of a process that isn't allowed. Allow list consists of process names to allow." - } - ] - } } }, "required": [ "allowlistValues" ] }, + "ConnectionToIpNotAllowed": { + "type": "object", + "description": "Outbound connection to an ip that isn't allowed. Allow list consists of ipv4 or ipv6 range in CIDR notation.", + "allOf": [ + { + "$ref": "#/definitions/AllowlistCustomAlertRule" + } + ], + "properties": {} + }, + "LocalUserNotAllowed": { + "type": "object", + "description": "Login by a local user that isn't allowed. Allow list consists of login names to allow.", + "allOf": [ + { + "$ref": "#/definitions/AllowlistCustomAlertRule" + } + ], + "properties": {} + }, + "ProcessNotAllowed": { + "type": "object", + "description": "Execution of a process that isn't allowed. Allow list consists of process names to allow.", + "allOf": [ + { + "$ref": "#/definitions/AllowlistCustomAlertRule" + } + ], + "properties": {} + }, "DenylistCustomAlertRule": { "type": "object", - "description": "A custom alert rule that checks if a value (depends on the custom alert type) is denied", + "description": "A custom alert rule that checks if a value (depends on the custom alert type) is denied.", "allOf": [ { "$ref": "#/definitions/ListCustomAlertRule" @@ -428,9 +432,6 @@ "type": "object", "description": "A custom alert rule that checks if the number of activities (depends on the custom alert type) in a time window is within the given range.", "allOf": [ - { - "$ref": "#/definitions/CustomAlertRule" - }, { "$ref": "#/definitions/ThresholdCustomAlertRule" } @@ -440,103 +441,171 @@ "type": "string", "description": "The time window size in iso8601 format.", "format": "duration" - }, - "ruleType": { - "type": "string", - "description": "The type of the custom alert rule.", - "enum": [ - "ActiveConnectionsNotInAllowedRange", - "AmqpC2DMessagesNotInAllowedRange", - "MqttC2DMessagesNotInAllowedRange", - "HttpC2DMessagesNotInAllowedRange", - "AmqpC2DRejectedMessagesNotInAllowedRange", - "MqttC2DRejectedMessagesNotInAllowedRange", - "HttpC2DRejectedMessagesNotInAllowedRange", - "AmqpD2CMessagesNotInAllowedRange", - "MqttD2CMessagesNotInAllowedRange", - "HttpD2CMessagesNotInAllowedRange", - "DirectMethodInvokesNotInAllowedRange", - "FailedLocalLoginsNotInAllowedRange", - "FileUploadsNotInAllowedRange", - "QueuePurgesNotInAllowedRange", - "TwinUpdatesNotInAllowedRange", - "UnauthorizedOperationsNotInAllowedRange" - ], - "x-ms-enum": { - "name": "ruleType", - "modelAsString": true, - "values": [ - { - "value": "ActiveConnectionsNotInAllowedRange", - "description": "Number of active connections is not in allowed range." - }, - { - "value": "AmqpC2DMessagesNotInAllowedRange", - "description": "Number of cloud to device messages (AMQP protocol) is not in allowed range." - }, - { - "value": "MqttC2DMessagesNotInAllowedRange", - "description": "Number of cloud to device messages (MQTT protocol) is not in allowed range." - }, - { - "value": "HttpC2DMessagesNotInAllowedRange", - "description": "Number of cloud to device messages (HTTP protocol) is not in allowed range." - }, - { - "value": "AmqpC2DRejectedMessagesNotInAllowedRange", - "description": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range." - }, - { - "value": "MqttC2DRejectedMessagesNotInAllowedRange", - "description": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range." - }, - { - "value": "HttpC2DRejectedMessagesNotInAllowedRange", - "description": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range." - }, - { - "value": "AmqpD2CMessagesNotInAllowedRange", - "description": "Number of device to cloud messages (AMQP protocol) is not in allowed range." - }, - { - "value": "MqttD2CMessagesNotInAllowedRange", - "description": "Number of device to cloud messages (MQTT protocol) is not in allowed range." - }, - { - "value": "HttpD2CMessagesNotInAllowedRange", - "description": "Number of device to cloud messages (HTTP protocol) is not in allowed range." - }, - { - "value": "DirectMethodInvokesNotInAllowedRange", - "description": "Number of direct method invokes is not in allowed range." - }, - { - "value": "FailedLocalLoginsNotInAllowedRange", - "description": "Number of failed local logins is not in allowed range." - }, - { - "value": "FileUploadsNotInAllowedRange", - "description": "Number of file uploads is not in allowed range." - }, - { - "value": "QueuePurgesNotInAllowedRange", - "description": "Number of device queue purges is not in allowed range." - }, - { - "value": "TwinUpdatesNotInAllowedRange", - "description": "Number of twin updates is not in allowed range." - }, - { - "value": "UnauthorizedOperationsNotInAllowedRange", - "description": "Number of unauthorized operations is not in allowed range." - } - ] - } } }, "required": [ "timeWindowSize" ] + }, + "ActiveConnectionsNotInAllowedRange": { + "type": "object", + "description": "Number of active connections is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "AmqpC2DMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of cloud to device messages (AMQP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "MqttC2DMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of cloud to device messages (MQTT protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "HttpC2DMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of cloud to device messages (HTTP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "AmqpC2DRejectedMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "MqttC2DRejectedMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "HttpC2DRejectedMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "AmqpD2CMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of device to cloud messages (AMQP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "MqttD2CMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of device to cloud messages (MQTT protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "HttpD2CMessagesNotInAllowedRange": { + "type": "object", + "description": "Number of device to cloud messages (HTTP protocol) is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "DirectMethodInvokesNotInAllowedRange": { + "type": "object", + "description": "Number of direct method invokes is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "FailedLocalLoginsNotInAllowedRange": { + "type": "object", + "description": "Number of failed local logins is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "FileUploadsNotInAllowedRange": { + "type": "object", + "description": "Number of file uploads is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "QueuePurgesNotInAllowedRange": { + "type": "object", + "description": "Number of device queue purges is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "TwinUpdatesNotInAllowedRange": { + "type": "object", + "description": "Number of twin updates is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} + }, + "UnauthorizedOperationsNotInAllowedRange": { + "type": "object", + "description": "Number of unauthorized operations is not in allowed range.", + "allOf": [ + { + "$ref": "#/definitions/TimeWindowCustomAlertRule" + } + ], + "properties": {} } }, "parameters": { @@ -545,7 +614,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the security group. Please notice that the name is case insensitive.", + "description": "The name of the device security group. Note that the name of the device security group is case insensitive.", "x-ms-parameter-location": "method" }, "DeviceSecurityGroup": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json index 9492bc79ea23..8d2070be53f6 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json @@ -4,15 +4,10 @@ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", "deviceSecurityGroupName": "samplesecuritygroup", "deviceSecurityGroup": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup", - "name": "samplesecuritygroup", - "type": "Microsoft.Security/deviceSecurityGroups", "properties": { "timeWindowRules": [ { "ruleType": "ActiveConnectionsNotInAllowedRange", - "displayName": "Number of active connections is not in allowed range", - "description": "Get an alert when the number of active connections of a device in the time window is not in the allowed range", "isEnabled": true, "minThreshold": 0, "maxThreshold": 30, 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 87aacf936084..1121d592edc7 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 @@ -158,8 +158,11 @@ }, "put": { "x-ms-examples": { - "Create or update a security automation": { - "$ref": "./examples/Automations/PutAutomation_example.json" + "Create or update a security automation for all assessments": { + "$ref": "./examples/Automations/PutAutomationAllAssessments_example.json" + }, + "Create or update a security automation for all high severity assessments": { + "$ref": "./examples/Automations/PutAutomationHighSeverityAssessments_example.json" }, "Disable or enable a security automation": { "$ref": "./examples/Automations/PutDisableAutomation_example.json" @@ -373,6 +376,7 @@ "description": "A valid event source type.", "enum": [ "Assessments", + "SubAssessments", "Alerts" ], "x-ms-enum": { @@ -382,6 +386,9 @@ { "value": "Assessments" }, + { + "value": "SubAssessments" + }, { "value": "Alerts" } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json new file mode 100644 index 000000000000..59b97b381e18 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "automationName": "exampleAutomation", + "resourceGroupName": "exampleResourceGroup", + "Automation": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments" + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp", + "uri": "https://exampleTriggerUri1.com" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/automations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/SecurityAutomations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json new file mode 100644 index 000000000000..d79b128f65df --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "automationName": "exampleAutomation", + "resourceGroupName": "exampleResourceGroup", + "Automation": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp", + "uri": "https://exampleTriggerUri1.com" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/automations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/SecurityAutomations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json deleted file mode 100644 index f0fb970efdf8..000000000000 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "parameters": { - "api-version": "2019-01-01-preview", - "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", - "automationName": "exampleAutomation", - "resourceGroupName": "exampleResourceGroup", - "Automation": { - "location": "Central US", - "etag": "etag value (must be supplied for update)", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp", - "uri": "https://exampleTriggerUri1.com" - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", - "name": "exampleAutomation", - "type": "Microsoft.Security/automations", - "location": "Central US", - "etag": "new etag value", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp" - } - ] - } - } - }, - "201": { - "body": { - "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", - "name": "exampleAutomation", - "type": "Microsoft.Security/SecurityAutomations", - "location": "Central US", - "etag": "new etag value", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp" - } - ] - } - } - } - } -} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json index 665e132c03d2..802d023d718e 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/connectors": { "get": { "x-ms-examples": { - "Get all Cloud accounts connectors of a subscription": { + "Get all cloud accounts connectors of a subscription": { "$ref": "./examples/Connectors/GetListConnectorSubscription_example.json" } }, @@ -62,7 +62,7 @@ } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "Error response describing why the operation failed", "schema": { "$ref": "../../../common/v1/types.json#/definitions/CloudError" } @@ -113,7 +113,7 @@ }, "put": { "x-ms-examples": { - "AwsCred - Create a cloud account connector for a subscription": { + "AwsCred - Create a cloud account connector for a subscription": { "$ref": "./examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json" }, "AwsAssumeRole - Create a cloud account connector for a subscription": { @@ -126,7 +126,7 @@ "tags": [ "Connectors" ], - "description": "Create a cloud account connector or update an existing one. Connect to your AWS cloud account using either account credentials or role-based authentication.", + "description": "Create a cloud account connector or update an existing one. Connect to your cloud account. For AWS, use either account credentials or role-based authentication. For GCP, use account organization credentials.", "operationId": "Connectors_CreateOrUpdate", "parameters": [ { @@ -233,10 +233,10 @@ }, "ConnectorSettingProperties": { "type": "object", - "description": "Describes properties of an connector setting", + "description": "Describes properties of a connector setting", "properties": { "hybridComputeSettings": { - "description": "Settings for hybrid compute management, these settings are relevant only Arc autoProvision (Hybrid Compute).", + "description": "Settings for hybrid compute management. These settings are relevant only for Arc autoProvision (Hybrid Compute).", "type": "object", "$ref": "#/definitions/HybridComputeSettingsProperties" }, @@ -292,11 +292,11 @@ "values": [ { "value": "On", - "description": "Install missing Azure Arc agent on VMs automatically" + "description": "Install missing Azure Arc agents on machines automatically" }, { "value": "Off", - "description": "Do not install Azure Arc agent on the VMs automatically" + "description": "Do not install Azure Arc agent on the machines automatically" } ] } @@ -307,7 +307,7 @@ }, "region": { "type": "string", - "description": "The location where the meta data of machines will be stored", + "description": "The location where the metadata of machines will be stored", "x-ms-mutability": [ "create", "read" @@ -334,7 +334,7 @@ "properties": { "applicationId": { "type": "string", - "description": "Application id of service principal." + "description": "Application ID of service principal." }, "secret": { "type": "string", @@ -371,7 +371,7 @@ }, { "value": "Expired", - "description": "the connection is expired" + "description": "the connection has expired" }, { "value": "IncorrectPolicy", @@ -422,7 +422,7 @@ }, "AwsCredsAuthenticationDetailsProperties": { "type": "object", - "description": "AWS cloud account connector based credentials, the credentials is composed of access key id and secret key, for more details, refer to Creating an IAM User in Your AWS Account (write only)", + "description": "AWS cloud account connector based credentials, the credentials is composed of access key ID and secret key, for more details, refer to Creating an IAM User in Your AWS Account (write only)", "x-ms-discriminator-value": "awsCreds", "allOf": [ { @@ -451,7 +451,7 @@ }, "AwAssumeRoleAuthenticationDetailsProperties": { "type": "object", - "description": "AWS cloud account connector based assume role, the role enables delegating access to your AWS resources. The role is composed of role arn and external id, for more details, refer to Creating a Role to Delegate Permissions to an IAM User (write only)", + "description": "AWS cloud account connector based assume role, the role enables delegating access to your AWS resources. The role is composed of role Amazon Resource Name (ARN) and external ID. For more details, refer to Creating a Role to Delegate Permissions to an IAM User (write only)", "x-ms-discriminator-value": "awsAssumeRole", "allOf": [ { @@ -480,7 +480,7 @@ }, "GcpCredentialsDetailsProperties": { "type": "object", - "description": "GCP cloud account connector based service to service credentials, the credentials is composed of organization id and json api key (write only)", + "description": "GCP cloud account connector based service to service credentials, the credentials are composed of the organization ID and a JSON API key (write only)", "x-ms-discriminator-value": "gcpCredentials", "allOf": [ { @@ -489,7 +489,7 @@ ], "properties": { "organizationId": { - "description": "The Organization ID of the GCP cloud account", + "description": "The organization ID of the GCP cloud account", "type": "string" }, "type": { @@ -498,11 +498,11 @@ }, "projectId": { "type": "string", - "description": "Project Id field of the API key (write only)" + "description": "Project ID field of the API key (write only)" }, "privateKeyId": { "type": "string", - "description": "Private key Id field of the API key (write only)" + "description": "Private key ID field of the API key (write only)" }, "privateKey": { "type": "string", @@ -514,23 +514,23 @@ }, "clientId": { "type": "string", - "description": "Client Id field of the API key (write only)" + "description": "Client ID field of the API key (write only)" }, "authUri": { "type": "string", - "description": "Auth Uri field of the API key (write only)" + "description": "Auth URI field of the API key (write only)" }, "tokenUri": { "type": "string", - "description": "Token Uri field of the API key (write only)" + "description": "Token URI field of the API key (write only)" }, "authProviderX509CertUrl": { "type": "string", - "description": "Auth provider x509 certificate url field of the API key (write only)" + "description": "Auth provider x509 certificate URL field of the API key (write only)" }, "clientX509CertUrl": { "type": "string", - "description": "Client x509 certificate url field of the API key (write only)" + "description": "Client x509 certificate URL field of the API key (write only)" } }, "required": [ diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json index 58c0d683cb8c..aa31327972d9 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json @@ -13,9 +13,11 @@ "properties": { "displayName": "ASC score", "score": { - "max": 13, - "current": 3 - } + "max": 39, + "current": 23.53, + "percentage": 0.6033 + }, + "weight": 67 } } } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json index 99b0d5df2e2e..01f76f8ad702 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json @@ -7,123 +7,1101 @@ }, "responses": { "200": { - "parameters": { - "secureScoreName": "ascScore" - }, "body": { "value": [ { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", "name": "a9909064-42b4-4d34-8143-275477afe18b", - "type": "Microsoft.Security/secureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Protect applications against DDoS attacks", "healthyResourceCount": 0, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 1, "score": { "max": 0, - "current": 0 + "current": 0, + "percentage": 0 }, "definition": { - "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", "name": "a9909064-42b4-4d34-8143-275477afe18b", - "type": "Microsoft.Security/SecureScoreControlDefinitions", + "type": "Microsoft.Security/secureScoreControlDefinitions", "properties": { "source": { "sourceType": "BuiltIn" }, "displayName": "Protect applications against DDoS attacks", - "description": "This control contains recommendations regarding DDoS attack prevention", "maxScore": 2, "assessmentDefinitions": [ { "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/405c9ae6-49f9-46c4-8873-a86690f27818" } ] } - } + }, + "weight": 0 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", - "type": "Microsoft.Security/SecureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Enable MFA", - "healthyResourceCount": 0, - "unhealthyResourceCount": 1, + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, "notApplicableResourceCount": 0, "score": { "max": 10, - "current": 0 + "current": 10, + "percentage": 1 }, "definition": { - "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", - "type": "Microsoft.Security/SecureScoreControlDefinitions", + "type": "Microsoft.Security/secureScoreControlDefinitions", "properties": { "source": { "sourceType": "BuiltIn" }, "displayName": "Enable MFA", - "description": "This control contains recommendations regarding MFA", "maxScore": 10, "assessmentDefinitions": [ { - "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" }, { "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" }, { - "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + "id": "/providers/Microsoft.Security/assessmentMetadata/1f24d55a-df0f-4772-9090-4629c2d6bfff" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e3d9ac0-a248-4276-a437-304c6cd1443b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8d7a6128-c8f2-43df-b422-7877346f9ddb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4a946e22-47e8-443d-8761-b25620b4a1e1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" } ] } - } + }, + "weight": 1 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", - "name": "a000c66f-6da2-4f9d-826d-2364347d2588", - "type": "Microsoft.Security/SecureScoreControls", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { - "displayName": "Apply adaptive application control", - "healthyResourceCount": 20, + "displayName": "Implement security best practices", + "healthyResourceCount": 7, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 1, "score": { - "max": 3, - "current": 3 + "max": 0, + "current": 0, + "percentage": 0 }, "definition": { - "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", - "name": "a000c66f-6da2-4f9d-826d-2364347d2588", - "type": "Microsoft.Security/SecureScoreControlDefinitions", + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScoreControlDefinitions", "properties": { "source": { "sourceType": "BuiltIn" }, - "displayName": "Apply adaptive application control", - "description": "This control contains recommendations regarding enabling adaptive application control", - "maxScore": 3, + "displayName": "Implement security best practices", + "maxScore": 0, "assessmentDefinitions": [ { - "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" }, { - "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + "id": "/providers/Microsoft.Security/assessmentMetadata/a8c6a4ad-d51e-88fe-2979-d3ee3c864f8b" }, { - "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + "id": "/providers/Microsoft.Security/assessmentMetadata/6f90a6d6-d4d6-0794-0ec1-98fa77878c2e" }, { - "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + "id": "/providers/Microsoft.Security/assessmentMetadata/a9341235-9389-42f0-a0bf-9bfb57960d44" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45d313c3-3fca-5040-035f-d61928366d31" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0553104-cfdb-65e6-759c-002812e38500" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/47bb383c-8e25-95f0-c2aa-437add1d87d3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/12018f4f-3d10-999b-e4c4-86ec25be08a1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/eade5b56-eefd-444f-95c8-23f29e5d93cb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ebe970fe-9c27-4dd7-a165-1e943d565e10" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f7010359-8d21-4598-a9f2-c3e81a17141e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/24d8af06-d441-40b4-a49c-311421aa9f58" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3e93d3-0276-4d06-b20a-9a9f3012742c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9172da4e-9571-6e33-2b5b-d742847f3be7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/093c685b-56dd-13a3-8ed5-887a001837a2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/64b8637e-4e1d-76a9-0fc9-c1e487a97ed8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fe02b3b7-a722-d4d6-6731-6493776203a6" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57f36d21-69e3-4b0f-a66c-18629d1b736d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6c99f570-2ce7-46bc-8175-cde013df43bc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22489c48-27d1-4e40-9420-4303ad9cffef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fc84abc0-eee6-4758-8372-a7681965ca44" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/726cde3e-02f8-4041-8935-727f2be19ba7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a2bb3a1b-4a09-4cf7-9e79-c438687e2c2f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/664c6a0b-5cd2-4140-aaff-a94241c07afd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3af5de46-fda8-4b6e-90f1-6565187d7c48" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a9a59ebb-5d6f-42f5-92a1-036fd0fd1879" + } + ] + } + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable Advanced Threat Protection", + "maxScore": 0, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/56a6e81f-7413-4f72-9a1b-aaeeaa87c872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0876ef51-fee7-449d-ba1e-f2662c7e43c6" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/58d72d9d-0310-4792-9a3b-6dd111093cdb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6ac66a74-761f-4a59-928a-d373eea3f028" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1be22853-8ed1-4005-9907-ddad64cb1417" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/86ea1a79-29d3-4eac-a9f4-3541ace4e718" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/53572822-d3fc-4363-bfb9-248645841612" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b1af52e4-e968-4e2b-b6d0-6736c9651f0a" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable auditing and logging", + "maxScore": 1, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94208a8b-16e8-4e5b-abbd-4e81c9d02bee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c6dad669-efd7-cd72-61c5-289935607791" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/77785808-ce86-4e40-b45f-19110a547397" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/32771b45-220c-1a8b-584e-fdd5a2584a66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f11b27f2-8c49-5bb4-eff5-e1e5384bf95e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f19ab7d9-5ff2-f8fd-ab3b-0bf95dcb6889" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ad5bbaeb-7632-5edf-f1c2-752075831ce8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dea5192e-1bb3-101b-b70c-4646546f5e1e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1597605a-0faf-5860-eb74-462ae2e9fc21" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/91387f44-7e43-4ecc-55f0-46f5adee3dd5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/961eb649-3ea9-f8c2-6595-88e9a3aeedeb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/88bbc99c-e5af-ddd7-6105-6150b2bfa519" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22438e3c-73c8-40af-a083-10c980c63aa2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5720f1a6-6061-4768-9c0d-2000a6041744" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/30c69b23-a9a2-4729-aca6-f21adacfff66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a9ac48d8-8dd7-42b9-9752-b1fa70ea5dd9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/00261067-76a8-4ebb-b5fc-becc81067bee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/83ca4867-58c1-45d6-b6b6-dbf226512891" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a269cbdb-86e8-431c-9ff2-f0ea491174d8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5ea59e47-093b-446f-9765-5b0ec4c9da61" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/011397ca-1366-4bcc-b85a-7a5e3df2e80b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c62371bc-f6a7-4915-b5b5-14288682cf79" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/293ba336-7312-42fc-a59d-836e4e678b17" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0b547a38-2c0d-47e1-b9a2-a59fccc140db" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7d0ad86f-f43b-4889-b2f7-09d91bd1407b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b20558b6-de31-480c-8aa0-e920d62b9764" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/022efc2d-5119-480b-a203-e151b6b2645c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3ee7608e-f0e7-4c26-8921-5ae46c4e99df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/33765629-073d-49eb-bab4-64bdf8ac90da" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9c054f50-823f-45ab-839e-9df4eb7c2f11" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f61e15f3-4bcf-4d2e-8f06-32237cabe0a0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cdb3af55-2abf-476b-aac7-5cfec366a4dd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc26b0d4-a1d7-4665-9d44-efc205ae73f0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3812e247-34f2-4f06-a312-89a8fe51fa37" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0f8405a-5ecc-4314-808e-083e030d6163" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c23e0eec-eee4-4632-b1c2-6c884c3c963b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7ce5a01f-e94b-438a-8b72-fa02c076f11a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/46e4e0ed-106d-405e-b1a9-ca34c8f7d31f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b1294b0d-9b2e-4e1b-9f67-77a75fb10a65" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0b86a67f-bde5-4c91-b10c-4102033b8692" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3d55e4b1-ecdb-4eaf-9e3f-b00a764182bd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" } ] } - } + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Manage access and permissions", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c3b6ae71-f1f0-31b4-e6c1-d5951285d03d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/04e7147b-0deb-9796-2e5c-0336343ceb3d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e52064aa-6853-e252-a11e-dffc675689c2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/00c6d40b-e990-6acf-d4f3-471e747a27c4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2c79b4af-f830-b61e-92b9-63dfa30f16e4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b0fdc63a-38e7-4bab-a7c4-2c2665abbaa9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/03afeb6f-7634-adb3-0a01-803b0b9cb611" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9d07b7e6-2986-4964-a76c-b2689604e212" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5d90913f-a1c5-4429-ad54-2c6c17fb3c73" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/582c14e9-48c1-4b25-ab93-91bdeaf9120c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8a10942a-02ca-483f-81ae-2260ea7808cc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9b8eac17-6b11-4b94-9bb4-18c81aee7123" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/554ba13c-d7d4-4530-88ce-94cf11a670ce" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/66a1d478-4d24-42d4-8eca-dcdab6532a18" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b396f112-a462-4813-a93f-80bc90041e4d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5425052d-cc0d-4424-af71-050311f99634" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/09cb7d54-db05-4d31-97f3-9bbfe1dff610" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/01fb1ad4-303b-4789-abf2-c024c4a76523" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0de072b9-6515-4985-842e-0318047bb85b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3f474a-234e-442f-92b3-2a45e37f7eee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c55461af-4923-4fbb-b270-40d5e5f4c0ff" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bbdc4999-1462-4d46-853b-2f8c6ca1c682" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9e1f12d0-cb3d-4e1c-a468-6bc3d934c99d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fd5d38f6-340e-4bd2-88f2-e1314c3c07a9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0384d5b7-5def-4130-b7b5-db7da7e63276" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0ad39832-f031-4fdd-885e-c6cce85ac77c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/90191798-da1b-40dd-aa9c-1c0eafb1ba87" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ddced3c8-a5e2-4dc4-b0fe-1331c77fc9c4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/52f83ea2-6871-45c3-8b26-13566e966638" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/79b4eb34-c06e-49bf-883d-5352a21a962f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5723400d-5b2a-45f1-99ee-837986866318" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/76e8881d-f18e-4e1b-b01d-376d0260e066" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0eaf40a8-5673-4b33-8457-a31d85882233" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5a235918-41a2-4bd0-8ab0-00a596e9d6a8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3ff38dcd-92e2-4b67-8765-35bb0174a4c7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1ff4501b-2109-4ef6-ba9d-e824a96d63d0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f493084a-d3c4-4886-8cf2-3c815aeef901" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/11c95609-3553-430d-b788-fd41cde8b2db" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27d6f0e9-b4d5-468b-ae7e-03d5473fd864" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0debc84-981c-4a0d-924d-aa4bd7d55fef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9b795646-9130-41a4-90b7-df9eae2437c8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/802c0637-5a8c-4c98-abd7-7c96d89d6010" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/43dc2a2e-ce69-4d42-923e-ab7d136f2cfe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2acd365d-e8b5-4094-bce4-244b7c51d67c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/51fd8bb1-0db4-bbf1-7e2b-cfcba7eb66a6" + } + ] + } + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Remediate security configurations", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/181ac480-f7c4-544b-9865-11b8ffe87f47" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3d9ad0-3639-4686-9cd2-2b2ab2609bda" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0677209d-e675-2c6f-e91a-54cef2878663" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a3eee263-aa01-4b52-a7c0-0094578ef48f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8941d121-f740-35f6-952c-6561d2b38d36" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0396b18c-41aa-489c-affd-4ee5d1714a59" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fa924a53-0837-4296-9bf7-18ce7dd68593" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9e1789cd-7b61-42db-ba12-7268283ba466" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/233da9cd-11bf-463a-8aa7-4c81b9e788d1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c4131c22-1ecc-4beb-9961-d90108bd975f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d74d2738-2485-4103-9919-69c7e63776ec" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5f65e47f-7a00-4bf3-acae-90ee441ee876" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/86f91051-9d6a-47c3-a07f-bd14cb214b45" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable endpoint protection", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/83f577bd-a1b6-b7e1-0891-12ca19d1e6df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4fb67663-9ab9-475d-b026-8c544cced439" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/383cf3bc-fdf9-4a02-120a-3e7e36c6bfee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/37a3689a-818e-4a0e-82ac-b1392b9bb000" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e71020c2-860c-3235-cd39-04f3f8c936d2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply system updates", + "maxScore": 6, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4ab6e3c5-74dd-8b35-9ab9-f61b30875b27" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f2805ebc-abc2-4aac-a8d6-35664c479971" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c0f5316d-5ac5-9218-b77a-b96e16ccfd66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bd20bd91-aaf1-7f14-b6e4-866de2f43146" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8bc390da-9eb6-938d-25ed-44a35d9bcc9d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22e18b64-4576-41e6-8972-0eb28c9af0c8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Encrypt data in transit", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1b351b29-41ca-6df5-946c-c190a56be5fe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cb0acdc6-0846-fd48-debe-9905af151b6d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bf82a334-13b6-ca57-ea75-096fc2ffce50" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35b25be2-d08a-e340-45ed-f08a95d804fc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1c5de8e1-f68d-6a17-e0d2-ec259c42768c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a3ebc80a-847b-46d5-a37d-8dca5e6947df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c28a89d9-7cf4-439b-a8c4-ad4e769f68ee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2acc27c6-5fdb-405e-9080-cb66b850c8f5" + } + ] + } + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Restrict unauthorized network access", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/483f12ed-ae23-447e-a2de-a67a10db4353" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3b20e985-f71f-483b-b078-f30d73936d43" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f9f0eed0-f143-47bf-b856-671ea2eeed62" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1a2b5b4c-f80d-46e7-ac81-b51a9fb363de" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c3b51c94-588b-426b-a892-24696f9e54cc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e40df93c-7a7c-1b0a-c787-9987ceb98e54" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7b3d4796-9400-2904-692b-4a5ede7f0a1e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/df4d1739-47f0-60c7-1706-3731fea6ab03" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1a36f14a-8bd8-45f5-abe5-eef88d76ab5b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/beb62be3-5e78-49bd-ac5f-099250ef3c7c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ba975338-f956-41e7-a9f2-7614832d382d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d5a8d84a-9ad0-42e2-80e0-d38e3d46028a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5a3d6cdd-8eb3-46d2-ba11-d24a0d47fe65" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d8326952-60bb-40fb-b33f-51e662708a88" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5f88450f-9546-4b78-a181-a2d9162bb441" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/add45209-73f6-4fa5-a5a5-74a451b07fbe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b3473ed6-78c0-40d5-b5f0-674e98924952" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9dd55566-33b9-4c07-a959-14794ce02355" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ad0b04b9-eaf9-49f8-b85e-724f9520e760" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ece6ec5d-a862-4e22-a8db-271661216018" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e40b679a-f44e-4366-87dd-7693e16a2128" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0bdcd23c-4ff2-4077-aa14-eb6950bfbdd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1f386f4e-449e-41e8-b829-a2fe01086ae1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2f6c8a5a-9407-467c-8082-0ad4ab915d77" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3b1713ec-feb3-4b32-b5b0-251acff0a84a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/049f1551-438b-444e-8904-a3c3afbcb43e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/684307e9-62a8-4f2a-887a-4b90de5e4b98" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0327f9da-f758-4d69-8903-55448b8cf70e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cc637123-c11e-40ee-adf8-93c0876481f4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ebc68898-5c0f-4353-a426-4a5f1e737b12" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f67fb4ed-d481-44d7-91e5-efadf504f74a" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable encryption at rest", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d57a4221-a804-52ca-3dea-768284f06bb7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/651967bf-044e-4bde-8376-3e08e0600105" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b12bc79e-4f12-44db-acda-571820191ddc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7f04fc0c-4a3d-5c7e-ce19-666cb871b510" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c01fab9f-bde1-4ba5-9d35-7de51f31c2d3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/23b514bd-2afc-4a3e-8d3d-f4327118eee9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3053474d-4fab-4603-8d18-2a6dfd09f782" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6be98232-0100-474a-b33d-ba9c1a747f70" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + } + ] + } + }, + "weight": 1 } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json index aae8856966ea..cef6eb8e728a 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json @@ -9,48 +9,207 @@ "body": { "value": [ { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", "name": "a9909064-42b4-4d34-8143-275477afe18b", - "type": "Microsoft.Security/SecureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Protect applications against DDoS attacks", "healthyResourceCount": 0, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 1, "score": { "max": 0, - "current": 0 - } + "current": 0, + "percentage": 0 + }, + "weight": 0 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", - "type": "Microsoft.Security/SecureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Enable MFA", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 10, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Implement security best practices", + "healthyResourceCount": 7, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", "healthyResourceCount": 0, "unhealthyResourceCount": 1, "notApplicableResourceCount": 0, "score": { - "max": 10, - "current": 0 - } + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 1 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", - "name": "a000c66f-6da2-4f9d-826d-2364347d2588", - "type": "Microsoft.Security/SecureScoreControls", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { - "displayName": "Apply adaptive application control", - "healthyResourceCount": 20, + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, "score": { - "max": 3, - "current": 3 - } + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json index c3c4542a72f3..8f8c888d2915 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json @@ -8,48 +8,207 @@ "body": { "value": [ { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", "name": "a9909064-42b4-4d34-8143-275477afe18b", - "type": "Microsoft.Security/SecureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Protect applications against DDoS attacks", "healthyResourceCount": 0, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 1, "score": { "max": 0, - "current": 0 - } + "current": 0, + "percentage": 0 + }, + "weight": 0 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", - "type": "Microsoft.Security/SecureScoreControls", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { "displayName": "Enable MFA", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 10, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Implement security best practices", + "healthyResourceCount": 7, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", "healthyResourceCount": 0, "unhealthyResourceCount": 1, "notApplicableResourceCount": 0, "score": { - "max": 10, - "current": 0 - } + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 1 } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", - "name": "a000c66f-6da2-4f9d-826d-2364347d2588", - "type": "Microsoft.Security/SecureScoreControls", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", "properties": { - "displayName": "Apply adaptive application control", - "healthyResourceCount": 20, + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, "unhealthyResourceCount": 0, - "notApplicableResourceCount": 10, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, "score": { - "max": 3, - "current": 3 - } + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json index c9fc267708c1..78377220b726 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json @@ -14,9 +14,11 @@ "properties": { "displayName": "ASC score", "score": { - "max": 13, - "current": 3.5 - } + "max": 39, + "current": 23.53, + "percentage": 0.6033 + }, + "weight": 67 } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json index 3e742573ba4f..52ae9725b672 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json @@ -331,6 +331,14 @@ "readOnly": true, "x-ms-client-flatten": true, "$ref": "#/definitions/ScoreDetails" + }, + "weight": { + "description": "The relative weight for each subscription. Used when calculating an aggregated secure score for multiple subscriptions.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "exclusiveMinimum": false } } }, @@ -354,6 +362,16 @@ "format": "double", "minimum": 0.00, "exclusiveMinimum": false + }, + "percentage": { + "description": "Ratio of the current score divided by the maximum. Rounded to 4 digits after the decimal point", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 1.00, + "exclusiveMinimum": false, + "exclusiveMaximum": false } } }, @@ -378,6 +396,16 @@ "minimum": 0.00, "maximum": 10.00, "exclusiveMinimum": false + }, + "percentage": { + "description": "Ratio of the current score divided by the maximum. Rounded to 4 digits after the decimal point", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 1.00, + "exclusiveMinimum": false, + "exclusiveMaximum": false } } }, @@ -447,6 +475,14 @@ "type": "integer", "format": "int32" }, + "weight": { + "description": "The relative weight for this specific control in each of your subscriptions. Used when calculating an aggregated score for this control across all of your subscriptions.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "exclusiveMinimum": false + }, "definition": { "$ref": "#/definitions/SecureScoreControlDefinitionItem" } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_Get.json new file mode 100644 index 000000000000..c8f04a5824c7 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "scanId": "Scheduled-20200623", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623", + "name": "Scheduled-20200623", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans", + "properties": { + "triggerType": "Recurring", + "state": "Failed", + "server": "server1", + "database": "master", + "sqlVersion": "15.0.2000", + "startTime": "2020-06-23T06:49:00.6455136+00:00", + "endTime": "2020-06-23T06:49:00.7236217Z", + "highSeverityFailedRulesCount": 3, + "mediumSeverityFailedRulesCount": 2, + "lowSeverityFailedRulesCount": 1, + "totalPassedRulesCount": 20, + "totalFailedRulesCount": 6, + "totalRulesCount": 26, + "isBaselineApplied": false + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_GetLatest.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_GetLatest.json new file mode 100644 index 000000000000..7c2ff86ab55b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_GetLatest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "scanId": "latest", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623", + "name": "Scheduled-20200623", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans", + "properties": { + "triggerType": "Recurring", + "state": "Failed", + "server": "server1", + "database": "master", + "sqlVersion": "15.0.2000", + "startTime": "2020-06-23T06:49:00.6455136+00:00", + "endTime": "2020-06-23T06:49:00.7236217Z", + "highSeverityFailedRulesCount": 3, + "mediumSeverityFailedRulesCount": 2, + "lowSeverityFailedRulesCount": 1, + "totalPassedRulesCount": 20, + "totalFailedRulesCount": 6, + "totalRulesCount": 26, + "isBaselineApplied": false + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_List.json new file mode 100644 index 000000000000..f5406e2aaaff --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200225", + "name": "Scheduled-20200225", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans", + "properties": { + "triggerType": "Recurring", + "state": "Failed", + "server": "server1", + "database": "master", + "sqlVersion": "15.0.2000", + "startTime": "2020-02-25T11:34:29.1399864Z", + "endTime": "2020-02-25T11:38:07.8606151Z", + "highSeverityFailedRulesCount": 3, + "mediumSeverityFailedRulesCount": 2, + "lowSeverityFailedRulesCount": 1, + "totalPassedRulesCount": 20, + "totalFailedRulesCount": 6, + "totalRulesCount": 26, + "isBaselineApplied": false + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/scan_20200226_113429", + "name": "scan_20200226_113429", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans", + "properties": { + "triggerType": "OnDemand", + "state": "Passed", + "server": "server1", + "database": "master", + "sqlVersion": "15.0.2000", + "startTime": "2020-02-26T11:34:29.1399864Z", + "endTime": "2020-02-26T11:38:07.8606151Z", + "highSeverityFailedRulesCount": 0, + "mediumSeverityFailedRulesCount": 0, + "lowSeverityFailedRulesCount": 0, + "totalPassedRulesCount": 26, + "totalFailedRulesCount": 0, + "totalRulesCount": 26, + "isBaselineApplied": true + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Add.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Add.json new file mode 100644 index 000000000000..e6577270110b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Add.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master", + "body": { + "latestScan": false, + "results": { + "VA1234": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ], + "VA5678": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA5678", + "name": "VA5678", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_AddLatest.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_AddLatest.json new file mode 100644 index 000000000000..cfd21bb9f2e5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_AddLatest.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master", + "body": { + "latestScan": true, + "results": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA5678", + "name": "VA5678", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Delete.json new file mode 100644 index 000000000000..99721025a616 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Get.json new file mode 100644 index 000000000000..9a7009d46b9e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_List.json new file mode 100644 index 000000000000..760d38acecd6 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA5678", + "name": "VA5678", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Put.json new file mode 100644 index 000000000000..126a59175bca --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Put.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master", + "body": { + "latestScan": false, + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_PutLatest.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_PutLatest.json new file mode 100644 index 000000000000..22bcefce9657 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_PutLatest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "ruleId": "VA1234", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master", + "body": { + "latestScan": true, + "results": [] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/VA1234", + "name": "VA1234", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/baselineRules", + "properties": { + "results": [ + [ + "userA", + "SELECT" + ], + [ + "userB", + "SELECT" + ] + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_Get.json new file mode 100644 index 000000000000..5aa776984cfd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_Get.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "scanId": "Scheduled-20200623", + "scanResultId": "VA2063", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063", + "name": "VA2063", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2063", + "status": "Finding", + "isTrimmed": false, + "queryResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "remediation": { + "description": "Remove server firewall rules that grant excessive access", + "scripts": [ + "EXECUTE sp_delete_firewall_rule N'Test';" + ], + "automated": false, + "portalLink": "ReviewServerFirewallRules" + }, + "baselineAdjustedResult": { + "baseline": { + "expectedResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "updatedTime": "2020-02-04T12:49:41.027771+00:00" + }, + "status": "NonFinding", + "resultsNotInBaseline": [], + "resultsOnlyInBaseline": [] + }, + "ruleMetadata": { + "ruleId": "VA2063", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Server-level firewall rules should not grant excessive access", + "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_GetLatest.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_GetLatest.json new file mode 100644 index 000000000000..dd566b960b02 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_GetLatest.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "scanId": "latest", + "scanResultId": "VA2063", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063", + "name": "VA2063", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2063", + "status": "Finding", + "isTrimmed": false, + "queryResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "remediation": { + "description": "Remove server firewall rules that grant excessive access", + "scripts": [ + "EXECUTE sp_delete_firewall_rule N'Test';" + ], + "automated": false, + "portalLink": "ReviewServerFirewallRules" + }, + "baselineAdjustedResult": { + "baseline": { + "expectedResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "updatedTime": "2020-02-04T12:49:41.027771+00:00" + }, + "status": "NonFinding", + "resultsNotInBaseline": [], + "resultsOnlyInBaseline": [] + }, + "ruleMetadata": { + "ruleId": "VA2063", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Server-level firewall rules should not grant excessive access", + "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_List.json new file mode 100644 index 000000000000..d5162da4832c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_List.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "scanId": "Scheduled-20200623", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2062", + "name": "VA2062", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2062", + "status": "NonFinding", + "isTrimmed": false, + "queryResults": [], + "remediation": { + "description": "Remove database firewall rules that grant excessive access", + "scripts": [], + "automated": false, + "portalLink": "" + }, + "baselineAdjustedResult": null, + "ruleMetadata": { + "ruleId": "VA2062", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Database-level firewall rules should not grant excessive access", + "description": "The Azure SQL Database-level firewall helps protect your data by preventing all access to your database until you specify which IP addresses have permission. Database-level firewall rules grant access to the specific database based on the originating IP address of each request.\n\nDatabase-level firewall rules for master and user databases can only be created and managed through Transact-SQL (unlike server-level firewall rules which can also be created and managed using the Azure portal or PowerShell). For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that database-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process - to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected database.\n\nGranting excessive access using database firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your database. In fact, it's the equivalent of placing the database outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.database_firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063", + "name": "VA2063", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2063", + "status": "Finding", + "isTrimmed": false, + "queryResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "remediation": { + "description": "Remove server firewall rules that grant excessive access", + "scripts": [ + "EXECUTE sp_delete_firewall_rule N'Test';" + ], + "automated": false, + "portalLink": "ReviewServerFirewallRules" + }, + "baselineAdjustedResult": { + "baseline": { + "expectedResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "updatedTime": "2020-02-04T12:49:41.027771+00:00" + }, + "status": "NonFinding", + "resultsNotInBaseline": [], + "resultsOnlyInBaseline": [] + }, + "ruleMetadata": { + "ruleId": "VA2063", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Server-level firewall rules should not grant excessive access", + "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_ListLatest.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_ListLatest.json new file mode 100644 index 000000000000..cfc44451420f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_ListLatest.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "scanId": "latest", + "workspaceId": "55555555-6666-7777-8888-999999999999", + "api-version": "2020-07-01-preview", + "resourceId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2062", + "name": "VA2062", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2062", + "status": "NonFinding", + "isTrimmed": false, + "queryResults": [], + "remediation": { + "description": "Remove database firewall rules that grant excessive access", + "scripts": [], + "automated": false, + "portalLink": "" + }, + "baselineAdjustedResult": null, + "ruleMetadata": { + "ruleId": "VA2062", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Database-level firewall rules should not grant excessive access", + "description": "The Azure SQL Database-level firewall helps protect your data by preventing all access to your database until you specify which IP addresses have permission. Database-level firewall rules grant access to the specific database based on the originating IP address of each request.\n\nDatabase-level firewall rules for master and user databases can only be created and managed through Transact-SQL (unlike server-level firewall rules which can also be created and managed using the Azure portal or PowerShell). For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that database-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process - to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected database.\n\nGranting excessive access using database firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your database. In fact, it's the equivalent of placing the database outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.database_firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063", + "name": "VA2063", + "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults", + "properties": { + "ruleId": "VA2063", + "status": "Finding", + "isTrimmed": false, + "queryResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "remediation": { + "description": "Remove server firewall rules that grant excessive access", + "scripts": [ + "EXECUTE sp_delete_firewall_rule N'Test';" + ], + "automated": false, + "portalLink": "ReviewServerFirewallRules" + }, + "baselineAdjustedResult": { + "baseline": { + "expectedResults": [ + [ + "Test", + "0.0.0.0", + "125.125.125.125" + ] + ], + "updatedTime": "2020-02-04T12:49:41.027771+00:00" + }, + "status": "NonFinding", + "resultsNotInBaseline": [], + "resultsOnlyInBaseline": [] + }, + "ruleMetadata": { + "ruleId": "VA2063", + "severity": "High", + "category": "SurfaceAreaReduction", + "ruleType": "NegativeList", + "title": "Server-level firewall rules should not grant excessive access", + "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.", + "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.", + "queryCheck": { + "query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n (CONVERT(bigint, parsename(end_ip_address, 1)) +\n CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n - \n (CONVERT(bigint, parsename(start_ip_address, 1)) +\n CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n ) > 255;", + "expectedResult": [], + "columnNames": [ + "Firewall Rule Name", + "Start Address", + "End Address" + ] + }, + "benchmarkReferences": [] + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json new file mode 100644 index 000000000000..c48ce34bd212 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json @@ -0,0 +1,412 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "version": "2020-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules/{ruleId}": { + "put": { + "tags": [ + "Sql Vulnerability Assessment Baseline Rules" + ], + "summary": "Creates a Baseline for a rule in a database. Will overwrite any previously existing results.", + "operationId": "SqlVulnerabilityAssessmentBaselineRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "ruleId", + "description": "The rule Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "in": "body", + "name": "body", + "description": "The baseline results for this rule.", + "schema": { + "$ref": "#/definitions/RuleResultsInput" + } + } + ], + "responses": { + "200": { + "description": "Successfully set the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/RuleResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a baseline": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Put.json" + }, + "Create a baseline using the latest scan results": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_PutLatest.json" + } + } + }, + "get": { + "tags": [ + "Sql Vulnerability Assessment Baseline Rules" + ], + "summary": "Gets the results for a given rule in the Baseline.", + "operationId": "SqlVulnerabilityAssessmentBaselineRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "ruleId", + "description": "The rule Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Successfully got the vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/RuleResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get the baseline": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Get.json" + } + } + }, + "delete": { + "tags": [ + "Sql Vulnerability Assessment Baseline Rules" + ], + "summary": "Deletes a rule from the Baseline of a given database.", + "operationId": "SqlVulnerabilityAssessmentBaselineRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "ruleId", + "description": "The rule Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment rule baseline." + }, + "204": { + "description": "Rule baseline doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete the baseline": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Delete.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/baselineRules": { + "get": { + "tags": [ + "Sql Vulnerability Assessment Baseline Rules" + ], + "summary": "Gets the results for all rules in the Baseline.", + "operationId": "SqlVulnerabilityAssessmentBaselineRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/RulesResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List baseline for all rules": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_List.json" + } + } + }, + "post": { + "tags": [ + "Sql Vulnerability Assessment Baseline Rules" + ], + "summary": "Add a list of baseline rules. Will overwrite any previously existing results (for all rules).", + "operationId": "SqlVulnerabilityAssessmentBaselineRules_Add", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "in": "body", + "name": "body", + "description": "The baseline rules.", + "schema": { + "$ref": "#/definitions/RulesResultsInput" + } + } + ], + "responses": { + "200": { + "description": "Successfully removed the database vulnerability assessment rule baseline.", + "schema": { + "$ref": "#/definitions/RulesResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a baseline for all rules": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_Add.json" + }, + "Create a baseline for all rules using the latest scan results": { + "$ref": "./examples/sqlVulnerabilityAssessmentsBaselineRuleOperations/ArcMachineBaselineRules_AddLatest.json" + } + } + } + } + }, + "definitions": { + "RuleResultsInput": { + "description": "Rule results input.", + "type": "object", + "properties": { + "latestScan": { + "description": "Take results from latest scan.", + "type": "boolean" + }, + "results": { + "description": "Expected results to be inserted into the baseline.\r\nLeave this field empty it LatestScan == true.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "RuleResultsProperties": { + "description": "Rule results properties.", + "type": "object", + "properties": { + "results": { + "description": "Expected results in the baseline.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "RuleResults": { + "description": "Rule results.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RuleResultsProperties" + } + } + }, + "RulesResults": { + "description": "A list of rules results.", + "type": "object", + "properties": { + "value": { + "description": "List of rule results.", + "type": "array", + "items": { + "$ref": "#/definitions/RuleResults" + } + } + } + }, + "RulesResultsInput": { + "description": "Rules results input.", + "type": "object", + "properties": { + "latestScan": { + "description": "Take results from latest scan.", + "type": "boolean" + }, + "results": { + "description": "Expected results to be inserted into the baseline.\r\nLeave this field empty it LatestScan == true.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json new file mode 100644 index 000000000000..2ea38333fe25 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json @@ -0,0 +1,292 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "version": "2020-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}": { + "get": { + "tags": [ + "Sql Vulnerability Assessment Scans" + ], + "summary": "Gets the scan details of a single scan record.", + "operationId": "SqlVulnerabilityAssessmentScans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanId", + "description": "The scan Id. Type 'latest' to get the scan record for the latest scan.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Returns the scan record details.", + "schema": { + "$ref": "#/definitions/Scan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get scan details of a scan record": { + "$ref": "./examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_Get.json" + }, + "Get scan details of the latest scan record": { + "$ref": "./examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_GetLatest.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans": { + "get": { + "tags": [ + "Sql Vulnerability Assessment Scans" + ], + "summary": "Gets a list of scan records.", + "operationId": "SqlVulnerabilityAssessmentScans_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Returns the list of scan records.", + "schema": { + "$ref": "#/definitions/Scans" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List scan details": { + "$ref": "./examples/sqlVulnerabilityAssessmentScanOperations/ArcMachineScans_List.json" + } + } + } + } + }, + "definitions": { + "ScanTriggerType": { + "description": "The scan trigger type.", + "enum": [ + "OnDemand", + "Recurring" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanTriggerType", + "modelAsString": true, + "values": [ + { + "value": "OnDemand", + "description": "OnDemand" + }, + { + "value": "Recurring", + "description": "Recurring" + } + ] + } + }, + "ScanState": { + "description": "The scan status.", + "enum": [ + "Failed", + "FailedToRun", + "InProgress", + "Passed" + ], + "type": "string", + "x-ms-enum": { + "name": "ScanState", + "modelAsString": true, + "values": [ + { + "value": "Failed", + "description": "Failed" + }, + { + "value": "FailedToRun", + "description": "FailedToRun" + }, + { + "value": "InProgress", + "description": "InProgress" + }, + { + "value": "Passed", + "description": "Passed" + } + ] + } + }, + "ScanProperties": { + "description": "A vulnerability assessment scan record properties.", + "type": "object", + "properties": { + "triggerType": { + "$ref": "#/definitions/ScanTriggerType" + }, + "state": { + "$ref": "#/definitions/ScanState" + }, + "server": { + "description": "The server name.", + "type": "string" + }, + "database": { + "description": "The database name.", + "type": "string" + }, + "sqlVersion": { + "description": "The SQL version.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The scan start time (UTC).", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Scan results are valid until end time (UTC).", + "type": "string" + }, + "highSeverityFailedRulesCount": { + "format": "int32", + "description": "The number of failed rules with high severity.", + "type": "integer" + }, + "mediumSeverityFailedRulesCount": { + "format": "int32", + "description": "The number of failed rules with medium severity.", + "type": "integer" + }, + "lowSeverityFailedRulesCount": { + "format": "int32", + "description": "The number of failed rules with low severity.", + "type": "integer" + }, + "totalPassedRulesCount": { + "format": "int32", + "description": "The number of total passed rules.", + "type": "integer" + }, + "totalFailedRulesCount": { + "format": "int32", + "description": "The number of total failed rules.", + "type": "integer" + }, + "totalRulesCount": { + "format": "int32", + "description": "The number of total rules assessed.", + "type": "integer" + }, + "isBaselineApplied": { + "description": "Baseline created for this database, and has one or more rules.", + "type": "boolean" + } + } + }, + "Scan": { + "description": "A vulnerability assessment scan record.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScanProperties" + } + } + }, + "Scans": { + "description": "A list of vulnerability assessment scan records.", + "type": "object", + "properties": { + "value": { + "description": "List of vulnerability assessment scan records.", + "type": "array", + "items": { + "$ref": "#/definitions/Scan" + } + } + } + } + }, + "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/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json new file mode 100644 index 000000000000..de9d8bc3aed9 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json @@ -0,0 +1,480 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "version": "2020-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults/{scanResultId}": { + "get": { + "tags": [ + "Sql Vulnerability Assessment Scan Results" + ], + "summary": "Gets the scan results of a single rule in a scan record.", + "operationId": "SqlVulnerabilityAssessmentScanResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanId", + "description": "The scan Id. Type 'latest' to get the scan results for the latest scan.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "scanResultId", + "description": "The rule Id of the results.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Returns the scan results.", + "schema": { + "$ref": "#/definitions/ScanResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get scan details of a scan record": { + "$ref": "./examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_Get.json" + }, + "Get scan details of the latest scan record": { + "$ref": "./examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_GetLatest.json" + } + } + } + }, + "/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults": { + "get": { + "tags": [ + "Sql Vulnerability Assessment Scan Results" + ], + "summary": "Gets a list of scan results for a single scan record.", + "operationId": "SqlVulnerabilityAssessmentScanResults_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "scanId", + "description": "The scan Id. Type 'latest' to get the scan results for the latest scan.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "workspaceId", + "description": "The workspace Id.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The api version.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + } + ], + "responses": { + "200": { + "description": "Returns the list of scan results.", + "schema": { + "$ref": "#/definitions/ScanResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List scan results": { + "$ref": "./examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_List.json" + }, + "List scan results of the latest scan": { + "$ref": "./examples/sqlVulnerabilityAssessmentsScanResultsOperations/ArcMachineScanResults_ListLatest.json" + } + } + } + } + }, + "definitions": { + "RuleStatus": { + "description": "The rule result status.", + "enum": [ + "NonFinding", + "Finding", + "InternalError" + ], + "type": "string", + "x-ms-enum": { + "name": "RuleStatus", + "modelAsString": true, + "values": [ + { + "value": "NonFinding", + "description": "NonFinding" + }, + { + "value": "Finding", + "description": "Finding" + }, + { + "value": "InternalError", + "description": "InternalError" + } + ] + } + }, + "Remediation": { + "description": "Remediation details.", + "type": "object", + "properties": { + "description": { + "description": "Remediation description.", + "type": "string" + }, + "scripts": { + "description": "Remediation script.", + "type": "array", + "items": { + "type": "string" + } + }, + "automated": { + "description": "Is remediation automated.", + "type": "boolean" + }, + "portalLink": { + "description": "Optional link to remediate in Azure Portal.", + "type": "string" + } + } + }, + "Baseline": { + "description": "Baseline details.", + "type": "object", + "properties": { + "expectedResults": { + "description": "Expected results.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "updatedTime": { + "format": "date-time", + "description": "Baseline update time (UTC).", + "type": "string" + } + } + }, + "BaselineAdjustedResult": { + "description": "The rule result adjusted with baseline.", + "type": "object", + "properties": { + "baseline": { + "$ref": "#/definitions/Baseline" + }, + "status": { + "$ref": "#/definitions/RuleStatus" + }, + "resultsNotInBaseline": { + "description": "Results the are not in baseline.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "resultsOnlyInBaseline": { + "description": "Results the are in baseline.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "RuleSeverity": { + "description": "The rule severity.", + "enum": [ + "High", + "Medium", + "Low", + "Informational", + "Obsolete" + ], + "type": "string", + "x-ms-enum": { + "name": "RuleSeverity", + "modelAsString": true, + "values": [ + { + "value": "High", + "description": "High" + }, + { + "value": "Medium", + "description": "Medium" + }, + { + "value": "Low", + "description": "Low" + }, + { + "value": "Informational", + "description": "Informational" + }, + { + "value": "Obsolete", + "description": "Obsolete" + } + ] + } + }, + "RuleType": { + "description": "The rule type.", + "enum": [ + "Binary", + "BaselineExpected", + "PositiveList", + "NegativeList" + ], + "type": "string", + "x-ms-enum": { + "name": "RuleType", + "modelAsString": true, + "values": [ + { + "value": "Binary", + "description": "Binary" + }, + { + "value": "BaselineExpected", + "description": "BaselineExpected" + }, + { + "value": "PositiveList", + "description": "PositiveList" + }, + { + "value": "NegativeList", + "description": "NegativeList" + } + ] + } + }, + "QueryCheck": { + "description": "The rule query details.", + "type": "object", + "properties": { + "query": { + "description": "The rule query.", + "type": "string" + }, + "expectedResult": { + "description": "Expected result.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "columnNames": { + "description": "Column names of expected result.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BenchmarkReference": { + "description": "The benchmark references.", + "type": "object", + "properties": { + "benchmark": { + "description": "The benchmark name.", + "type": "string" + }, + "reference": { + "description": "The benchmark reference.", + "type": "string" + } + } + }, + "VaRule": { + "description": "vulnerability assessment rule metadata details.", + "type": "object", + "properties": { + "ruleId": { + "description": "The rule Id.", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/RuleSeverity" + }, + "category": { + "description": "The rule category.", + "type": "string" + }, + "ruleType": { + "$ref": "#/definitions/RuleType" + }, + "title": { + "description": "The rule title.", + "type": "string" + }, + "description": { + "description": "The rule description.", + "type": "string" + }, + "rationale": { + "description": "The rule rationale.", + "type": "string" + }, + "queryCheck": { + "$ref": "#/definitions/QueryCheck" + }, + "benchmarkReferences": { + "description": "The benchmark references.", + "type": "array", + "items": { + "$ref": "#/definitions/BenchmarkReference" + } + } + } + }, + "ScanResultProperties": { + "description": "A vulnerability assessment scan result properties for a single rule.", + "type": "object", + "properties": { + "ruleId": { + "description": "The rule Id.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/RuleStatus" + }, + "isTrimmed": { + "description": "Indicated whether the results specified here are trimmed.", + "type": "boolean" + }, + "queryResults": { + "description": "The results of the query that was run.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "remediation": { + "$ref": "#/definitions/Remediation" + }, + "baselineAdjustedResult": { + "$ref": "#/definitions/BaselineAdjustedResult" + }, + "ruleMetadata": { + "$ref": "#/definitions/VaRule" + } + } + }, + "ScanResult": { + "description": "A vulnerability assessment scan result for a single rule.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScanResultProperties" + } + } + }, + "ScanResults": { + "description": "A list of vulnerability assessment scan results.", + "type": "object", + "properties": { + "value": { + "description": "List of vulnerability assessment scan results.", + "type": "array", + "items": { + "$ref": "#/definitions/ScanResult" + } + } + } + } + }, + "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/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/devices.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/devices.json new file mode 100644 index 000000000000..6a3e58596326 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/devices.json @@ -0,0 +1,640 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/devices": { + "get": { + "x-ms-examples": { + "Get Devices": { + "$ref": "./examples/Devices/GetDevicesListForSubscription.json" + } + }, + "tags": [ + "Device Inventory" + ], + "description": "Get list of the devices by their subscription.", + "operationId": "DevicesForSubscription_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + }, + { + "in": "query", + "name": "deviceManagementType", + "required": false, + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "description": "Get devices only from specific type, Managed or Unmanaged.", + "x-ms-enum": { + "name": "ManagementState", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceId}/providers/Microsoft.Security/devices": { + "get": { + "x-ms-examples": { + "Get Devices": { + "$ref": "./examples/Devices/GetDevicesListForHub.json" + } + }, + "tags": [ + "Device Inventory" + ], + "description": "Get list of the devices for the specified IoT Hub resource.", + "operationId": "DevicesForHub_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + }, + { + "in": "query", + "name": "deviceManagementType", + "required": false, + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "description": "Get devices only from specific type, Managed or Unmanaged.", + "x-ms-enum": { + "name": "ManagementState", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceId}/providers/Microsoft.Security/devices/{deviceId}": { + "get": { + "x-ms-examples": { + "Get Device": { + "$ref": "./examples/Devices/GetDevice.json" + } + }, + "tags": [ + "Device Inventory" + ], + "description": "Get device.", + "operationId": "Device_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "$ref": "#/parameters/DeviceId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DeviceList": { + "description": "List of Devices", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of devices", + "items": { + "$ref": "#/definitions/Device" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "When there are too many devices for one page, use this URI to fetch the next page." + } + } + }, + "Device": { + "type": "object", + "description": "Device model", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Device data", + "$ref": "#/definitions/DeviceProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "DeviceProperties": { + "type": "object", + "description": "Device Information", + "properties": { + "displayName": { + "type": "string", + "description": "Device display name given by the collector" + }, + "deviceType": { + "type": "string", + "description": "Device type." + }, + "sourceName": { + "readOnly": true, + "type": "string", + "description": "The source that created the device" + }, + "networkInterfaces": { + "readOnly": true, + "type": "array", + "description": "List of network interfaces.", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "vendor": { + "readOnly": true, + "type": "string", + "description": "Device vendor" + }, + "osName": { + "description": "Device operating system name.", + "type": "string" + }, + "protocols": { + "readOnly": true, + "type": "array", + "description": "List of protocols.", + "items": { + "$ref": "#/definitions/Protocol" + } + }, + "lastActiveTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "last time the device was active in the network" + }, + "lastUpdateTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "last time the device was updated" + }, + "managementState": { + "readOnly": true, + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "description": "Managed state of the device.", + "x-ms-enum": { + "name": "ManagementState", + "modelAsString": true + } + }, + "authorizationState": { + "type": "string", + "enum": [ + "Authorized", + "Unauthorized" + ], + "default": "Unauthorized", + "description": "Authorized state of the device.", + "x-ms-enum": { + "name": "AuthorizationState", + "modelAsString": true + } + }, + "deviceCriticality": { + "type": "string", + "enum": [ + "Important", + "Standard" + ], + "default": "Standard", + "x-ms-enum": { + "name": "DeviceCriticality", + "modelAsString": true + }, + "description": "Device criticality." + }, + "purdueLevel": { + "type": "string", + "enum": [ + "ProcessControl", + "Supervisory", + "Enterprise" + ], + "default": "ProcessControl", + "x-ms-enum": { + "name": "PurdueLevel", + "modelAsString": true + }, + "description": "Purdue level of the device." + }, + "notes": { + "type": "string", + "description": "user notes for the device, up to 300 characters." + }, + "firmwares": { + "readOnly": true, + "type": "array", + "description": "List of device firmwares.", + "items": { + "$ref": "#/definitions/Firmware" + } + }, + "discoveryTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Discovered time of the device." + }, + "programmingState": { + "readOnly": true, + "type": "string", + "enum": [ + "ProgrammingDevice", + "NotProgrammingDevice" + ], + "x-ms-enum": { + "name": "ProgrammingState", + "modelAsString": true + }, + "description": "Indicates whether this device is programming" + }, + "lastProgrammingTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "last time the device was programming or programed." + }, + "scanningFunctionality": { + "readOnly": true, + "type": "string", + "enum": [ + "ScannerDevice", + "NotScannerDevice" + ], + "x-ms-enum": { + "name": "ScanningFunctionality", + "modelAsString": true + }, + "description": "Indicates whether the device is a scanner" + }, + "lastScanTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "last time the device was scanning." + }, + "riskScore": { + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "risk score of the device." + }, + "sensors": { + "readOnly": true, + "type": "array", + "description": "List of sensors that scanned this device.", + "items": { + "$ref": "#/definitions/Sensor" + } + }, + "site": { + "readOnly": true, + "$ref": "#/definitions/Site" + }, + "deviceStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Active", + "Removed" + ], + "x-ms-enum": { + "name": "DeviceStatus", + "modelAsString": true + }, + "description": "Device status." + } + } + }, + "NetworkInterface": { + "type": "object", + "description": "Network interface", + "properties": { + "ipAddress": { + "$ref": "#/definitions/IpAddress" + }, + "macAddress": { + "$ref": "#/definitions/MacAddress" + }, + "vlans": { + "readOnly": true, + "type": "array", + "description": "List of device vlans.", + "items": { + "type": "string" + } + } + } + }, + "IpAddress": { + "type": "object", + "description": "IP Address information", + "properties": { + "v4Address": { + "readOnly": true, + "type": "string", + "description": "IPV4 address" + }, + "detectionTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Detection time of the ip address." + }, + "subnetCidr": { + "readOnly": true, + "type": "string", + "description": "Subnet Classless Inter-Domain Routing" + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "Fully qualified domain name" + }, + "fqdnLastLookupTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "FQDN last lookup time." + } + } + }, + "MacAddress": { + "type": "object", + "description": "MAC Address information", + "properties": { + "address": { + "readOnly": true, + "type": "string", + "description": "MAC address" + }, + "detectionTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Detection time of the mac address." + }, + "significance": { + "readOnly": true, + "type": "string", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "MacSignificance", + "modelAsString": true + }, + "description": "Indicates whether this is the primary secondary MAC address of the device" + }, + "relationToIpStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Guess", + "Certain" + ], + "x-ms-enum": { + "name": "RelationToIpStatus", + "modelAsString": true + }, + "description": "Indicates whether the relation of the mac to the ip address is certain or a guess" + } + } + }, + "Firmware": { + "type": "object", + "description": "Firmware information", + "properties": { + "moduleAddress": { + "readOnly": true, + "type": "string", + "description": "Address of the specific module a firmware is related to" + }, + "rack": { + "readOnly": true, + "type": "string", + "description": "Rack number of the module a firmware is related to." + }, + "slot": { + "readOnly": true, + "type": "string", + "description": "Slot number in the rack of the module a firmware is related to" + }, + "serial": { + "readOnly": true, + "type": "string", + "description": "Serial of the firmware" + }, + "model": { + "readOnly": true, + "type": "string", + "description": "Firmware model" + }, + "version": { + "readOnly": true, + "type": "string", + "description": "Firmware version" + }, + "additionalData": { + "readOnly": true, + "type": "object", + "description": " A bag of fields which extends the firmware information." + } + } + }, + "Protocol": { + "type": "object", + "description": "Protocol data", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Protocol name" + }, + "identifiers": { + "type": "string", + "description": "list of protocol identifiers." + } + } + }, + "Sensor": { + "type": "object", + "description": "Sensor data", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Sensor name" + }, + "zone": { + "readOnly": true, + "type": "string", + "description": "Zone Name." + } + } + }, + "Site": { + "type": "object", + "description": "Site data", + "properties": { + "displayName": { + "readOnly": true, + "type": "string", + "description": "Site display name" + } + } + } + }, + "parameters": { + "DeviceId": { + "name": "deviceId", + "in": "path", + "required": true, + "description": "Identifier of the device.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevice.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevice.json new file mode 100644 index 000000000000..b90115600eb5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevice.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Devices/iotHubs/myHub", + "deviceId": "myDevice" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Devices/iotHubs/myHub/providers/Microsoft.Security/devices/myDevice", + "name": "myDevice", + "type": "Microsoft.Security/devices", + "properties": { + "displayName": "10.168.140.1", + "deviceType": "PLC", + "sourceName": "HORIZON", + "networkInterfaces": [ + { + "ipAddress": { + "v4Address": "10.168.140.1", + "detectionTime": "2020-05-13T06:32:25Z" + }, + "macAddress": { + "address": "34-E1-2D-77-80-D0", + "detectionTime": "2020-05-13T06:32:25Z", + "significance": "Primary", + "relationToIpStatus": "Certain" + }, + "vlans": [ + "name(1)->2", + "3", + "another_name(4)" + ] + } + ], + "vendor": "BROADCOM", + "osName": "Windows 10 64", + "protocols": [ + { + "name": "CIP", + "identifiers": "0, 1" + }, + { + "name": "EtherNet/IP", + "identifiers": "0, 1" + } + ], + "lastActiveTime": "2020-05-13T06:32:25Z", + "lastUpdateTime": "2020-05-13T06:32:25Z", + "managementState": "Unmanaged", + "authorizationState": "Authorized", + "deviceCriticality": "Standard", + "purdueLevel": "ProcessControl", + "firmwares": [ + { + "serial": "0x27269242", + "model": "1768-ENBT", + "version": "29.11" + } + ], + "discoveryTime": "2020-05-13T06:32:25Z", + "programmingState": "NotProgrammingDevice", + "scanningFunctionality": "NotScannerDevice", + "riskScore": 100, + "sensors": [ + { + "name": "mySensorName", + "zone": "myZoneName" + } + ], + "site": { + "displayName": "mySite" + }, + "deviceStatus": "Active" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForHub.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForHub.json new file mode 100644 index 000000000000..777df993569e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForHub.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Devices/iotHubs/myHub" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Devices/iotHubs/myHub/providers/Microsoft.Security/devices/myDevice", + "name": "myDevice", + "type": "Microsoft.Security/devices", + "properties": { + "displayName": "10.168.140.1", + "deviceType": "PLC", + "sourceName": "HORIZON", + "networkInterfaces": [ + { + "ipAddress": { + "v4Address": "10.168.140.1", + "detectionTime": "2020-05-13T06:32:25Z" + }, + "macAddress": { + "address": "34-E1-2D-77-80-D0", + "detectionTime": "2020-05-13T06:32:25Z", + "significance": "Primary", + "relationToIpStatus": "Certain" + }, + "vlans": [ + "name(1)->2", + "3", + "another_name(4)" + ] + } + ], + "vendor": "BROADCOM", + "osName": "Windows 10 64", + "protocols": [ + { + "name": "CIP", + "identifiers": "0, 1" + }, + { + "name": "EtherNet/IP", + "identifiers": "0, 1" + } + ], + "lastActiveTime": "2020-05-13T06:32:25Z", + "lastUpdateTime": "2020-05-13T06:32:25Z", + "managementState": "Unmanaged", + "authorizationState": "Authorized", + "deviceCriticality": "Standard", + "purdueLevel": "ProcessControl", + "firmwares": [ + { + "serial": "0x27269242", + "model": "1768-ENBT", + "version": "29.11" + } + ], + "discoveryTime": "2020-05-13T06:32:25Z", + "programmingState": "NotProgrammingDevice", + "scanningFunctionality": "NotScannerDevice", + "riskScore": 100, + "sensors": [ + { + "name": "mySensorName", + "zone": "myZoneName" + } + ], + "site": { + "displayName": "mySite" + }, + "deviceStatus": "Active" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForSubscription.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForSubscription.json new file mode 100644 index 000000000000..b4aca357ced5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/Devices/GetDevicesListForSubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Devices/iotHubs/myHub/providers/Microsoft.Security/devices/myDevice", + "name": "myDevice", + "type": "Microsoft.Security/devices", + "properties": { + "displayName": "10.168.140.1", + "deviceType": "PLC", + "sourceName": "HORIZON", + "networkInterfaces": [ + { + "ipAddress": { + "v4Address": "10.168.140.1", + "detectionTime": "2020-05-13T06:32:25Z" + }, + "macAddress": { + "address": "34-E1-2D-77-80-D0", + "detectionTime": "2020-05-13T06:32:25Z", + "significance": "Primary", + "relationToIpStatus": "Certain" + }, + "vlans": [ + "name(1)->2", + "3", + "another_name(4)" + ] + } + ], + "vendor": "BROADCOM", + "osName": "Windows 10 64", + "protocols": [ + { + "name": "CIP", + "identifiers": "0, 1" + }, + { + "name": "EtherNet/IP", + "identifiers": "0, 1" + } + ], + "lastActiveTime": "2020-05-13T06:32:25Z", + "lastUpdateTime": "2020-05-13T06:32:25Z", + "managementState": "Unmanaged", + "authorizationState": "Authorized", + "deviceCriticality": "Standard", + "purdueLevel": "ProcessControl", + "firmwares": [ + { + "serial": "0x27269242", + "model": "1768-ENBT", + "version": "29.11" + } + ], + "discoveryTime": "2020-05-13T06:32:25Z", + "programmingState": "NotProgrammingDevice", + "scanningFunctionality": "NotScannerDevice", + "riskScore": 100, + "sensors": [ + { + "name": "mySensorName", + "zone": "myZoneName" + } + ], + "site": { + "displayName": "mySite" + }, + "deviceStatus": "Active" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertType.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertType.json new file mode 100644 index 000000000000..87ce81ea38b0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertType.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "iotAlertTypeName": "IoT_PrivilegedContainer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotAlertTypes/IoT_PrivilegedContainer", + "name": "IoT_PrivilegedContainer", + "type": "Microsoft.Security/iotAlertTypes", + "properties": { + "alertDisplayName": "Privileged container detected", + "severity": "Medium", + "description": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine.", + "providerName": "IoTSecurity", + "remediationSteps": [ + "If the container doesn't need to run in privileged mode, remove the privileges from the container." + ], + "intent": "Exploitation,Execution", + "vendorName": "Microsoft", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertTypeList.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertTypeList.json new file mode 100644 index 000000000000..80e82e38a730 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlertTypes/GetIoTAlertTypeList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotAlertTypes", + "name": "IoT_PrivilegedContainer", + "type": "Microsoft.Security/iotAlertTypes", + "properties": { + "alertDisplayName": "Privileged container detected", + "severity": "Medium", + "description": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine.", + "providerName": "IoTSecurity", + "remediationSteps": [ + "If the container doesn't need to run in privileged mode, remove the privileges from the container." + ], + "intent": "Exploitation,Execution", + "vendorName": "Microsoft", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlert.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlert.json new file mode 100644 index 000000000000..cc79de173fdf --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlert.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/IotHubs/myIotHub", + "iotAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "responses": { + "200": { + "body": { + "properties": { + "systemAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "compromisedEntity": "device-1", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc": "2020-05-13T06:32:25Z", + "endTimeUtc": "2020-05-13T06:32:25Z", + "entities": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ], + "extendedProperties": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlertList.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlertList.json new file mode 100644 index 000000000000..fb551a2c7ef1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotAlerts/GetIoTAlertList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/IotHubs/myIotHub", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc>": "2020-05-12T06:32:25Z", + "startTimeUtc<": "2020-05-14T06:32:25Z", + "compromisedEntity": "device-1", + "$limit": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "systemAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "compromisedEntity": "device-1", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc": "2020-05-13T06:32:25Z", + "endTimeUtc": "2020-05-13T06:32:25Z", + "entities": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ], + "extendedProperties": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/iotHubs/myIotHub/providers/Microsoft.Security/iotAlerts?api-version=2020-08-06-preview&alertType=IoT_PrivilegedContainer&startTimeUtc>=2020-05-12T06:32:25Z&startTimeUtc<=2020-05-14T06:32:25Z&compromisedEntity=device-1&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json new file mode 100644 index 000000000000..1e27394b4322 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json new file mode 100644 index 000000000000..1a4dd8e4a4b5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": { + "deviceQuota": 2000, + "sentinelWorkspaceResourceIds": [ + "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1" + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json new file mode 100644 index 000000000000..7594b4d7cc01 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": { + "deviceQuota": 2000, + "sentinelWorkspaceResourceIds": [ + "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1" + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json new file mode 100644 index 000000000000..a074c8f4ed72 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "sensor": { + "full": { + "iso": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "ovf": { + "enterprise": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "medium": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "line": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + } + }, + "upgrade": [ + { + "version": "2.8.2", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.10", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + }, + "centralManager": { + "full": { + "iso": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "ovf": { + "enterprise": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "enterpriseHighAvailability": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "medium": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "mediumHighAvailability": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ] + } + }, + "upgrade": [ + { + "version": "2.8.2", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.10", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + }, + "threatIntelligence": { + "link": "http://microsoft.com/downloadLocation" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json new file mode 100644 index 000000000000..6eb347f06596 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "iotDefenderSettingsModel": { + "properties": { + "deviceQuota": 2000, + "sentinelWorkspaceResourceIds": [ + "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": { + "deviceQuota": 2000, + "sentinelWorkspaceResourceIds": [ + "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1" + ] + } + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": { + "deviceQuota": 2000, + "sentinelWorkspaceResourceIds": [ + "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1" + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationType.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationType.json new file mode 100644 index 000000000000..ecc8b4b4b15e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationType.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "iotRecommendationTypeName": "IoT_VulnerableTLSCipherSuite" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotRecommendationTypes/IoT_VulnerableTLSCipherSuite", + "name": "IoT_VulnerableTLSCipherSuite", + "type": "Microsoft.Security/iotRecommendationTypes", + "properties": { + "recommendationDisplayName": "TLS cipher suite upgrade needed", + "severity": "Medium", + "description": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended.", + "remediationSteps": [ + "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + ], + "vendorName": "Microsoft", + "control": "Communication between device and IoT Hub is not optimized", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json new file mode 100644 index 000000000000..ba7a86b41b0b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotRecommendationTypes/IoT_VulnerableTLSCipherSuite", + "name": "IoT_VulnerableTLSCipherSuite", + "type": "Microsoft.Security/iotRecommendationTypes", + "properties": { + "recommendationDisplayName": "TLS cipher suite upgrade needed", + "severity": "Medium", + "description": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended.", + "remediationSteps": [ + "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + ], + "vendorName": "Microsoft", + "control": "Communication between device and IoT Hub is not optimized", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendation.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendation.json new file mode 100644 index 000000000000..4c12cfdae65b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendation.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/IotHubs/myIotHub", + "iotRecommendationId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "responses": { + "200": { + "body": { + "name": "IoT_Baseline|device-1", + "properties": { + "recommendationType": "IoT_Baseline", + "deviceId": "device-1", + "discoveredTimeUtc": "2020-05-13T06:32:25Z", + "recommendationAdditionalData": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendationList.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendationList.json new file mode 100644 index 000000000000..b6f909d395bc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotRecommendations/GetIoTRecommendationList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/IotHubs/myIotHub", + "recommendationType": "IoT_Baseline", + "deviceId": "device-1", + "$limit": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "IoT_Baseline|device-1", + "properties": { + "recommendationType": "IoT_Baseline", + "deviceId": "device-1", + "discoveredTimeUtc": "2020-05-13T06:32:25Z", + "recommendationAdditionalData": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Devices/iotHubs/myIotHub/providers/Microsoft.Security/iotRecommendations?api-version=2020-08-06-preview&recommendationType=IoT_Baseline&deviceId=device-1&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json new file mode 100644 index 000000000000..c24e42c7df41 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json new file mode 100644 index 000000000000..7274a7caecc6 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": { + "headers": { + "content-type": "application/zip" + }, + "body": "{Binary}" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json new file mode 100644 index 000000000000..3c79cade9456 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json new file mode 100644 index 000000000000..576d3874d317 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-08-06-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.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + }, + { + "name": "otherSensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/otherSensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json new file mode 100644 index 000000000000..9bcb0dc2df12 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + }, + "201": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Delete.json new file mode 100644 index 000000000000..21b5427051fc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "onPremiseIotSensorName": "mySensor" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/DownloadActivation.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/DownloadActivation.json new file mode 100644 index 000000000000..b2236a188f58 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/DownloadActivation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "onPremiseIotSensorName": "mySensor" + }, + "responses": { + "200": { + "headers": { + "content-type": "application/zip" + }, + "body": "{Binary}" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Get.json new file mode 100644 index 000000000000..e504ee9a9086 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "onPremiseIotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/onPremiseIotSensors/mySensor", + "type": "Microsoft.Security/onPremiseIotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/List.json new file mode 100644 index 000000000000..f2536dd92897 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/onPremiseIotSensors", + "properties": {} + }, + { + "name": "otherSensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotSensors/otherSensor", + "type": "Microsoft.Security/onPremiseIotSensors", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Put.json new file mode 100644 index 000000000000..80f3d877d6d4 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/OnPremiseIotSensors/Put.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "onPremiseIotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/onPremiseIotSensors", + "properties": {} + } + }, + "201": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/onPremiseIotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlertTypes.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlertTypes.json new file mode 100644 index 000000000000..a1dd8e2d4361 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlertTypes.json @@ -0,0 +1,307 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotAlertTypes": { + "get": { + "x-ms-examples": { + "Get IoT Alert Types": { + "$ref": "./examples/IotAlertTypes/GetIoTAlertTypeList.json" + } + }, + "tags": [ + "IoT Security Alert Types" + ], + "description": "List IoT alert types", + "operationId": "IotAlertTypes_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotAlertTypeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotAlertTypes/{iotAlertTypeName}": { + "get": { + "x-ms-examples": { + "Get IoT Alert Type": { + "$ref": "./examples/IotAlertTypes/GetIoTAlertType.json" + } + }, + "tags": [ + "IoT Security Alert Types" + ], + "operationId": "IotAlertTypes_Get", + "description": "Get IoT alert type", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "in": "path", + "name": "iotAlertTypeName", + "required": true, + "type": "string", + "description": "Name of the alert type" + } + ], + "responses": { + "200": { + "description": "IoT alert type", + "schema": { + "$ref": "#/definitions/IotAlertType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotAlertTypeList": { + "type": "object", + "description": "List of alert types", + "properties": { + "value": { + "type": "array", + "description": "List data", + "items": { + "$ref": "#/definitions/IotAlertType" + } + } + } + }, + "IotAlertType": { + "type": "object", + "description": "IoT alert type.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Alert type properties", + "$ref": "#/definitions/IotAlertTypeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotAlertTypeProperties": { + "type": "object", + "description": "IoT alert type information.", + "properties": { + "alertDisplayName": { + "readOnly": true, + "type": "string", + "example": "Privileged container detected", + "description": "The display name of the alert" + }, + "severity": { + "readOnly": true, + "type": "string", + "example": "Medium", + "description": "The severity of the alert", + "enum": [ + "Informational", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "alertSeverity", + "modelAsString": true, + "values": [ + { + "value": "Informational" + }, + { + "value": "Low" + }, + { + "value": "Medium" + }, + { + "value": "High" + } + ] + } + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspected vulnerability and meaning.", + "example": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine." + }, + "providerName": { + "readOnly": true, + "type": "string", + "example": "IoTSecurity", + "description": "The name of the alert provider or internal partner" + }, + "productName": { + "readOnly": true, + "type": "string", + "example": "Azure Security Center for IoT", + "description": "The name of the product which published this alert" + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "example": "IoT Hub", + "description": "The name of a component inside the product which generated the alert" + }, + "vendorName": { + "readOnly": true, + "type": "string", + "example": "Microsoft", + "description": "The name of the vendor that raise the alert" + }, + "intent": { + "readOnly": true, + "type": "string", + "example": "Exploitation,Execution", + "description": "Kill chain related intent behind the alert. Could contain multiple enum values (separated by commas)", + "enum": [ + "Unknown", + "PreAttack", + "InitialAccess", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "Probing", + "Exploitation" + ], + "x-ms-enum": { + "name": "alertIntent", + "modelAsString": true, + "values": [ + { + "value": "Unknown" + }, + { + "value": "PreAttack" + }, + { + "value": "InitialAccess" + }, + { + "value": "Persistence" + }, + { + "value": "PrivilegeEscalation" + }, + { + "value": "DefenseEvasion" + }, + { + "value": "CredentialAccess" + }, + { + "value": "Discovery" + }, + { + "value": "LateralMovement" + }, + { + "value": "Execution" + }, + { + "value": "Collection" + }, + { + "value": "Exfiltration" + }, + { + "value": "CommandAndControl" + }, + { + "value": "Impact" + }, + { + "value": "Probing" + }, + { + "value": "Exploitation" + } + ] + } + }, + "remediationSteps": { + "readOnly": true, + "description": "Manual action items to take to remediate the alert", + "type": "array", + "items": { + "type": "string", + "example": "If the container doesn't need to run in privileged mode, remove the privileges from the container." + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlerts.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlerts.json new file mode 100644 index 000000000000..3c6af28c9e93 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotAlerts.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/{scope}/providers/Microsoft.Security/iotAlerts": { + "get": { + "x-ms-examples": { + "List IoT Alerts": { + "$ref": "./examples/IotAlerts/GetIoTAlertList.json" + } + }, + "tags": [ + "IoT Security Alerts" + ], + "description": "List IoT alerts", + "operationId": "IotAlerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotAlertScope" + }, + { + "in": "query", + "name": "startTimeUtc>", + "x-ms-client-name": "minStartTimeUtc", + "required": false, + "type": "string", + "description": "Filter by minimum startTimeUtc (ISO 8601 format)" + }, + { + "in": "query", + "name": "startTimeUtc<", + "x-ms-client-name": "maxStartTimeUtc", + "required": false, + "type": "string", + "description": "Filter by maximum startTimeUtc (ISO 8601 format)" + }, + { + "in": "query", + "name": "alertType", + "required": false, + "type": "string", + "description": "Filter by alert type" + }, + { + "in": "query", + "name": "deviceManagementType", + "required": false, + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "description": "Get devices only from specific type, Managed or Unmanaged.", + "x-ms-enum": { + "name": "ManagementState", + "modelAsString": true + } + }, + { + "in": "query", + "name": "compromisedEntity", + "required": false, + "type": "string", + "description": "Filter by compromised device" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotAlertListModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Security/iotAlerts/{iotAlertId}": { + "get": { + "x-ms-examples": { + "Get IoT Alert": { + "$ref": "./examples/IotAlerts/GetIoTAlert.json" + } + }, + "tags": [ + "IoT Security Alerts" + ], + "operationId": "IotAlerts_Get", + "description": "Get IoT alert", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotAlertScope" + }, + { + "in": "path", + "name": "iotAlertId", + "required": true, + "type": "string", + "description": "Id of the alert" + } + ], + "responses": { + "200": { + "description": "IoT alert", + "schema": { + "$ref": "#/definitions/IotAlertModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotAlertListModel": { + "description": "List of IoT alerts", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotAlertModel" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "When available, follow the URI to get the next page of data" + } + } + }, + "IotAlertModel": { + "type": "object", + "description": "IoT alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Alert properties", + "$ref": "#/definitions/IotAlertPropertiesModel" + } + } + }, + "IotAlertPropertiesModel": { + "type": "object", + "description": "IoT alert properties", + "properties": { + "systemAlertId": { + "description": "Holds the product canonical identifier of the alert within the scope of a product", + "readOnly": true, + "type": "string", + "example": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on", + "readOnly": true, + "type": "string", + "example": "device-1" + }, + "alertType": { + "description": "The type name of the alert", + "readOnly": true, + "type": "string", + "example": "IoT_PrivilegedContainer" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event or activity included in the alert)", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event or activity included in the alert)", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "entities": { + "description": "A list of entities related to the alert", + "type": "array", + "items": { + "type": "object" + }, + "example": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ] + }, + "extendedProperties": { + "type": "object", + "description": "A bag of fields which extends the alert information", + "example": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + } + }, + "parameters": { + "IotAlertScope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query: Subscription (i.e. /subscriptions/{subscriptionId}) or IoT Hub (i.e. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Devices/iotHubs/{iotHubName})", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json new file mode 100644 index 000000000000..8929c118bb08 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json @@ -0,0 +1,481 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings": { + "get": { + "x-ms-examples": { + "List IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/List.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "description": "List IoT Defender Settings", + "operationId": "IotDefenderSettings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default": { + "get": { + "x-ms-examples": { + "Get IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Get.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_Get", + "description": "Get IoT Defender Settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "IoT Defender Settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Put.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_CreateOrUpdate", + "description": "Create or update IoT Defender settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/IotDefenderSettingsModel" + } + ], + "responses": { + "200": { + "description": "Updated IoT Defender settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "201": { + "description": "Created IoT Defender settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Delete.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_Delete", + "description": "Delete IoT Defender settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "IoT Defender settings deleted" + }, + "204": { + "description": "IoT Defender settings does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default/packageDownloads": { + "post": { + "x-ms-examples": { + "Package downloads": { + "$ref": "./examples/IotDefenderSettings/PackageDownloads.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_PackageDownloads", + "description": "Information about downloadable packages", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "Package downloads", + "schema": { + "$ref": "#/definitions/PackageDownloads" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotDefenderSettingsList": { + "description": "List of IoT Defender settings", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + } + } + }, + "IotDefenderSettingsModel": { + "type": "object", + "description": "IoT Defender settings", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "IoT Defender settings properties", + "$ref": "#/definitions/IotDefenderSettingsProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotDefenderSettingsProperties": { + "type": "object", + "description": "IoT Defender settings properties", + "properties": { + "deviceQuota": { + "type": "integer", + "format": "int32", + "minimum": 1000, + "description": "Size of the device quota (as a opposed to a Pay as You Go billing model). Value is required to be in multiples of 1000." + }, + "sentinelWorkspaceResourceIds": { + "type": "array", + "description": "Sentinel Workspace Resource Ids", + "items": { + "type": "string" + } + } + }, + "required": [ + "deviceQuota", + "sentinelWorkspaceResourceIds" + ] + }, + "DownloadLink": { + "type": "string", + "description": "Download link", + "readOnly": true + }, + "PackageDownloadInfo": { + "type": "object", + "description": "Information on a specific package download", + "properties": { + "version": { + "type": "string", + "description": "Version number", + "readOnly": true + }, + "link": { + "description": "Download link", + "$ref": "#/definitions/DownloadLink" + }, + "versionKind": { + "type": "string", + "description": "Kind of the version", + "readOnly": true, + "enum": [ + "Latest", + "Previous", + "Preview" + ], + "x-ms-enum": { + "name": "versionKind", + "modelAsString": true, + "values": [ + { + "value": "Latest" + }, + { + "value": "Previous" + }, + { + "value": "Preview" + } + ] + } + } + } + }, + "PackageDownloads": { + "type": "object", + "description": "Information about package downloads", + "readOnly": true, + "properties": { + "sensor": { + "type": "object", + "description": "Contains all Sensor binary downloads", + "readOnly": true, + "properties": { + "full": { + "type": "object", + "description": "Contains full package downloads", + "readOnly": true, + "properties": { + "iso": { + "type": "array", + "description": "Contains all ISO full versions for the sensor", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "ovf": { + "type": "object", + "description": "Contains all OVF (virtual machine) full versions for the sensor", + "properties": { + "enterprise": { + "type": "array", + "description": "Enterprise package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "medium": { + "type": "array", + "description": "Medium package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "line": { + "type": "array", + "description": "Line package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + } + } + }, + "upgrade": { + "type": "array", + "description": "Sensor upgrade package downloads (on existing installations)", + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + }, + "centralManager": { + "type": "object", + "description": "All downloads for Central Manager", + "readOnly": true, + "properties": { + "full": { + "type": "object", + "description": "Contains full package downloads", + "readOnly": true, + "properties": { + "iso": { + "type": "array", + "description": "Contains all ISO full versions of the Central Manager", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "ovf": { + "type": "object", + "description": "Contains all OVF (virtual machine) full versions of the Central Manager", + "readOnly": true, + "properties": { + "enterprise": { + "type": "array", + "description": "The Enterprise package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "enterpriseHighAvailability": { + "type": "array", + "description": "The EnterpriseHighAvailability package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "medium": { + "type": "array", + "description": "The Medium package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "mediumHighAvailability": { + "type": "array", + "description": "The MediumHighAvailability package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + } + } + }, + "upgrade": { + "type": "array", + "description": "Central Manager upgrade package downloads (on existing installations)", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + }, + "threatIntelligence": { + "type": "object", + "description": "All downloads for threat intelligence", + "readOnly": true, + "properties": { + "link": { + "description": "Download link", + "$ref": "#/definitions/DownloadLink" + } + } + } + } + } + }, + "parameters": { + "IotDefenderSettingsModel": { + "name": "iotDefenderSettingsModel", + "in": "body", + "required": true, + "description": "The IoT defender settings model", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendationTypes.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendationTypes.json new file mode 100644 index 000000000000..9299fa3006e2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendationTypes.json @@ -0,0 +1,247 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotRecommendationTypes": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation Types": { + "$ref": "./examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json" + } + }, + "tags": [ + "IoT Security Recommendation Types" + ], + "description": "List IoT recommendation types", + "operationId": "IotRecommendationTypes_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotRecommendationTypeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotRecommendationTypes/{iotRecommendationTypeName}": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation Type": { + "$ref": "./examples/IotRecommendationTypes/GetIoTRecommendationType.json" + } + }, + "tags": [ + "IoT Security Recommendation Types" + ], + "operationId": "IotRecommendationTypes_Get", + "description": "Get IoT recommendation type", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "in": "path", + "name": "iotRecommendationTypeName", + "required": true, + "type": "string", + "description": "Name of the recommendation type" + } + ], + "responses": { + "200": { + "description": "IoT recommendation type", + "schema": { + "$ref": "#/definitions/IotRecommendationType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotRecommendationTypeList": { + "type": "object", + "description": "List of recommendation types", + "properties": { + "value": { + "type": "array", + "description": "List data", + "items": { + "$ref": "#/definitions/IotRecommendationType" + } + } + } + }, + "IotRecommendationType": { + "type": "object", + "description": "IoT recommendation type.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Recommendation type properties", + "$ref": "#/definitions/IotRecommendationTypeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotRecommendationTypeProperties": { + "type": "object", + "description": "IoT recommendation type information.", + "properties": { + "recommendationDisplayName": { + "readOnly": true, + "type": "string", + "example": "TLS cipher suite upgrade needed", + "description": "The display name of the recommendation" + }, + "severity": { + "readOnly": true, + "type": "string", + "example": "Medium", + "description": "The severity of the recommendation", + "enum": [ + "Unknown", + "NotApplicable", + "Healthy", + "OffByPolicy", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "recommendationSeverity", + "modelAsString": true, + "values": [ + { + "value": "Unknown" + }, + { + "value": "NotApplicable" + }, + { + "value": "Healthy" + }, + { + "value": "OffByPolicy" + }, + { + "value": "Low" + }, + { + "value": "Medium" + }, + { + "value": "High" + } + ] + } + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspected vulnerability and meaning.", + "example": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended." + }, + "productName": { + "readOnly": true, + "type": "string", + "example": "Azure Security Center for IoT", + "description": "The name of the product which published this recommendation" + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "example": "IoT Hub", + "description": "The name of a component inside the product which generated the recommendation" + }, + "vendorName": { + "readOnly": true, + "type": "string", + "example": "Microsoft", + "description": "The name of the vendor that raised the recommendation" + }, + "control": { + "readOnly": true, + "type": "string", + "example": "Communication between device and IoT Hub is not optimized", + "description": "The name of the recommendation's control category " + }, + "remediationSteps": { + "readOnly": true, + "description": "Manual action items to take to resolve the recommendation", + "type": "array", + "items": { + "type": "string", + "example": "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + } + }, + "dataSource": { + "readOnly": true, + "description": "The alert's data source", + "type": "string", + "example": "IoT Hub" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendations.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendations.json new file mode 100644 index 000000000000..325bc059bf72 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotRecommendations.json @@ -0,0 +1,233 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/{scope}/providers/Microsoft.Security/iotRecommendations": { + "get": { + "x-ms-examples": { + "Get IoT Recommendations": { + "$ref": "./examples/IotRecommendations/GetIoTRecommendationList.json" + } + }, + "tags": [ + "IoT Security Recommendations" + ], + "description": "List IoT recommendations", + "operationId": "IotRecommendations_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotRecommendationScope" + }, + { + "in": "query", + "name": "recommendationType", + "required": false, + "type": "string", + "description": "Filter by recommendation type" + }, + { + "in": "query", + "name": "deviceId", + "required": false, + "type": "string", + "description": "Filter by device id" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotRecommendationListModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Security/iotRecommendations/{iotRecommendationId}": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation": { + "$ref": "./examples/IotRecommendations/GetIoTRecommendation.json" + } + }, + "tags": [ + "IoT Security Recommendations" + ], + "operationId": "IotRecommendations_Get", + "description": "Get IoT recommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotRecommendationScope" + }, + { + "in": "path", + "name": "iotRecommendationId", + "required": true, + "type": "string", + "description": "Id of the recommendation" + } + ], + "responses": { + "200": { + "description": "IoT recommendation", + "schema": { + "$ref": "#/definitions/IotRecommendationModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotRecommendationListModel": { + "description": "List of IoT recommendations", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotRecommendationModel" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "When available, follow the URI to get the next page of data" + } + } + }, + "IotRecommendationModel": { + "type": "object", + "description": "IoT recommendation", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Recommendation properties", + "$ref": "#/definitions/IotRecommendationPropertiesModel" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotRecommendationPropertiesModel": { + "type": "object", + "description": "IoT recommendation properties", + "properties": { + "deviceId": { + "description": "Identifier of the device being reported on", + "readOnly": true, + "type": "string", + "example": "device-1" + }, + "recommendationType": { + "description": "The type name of the recommendation", + "readOnly": true, + "type": "string", + "example": "IoT_PrivilegedContainer" + }, + "discoveredTimeUtc": { + "description": "The discovery time of the recommendation", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "recommendationAdditionalData": { + "type": "object", + "description": "A bag of fields which extends the recommendation information", + "example": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + } + }, + "parameters": { + "IotRecommendationScope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query: Subscription (i.e. /subscriptions/{subscriptionId}) or IoT Hub (i.e. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Devices/iotHubs/{iotHubName})", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json new file mode 100644 index 000000000000..1f2aa771251f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json @@ -0,0 +1,292 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/{scope}/providers/Microsoft.Security/iotSensors": { + "get": { + "x-ms-examples": { + "List IoT sensors": { + "$ref": "./examples/IotSensors/List.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "description": "List IoT sensors", + "operationId": "IotSensors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotSensorsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}": { + "get": { + "x-ms-examples": { + "Get IoT sensor": { + "$ref": "./examples/IotSensors/Get.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_Get", + "description": "Get IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update IoT sensor": { + "$ref": "./examples/IotSensors/Put.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_CreateOrUpdate", + "description": "Create or update IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "Updated IoT sensor", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "201": { + "description": "Created IoT sensor", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete IoT sensor": { + "$ref": "./examples/IotSensors/Delete.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_Delete", + "description": "Delete IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "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/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}/downloadActivation": { + "post": { + "x-ms-examples": { + "Download activation file": { + "$ref": "./examples/IotSensors/DownloadActivation.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_DownloadActivation", + "description": "Download sensor activation file", + "produces": [ + "application/zip" + ], + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "Downloaded activation file", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotSensorsList": { + "description": "List of IoT sensors", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotSensor" + } + } + } + }, + "IotSensor": { + "type": "object", + "description": "IoT sensor", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "IoT sensor properties", + "$ref": "#/definitions/IotSensorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotSensorProperties": { + "type": "object", + "description": "IoT sensor properties", + "properties": {} + } + }, + "parameters": { + "IotSensorScope": { + "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 + }, + "IotSensorName": { + "name": "iotSensorName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the IoT sensor", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/onPremiseIotSensors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/onPremiseIotSensors.json new file mode 100644 index 000000000000..87fa110c99d4 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/onPremiseIotSensors.json @@ -0,0 +1,283 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/onPremiseIotSensors": { + "get": { + "x-ms-examples": { + "List on-premise IoT sensors": { + "$ref": "./examples/OnPremiseIotSensors/List.json" + } + }, + "tags": [ + "On-Premise IoT Sensors" + ], + "description": "List on-premise IoT sensors", + "operationId": "OnPremiseIotSensors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OnPremiseIotSensorsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/onPremiseIotSensors/{onPremiseIotSensorName}": { + "get": { + "x-ms-examples": { + "Get on-premise IoT sensor": { + "$ref": "./examples/OnPremiseIotSensors/Get.json" + } + }, + "tags": [ + "On-Premise IoT Sensors" + ], + "operationId": "OnPremiseIotSensors_Get", + "description": "Get on-premise IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/OnPremiseIotSensorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OnPremiseIotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update on-premise IoT sensor": { + "$ref": "./examples/OnPremiseIotSensors/Put.json" + } + }, + "tags": [ + "On-Premise IoT Sensors" + ], + "operationId": "OnPremiseIotSensors_CreateOrUpdate", + "description": "Create or update on-premise IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/OnPremiseIotSensorName" + } + ], + "responses": { + "200": { + "description": "Updated on-premise IoT sensor", + "schema": { + "$ref": "#/definitions/OnPremiseIotSensor" + } + }, + "201": { + "description": "Created on-premise IoT sensor", + "schema": { + "$ref": "#/definitions/OnPremiseIotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete on-premise IoT sensor": { + "$ref": "./examples/OnPremiseIotSensors/Delete.json" + } + }, + "tags": [ + "On-Premise IoT Sensors" + ], + "operationId": "OnPremiseIotSensors_Delete", + "description": "Delete on-premise IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/OnPremiseIotSensorName" + } + ], + "responses": { + "200": { + "description": "Deleted on-premise IoT sensor" + }, + "204": { + "description": "On-premise IoT sensor does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/onPremiseIotSensors/{onPremiseIotSensorName}/downloadActivation": { + "post": { + "x-ms-examples": { + "Download activation file": { + "$ref": "./examples/OnPremiseIotSensors/DownloadActivation.json" + } + }, + "tags": [ + "On-Premise IoT Sensors" + ], + "operationId": "OnPremiseIotSensors_DownloadActivation", + "description": "Download sensor activation file", + "produces": [ + "application/zip" + ], + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/OnPremiseIotSensorName" + } + ], + "responses": { + "200": { + "description": "Downloaded activation file", + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "OnPremiseIotSensorsList": { + "description": "List of on-premise IoT sensors", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/OnPremiseIotSensor" + } + } + } + }, + "OnPremiseIotSensor": { + "type": "object", + "description": "On-premise IoT sensor", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "On-premise IoT sensor properties", + "$ref": "#/definitions/OnPremiseIotSensorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "OnPremiseIotSensorProperties": { + "type": "object", + "description": "On-premise IoT sensor properties", + "properties": {} + } + }, + "parameters": { + "OnPremiseIotSensorName": { + "name": "onPremiseIotSensorName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the on-premise IoT sensor", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json index fee633534ef2..357a11a33ef3 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/DeviceSecurityGroups/PutDeviceSecurityGroups_example.json @@ -1,22 +1,35 @@ { "parameters": { - "api-version": "2019-08-01", - "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub", - "deviceSecurityGroupName": "samplesecuritygroup", - "deviceSecurityGroup": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup", - "name": "samplesecuritygroup", - "type": "Microsoft.Security/deviceSecurityGroups", + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "MyGroup", + "solutionName": "default", + "iotSecuritySolutionData": { + "tags": {}, + "location": "East Us", "properties": { - "timeWindowRules": [ + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ], + "userDefinedResources": { + "query": "where type != \"microsoft.devices/iothubs\" | where name contains \"iot\"", + "querySubscriptions": [ + "075423e9-7d33-4166-8bdf-3920b04e3735" + ] + }, + "recommendationsConfiguration": [ { - "ruleType": "ActiveConnectionsNotInAllowedRange", - "displayName": "Number of active connections is not in allowed range", - "description": "Get an alert when the number of active connections of a device in the time window is not in the allowed range", - "isEnabled": true, - "minThreshold": 0, - "maxThreshold": 30, - "timeWindowSize": "PT05M" + "recommendationType": "IoT_OpenPorts", + "status": "Disabled" + }, + { + "recommendationType": "IoT_SharedCredentials", + "status": "Disabled" } ] } @@ -25,361 +38,223 @@ "responses": { "200": { "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup", - "name": "samplesecuritygroup", - "type": "Microsoft.Security/deviceSecurityGroups", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "tags": {}, "properties": { - "thresholdRules": [], - "timeWindowRules": [ - { - "ruleType": "ActiveConnectionsNotInAllowedRange", - "displayName": "Number of active connections is not in allowed range", - "description": "Get an alert when the number of active connections of a device in the time window is not in the allowed range", - "isEnabled": true, - "minThreshold": 0, - "maxThreshold": 30, - "timeWindowSize": "PT05M" - }, - { - "ruleType": "AmqpC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (AMQP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" - }, + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ], + "userDefinedResources": { + "query": "where type != \"microsoft.devices/iothubs\" | where name contains \"iot\"", + "querySubscriptions": [ + "075423e9-7d33-4166-8bdf-3920b04e3735" + ] + }, + "autoDiscoveredResources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735", + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ], + "recommendationsConfiguration": [ { - "ruleType": "MqttC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (MQTT protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_ACRAuthentication", + "name": "Service Principal Not Used with ACR", + "status": "Enabled" }, { - "ruleType": "HttpC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (HTTP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_AgentSendsUnutilizedMessages", + "name": "Agent sending underutilized messages", + "status": "TurnedOn" }, { - "ruleType": "AmqpC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (AMQP protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_Baseline", + "name": "Operating system (OS) baseline validation failure", + "status": "Enabled" }, { - "ruleType": "MqttC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (MQTT protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_EdgeHubMemOptimize", + "name": "Edge Hub memory can be optimized", + "status": "Enabled" }, { - "ruleType": "HttpC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (HTTP protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_EdgeLoggingOptions", + "name": "No Logging Configured for Edge Module", + "status": "Enabled" }, { - "ruleType": "AmqpD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (AMQP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_InconsistentModuleSettings", + "name": "Module Settings Inconsistent in SecurityGroup", + "status": "Enabled" }, { - "ruleType": "MqttD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (MQTT protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_InstallAgent", + "name": "Install the Azure Security of Things Agent", + "status": "Enabled" }, { - "ruleType": "HttpD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (HTTP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_IPFilter_DenyAll", + "name": "Default IP Filter Policy should be Deny", + "status": "Enabled" }, { - "ruleType": "DirectMethodInvokesNotInAllowedRange", - "displayName": "Number of direct method invokes is not in allowed range", - "description": "Get an alert when the number of direct method invokes in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_IPFilter_PermissiveRule", + "name": "IP Filter rule includes large IP range", + "status": "Enabled" }, { - "ruleType": "FailedLocalLoginsNotInAllowedRange", - "displayName": "Number of failed local logins is not in allowed range", - "description": "Get an alert when the number of failed local logins on the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_OpenPorts", + "name": "Open Ports On Device", + "status": "Disabled" }, { - "ruleType": "FileUploadsNotInAllowedRange", - "displayName": "Number of file uploads is not in allowed range", - "description": "Get an alert when the number of file uploads from the device to the cloud in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveFirewallPolicy", + "name": "Permissive firewall policy in one of the chains was found", + "status": "Enabled" }, { - "ruleType": "QueuePurgesNotInAllowedRange", - "displayName": "Number of device queue purges is not in allowed range", - "description": "Get an alert when the number of device queue purges in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveInputFirewallRules", + "name": "Permissive firewall rule in the input chain was found", + "status": "Enabled" }, { - "ruleType": "TwinUpdatesNotInAllowedRange", - "displayName": "Number of twin updates is not in allowed range", - "description": "Get an alert when the number of twin updates (by the device or the service) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveOutputFirewallRules", + "name": "Permissive firewall rule in the output chain was found", + "status": "Enabled" }, { - "ruleType": "UnauthorizedOperationsNotInAllowedRange", - "displayName": "Number of unauthorized operations is not in allowed range", - "description": "Get an alert when the number unauthorized operations in the time window is not in the allowed range. Unauthorized operations are operations that affect the device (or done by it) that fail because of an unauthorized error", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" - } - ], - "allowlistRules": [ - { - "ruleType": "ConnectionToIpNotAllowed", - "displayName": "Outbound connection to an ip that isn't allowed", - "description": "Get an alert when an outbound connection is created between your device and an ip that isn't allowed", - "isEnabled": false, - "allowlistValues": [] + "recommendationType": "IoT_PrivilegedDockerOptions", + "name": "High level permissions configured in Edge model twin for Edge module", + "status": "Enabled" }, { - "ruleType": "LocalUserNotAllowed", - "displayName": "Login by a local user that isn't allowed", - "description": "Get an alert when a local user that isn't allowed logins to the device", - "isEnabled": false, - "allowlistValues": [] + "recommendationType": "IoT_SharedCredentials", + "name": "Same Authentication Credentials used by multiple devices", + "status": "Disabled" }, { - "ruleType": "ProcessNotAllowed", - "displayName": "Execution of a process that isn't allowed", - "description": "Get an alert when a process that isn't allowed is executed", - "isEnabled": false, - "allowlistValues": [] + "recommendationType": "IoT_VulnerableTLSCipherSuite", + "name": "TLS cipher suite upgrade", + "status": "Enabled" } - ], - "denylistRules": [] + ] } } }, "201": { "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Devices/iotHubs/sampleiothub/providers/Microsoft.Security/deviceSecurityGroups/samplesecuritygroup", - "name": "samplesecuritygroup", - "type": "Microsoft.Security/deviceSecurityGroups", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "tags": {}, "properties": { - "thresholdRules": [], - "timeWindowRules": [ - { - "ruleType": "ActiveConnectionsNotInAllowedRange", - "displayName": "Number of active connections is not in allowed range", - "description": "Get an alert when the number of active connections of a device in the time window is not in the allowed range", - "isEnabled": true, - "minThreshold": 0, - "maxThreshold": 30, - "timeWindowSize": "PT05M" - }, + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ], + "userDefinedResources": { + "query": "where type != \"microsoft.devices/iothubs\" | where name contains \"iot\"", + "querySubscriptions": [ + "075423e9-7d33-4166-8bdf-3920b04e3735" + ] + }, + "autoDiscoveredResources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735", + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ], + "recommendationsConfiguration": [ { - "ruleType": "AmqpC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (AMQP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_ACRAuthentication", + "name": "Service Principal Not Used with ACR", + "status": "Enabled" }, { - "ruleType": "MqttC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (MQTT protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_AgentSendsUnutilizedMessages", + "name": "Agent sending underutilized messages", + "status": "TurnedOn" }, { - "ruleType": "HttpC2DMessagesNotInAllowedRange", - "displayName": "Number of cloud to device messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (HTTP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_Baseline", + "name": "Operating system (OS) baseline validation failure", + "status": "Enabled" }, { - "ruleType": "AmqpC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (AMQP protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_EdgeHubMemOptimize", + "name": "Edge Hub memory can be optimized", + "status": "Enabled" }, { - "ruleType": "MqttC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (MQTT protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_EdgeLoggingOptions", + "name": "No Logging Configured for Edge Module", + "status": "Enabled" }, { - "ruleType": "HttpC2DRejectedMessagesNotInAllowedRange", - "displayName": "Number of rejected cloud to device messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of cloud to device messages (HTTP protocol) that were rejected by the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_InconsistentModuleSettings", + "name": "Module Settings Inconsistent in SecurityGroup", + "status": "Enabled" }, { - "ruleType": "AmqpD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (AMQP protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (AMQP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_InstallAgent", + "name": "Install the Azure Security of Things Agent", + "status": "Enabled" }, { - "ruleType": "MqttD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (MQTT protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (MQTT protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_IPFilter_DenyAll", + "name": "Default IP Filter Policy should be Deny", + "status": "Enabled" }, { - "ruleType": "HttpD2CMessagesNotInAllowedRange", - "displayName": "Number of device to cloud messages (HTTP protocol) is not in allowed range", - "description": "Get an alert when the number of device to cloud messages (HTTP protocol) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_IPFilter_PermissiveRule", + "name": "IP Filter rule includes large IP range", + "status": "Enabled" }, { - "ruleType": "DirectMethodInvokesNotInAllowedRange", - "displayName": "Number of direct method invokes is not in allowed range", - "description": "Get an alert when the number of direct method invokes in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_OpenPorts", + "name": "Open Ports On Device", + "status": "Disabled" }, { - "ruleType": "FailedLocalLoginsNotInAllowedRange", - "displayName": "Number of failed local logins is not in allowed range", - "description": "Get an alert when the number of failed local logins on the device in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveFirewallPolicy", + "name": "Permissive firewall policy in one of the chains was found", + "status": "Enabled" }, { - "ruleType": "FileUploadsNotInAllowedRange", - "displayName": "Number of file uploads is not in allowed range", - "description": "Get an alert when the number of file uploads from the device to the cloud in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveInputFirewallRules", + "name": "Permissive firewall rule in the input chain was found", + "status": "Enabled" }, { - "ruleType": "QueuePurgesNotInAllowedRange", - "displayName": "Number of device queue purges is not in allowed range", - "description": "Get an alert when the number of device queue purges in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PermissiveOutputFirewallRules", + "name": "Permissive firewall rule in the output chain was found", + "status": "Enabled" }, { - "ruleType": "TwinUpdatesNotInAllowedRange", - "displayName": "Number of twin updates is not in allowed range", - "description": "Get an alert when the number of twin updates (by the device or the service) in the time window is not in the allowed range", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" + "recommendationType": "IoT_PrivilegedDockerOptions", + "name": "High level permissions configured in Edge model twin for Edge module", + "status": "Enabled" }, { - "ruleType": "UnauthorizedOperationsNotInAllowedRange", - "displayName": "Number of unauthorized operations is not in allowed range", - "description": "Get an alert when the number unauthorized operations in the time window is not in the allowed range. Unauthorized operations are operations that affect the device (or done by it) that fail because of an unauthorized error", - "isEnabled": false, - "minThreshold": 0, - "maxThreshold": 0, - "timeWindowSize": "PT15M" - } - ], - "allowlistRules": [ - { - "ruleType": "ConnectionToIpNotAllowed", - "displayName": "Outbound connection to an ip that isn't allowed", - "description": "Get an alert when an outbound connection is created between your device and an ip that isn't allowed", - "isEnabled": false, - "allowlistValues": [] - }, - { - "ruleType": "LocalUserNotAllowed", - "displayName": "Login by a local user that isn't allowed", - "description": "Get an alert when a local user that isn't allowed logins to the device", - "isEnabled": false, - "allowlistValues": [] + "recommendationType": "IoT_SharedCredentials", + "name": "Same Authentication Credentials used by multiple devices", + "status": "Disabled" }, { - "ruleType": "ProcessNotAllowed", - "displayName": "Execution of a process that isn't allowed", - "description": "Get an alert when a process that isn't allowed is executed", - "isEnabled": false, - "allowlistValues": [] + "recommendationType": "IoT_VulnerableTLSCipherSuite", + "name": "TLS cipher suite upgrade", + "status": "Enabled" } - ], - "denylistRules": [] + ] } } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json index af86889cbe2f..55f00f4e099a 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json @@ -7,6 +7,7 @@ "alertType": "IoT_PrivilegedContainer", "startTimeUtc>": "2020-05-12T06:32:25Z", "startTimeUtc<": "2020-05-14T06:32:25Z", + "compromisedEntity": "device-1", "$limit": 1 }, "responses": { @@ -37,7 +38,7 @@ } } ], - "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotAlerts?api-version=2019-08-01&alertType=IoT_PrivilegedContainer&startTimeUtc>=2020-05-12T06:32:25Z&startTimeUtc<=2020-05-14T06:32:25Z&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotAlerts?api-version=2019-08-01&alertType=IoT_PrivilegedContainer&startTimeUtc>=2020-05-12T06:32:25Z&startTimeUtc<=2020-05-14T06:32:25Z&compromisedEntity=device-1&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", "totalCount": 23 } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json index d1e9b306b467..b7d6ce02c3a8 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json @@ -5,6 +5,7 @@ "resourceGroupName": "myGroup", "solutionName": "mySolution", "recommendationType": "IoT_Baseline", + "deviceId": "device-1", "$limit": 1 }, "responses": { @@ -28,7 +29,7 @@ } } ], - "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotRecommendations?api-version=2019-08-01&recommendationType=IoT_Baseline&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotRecommendations?api-version=2019-08-01&recommendationType=IoT_Baseline&deviceId=device-1&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", "totalCount": 23 } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json index b51e7a792f22..13dddab9a5fb 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json @@ -82,6 +82,13 @@ "type": "string", "description": "Filter by alert type" }, + { + "in": "query", + "name": "compromisedEntity", + "required": false, + "type": "string", + "description": "Filter by compromised device" + }, { "in": "query", "name": "$limit", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json index c50b08a6f7c8..4b24008407f1 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json @@ -66,6 +66,13 @@ "type": "string", "description": "Filter by recommendation type" }, + { + "in": "query", + "name": "deviceId", + "required": false, + "type": "string", + "description": "Filter by device id" + }, { "in": "query", "name": "$limit", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json new file mode 100644 index 000000000000..8524e82d301f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json @@ -0,0 +1,966 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) alerts resource provider", + "version": "2020-01-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.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription": { + "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription", + "operationId": "Alerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "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/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group": { + "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group", + "operationId": "Alerts_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/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription that are stored in a specific location", + "operationId": "Alerts_ListSubscriptionLevelAlertsByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "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/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group that are stored in a specific location", + "operationId": "Alerts_ListResourceGroupLevelAlertsByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated with a subscription", + "operationId": "Alerts_GetSubscriptionLevelAlert", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated a resource group or a resource in a resource group", + "operationId": "Alerts_GetResourceGroupLevelAlerts", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelAlertStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelAlertStateToReactivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelAlertStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelAlertStateToReactivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Alert": { + "type": "object", + "description": "Security alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "describes security alert properties.", + "$ref": "#/definitions/AlertProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "AlertEntity": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Changing set of properties depending on the entity type.", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "Type of entity" + } + } + }, + "AlertExtendedLinks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Links related to the alert" + }, + "AlertExtendedProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom properties for the alert." + }, + "AlertList": { + "type": "object", + "description": "List of security alerts", + "properties": { + "value": { + "type": "array", + "description": "describes security alert properties.", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AlertProperties": { + "type": "object", + "description": "describes security alert properties.", + "properties": { + "alertType": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the detection logic (all alert instances from the same detection logic will have the same alertType)." + }, + "systemAlertId": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the alert." + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "description": "The name of Azure Security Center pricing tier which powering this alert. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-pricing" + }, + "alertDisplayName": { + "readOnly": true, + "type": "string", + "description": "The display name of the alert." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspicious activity that was detected." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Informational", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "alertSeverity", + "modelAsString": true, + "values": [ + { + "value": "Informational", + "description": "Informational" + }, + { + "value": "Low", + "description": "Low" + }, + { + "value": "Medium", + "description": "Medium" + }, + { + "value": "High", + "description": "High" + } + ] + }, + "description": "The risk level of the threat that was detected. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-alerts-overview#how-are-alerts-classified." + }, + "intent": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "PreAttack", + "InitialAccess", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "Probing", + "Exploitation" + ], + "x-ms-enum": { + "name": "intent", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Unknown" + }, + { + "value": "PreAttack", + "description": "PreAttack could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt, originating from outside the network, to scan the target system and find a way in. Further details on the PreAttack stage can be read in [MITRE Pre-Att&ck matrix](https://attack.mitre.org/matrices/pre/)." + }, + { + "value": "InitialAccess", + "description": "InitialAccess is the stage where an attacker manages to get foothold on the attacked resource." + }, + { + "value": "Persistence", + "description": "Persistence is any access, action, or configuration change to a system that gives a threat actor a persistent presence on that system." + }, + { + "value": "PrivilegeEscalation", + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network." + }, + { + "value": "DefenseEvasion", + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses." + }, + { + "value": "CredentialAccess", + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment." + }, + { + "value": "Discovery", + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network." + }, + { + "value": "LateralMovement", + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems." + }, + { + "value": "Execution", + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system." + }, + { + "value": "Collection", + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration." + }, + { + "value": "Exfiltration", + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network." + }, + { + "value": "CommandAndControl", + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network." + }, + { + "value": "Impact", + "description": "Impact events primarily try to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process." + }, + { + "value": "Probing", + "description": "Probing could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation." + }, + { + "value": "Exploitation", + "description": "Exploitation is the stage where an attacker manages to get a foothold on the attacked resource. This stage is relevant for compute hosts and resources such as user accounts, certificates etc." + } + ] + }, + "description": "The kill chain related intent behind the alert. For list of supported values, and explanations of Azure Security Center's supported kill chain intents." + }, + "startTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the first event or activity included in the alert in ISO8601 format." + }, + "endTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the last event or activity included in the alert in ISO8601 format." + }, + "resourceIdentifiers": { + "readOnly": true, + "type": "array", + "description": "The resource identifiers that can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.). There can be multiple identifiers of different type per alert.", + "items": { + "$ref": "#/definitions/ResourceIdentifier" + } + }, + "remediationSteps": { + "readOnly": true, + "type": "array", + "description": "Manual action items to take to remediate the alert.", + "items": { + "readOnly": true, + "type": "string" + } + }, + "vendorName": { + "readOnly": true, + "type": "string", + "description": "The name of the vendor that raises the alert." + }, + "status": { + "readOnly": true, + "type": "string", + "enum": [ + "Active", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "alertStatus", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "An alert which doesn't specify a value is assigned the status 'Active'" + }, + { + "value": "Resolved", + "description": "Alert closed after handling" + }, + { + "value": "Dismissed", + "description": "Alert dismissed as false positive" + } + ] + }, + "description": "The life cycle status of the alert." + }, + "extendedLinks": { + "readOnly": true, + "type": "array", + "description": "Links related to the alert", + "items": { + "$ref": "#/definitions/AlertExtendedLinks" + } + }, + "alertUri": { + "readOnly": true, + "type": "string", + "description": "A direct link to the alert page in Azure Portal." + }, + "timeGeneratedUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time the alert was generated in ISO8601 format." + }, + "productName": { + "readOnly": true, + "type": "string", + "description": "The name of the product which published this alert (Azure Security Center, Azure ATP, Microsoft Defender ATP, O365 ATP, MCAS, and so on)." + }, + "processingEndTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC processing end time of the alert in ISO8601 format." + }, + "entities": { + "readOnly": true, + "type": "array", + "description": "A list of entities related to the alert.", + "items": { + "$ref": "#/definitions/AlertEntity" + } + }, + "isIncident": { + "readOnly": true, + "type": "boolean", + "description": "This field determines whether the alert is an incident (a compound grouping of several alerts) or a single alert." + }, + "correlationKey": { + "readOnly": true, + "type": "string", + "description": "Key for corelating related alerts. Alerts with the same correlation key considered to be related." + }, + "extendedProperties": { + "$ref": "#/definitions/AlertExtendedProperties", + "description": "Custom properties for the alert." + }, + "compromisedEntity": { + "readOnly": true, + "type": "string", + "description": "The display name of the resource most related to this alert." + } + } + }, + "AzureResourceIdentifier": { + "type": "object", + "description": "Azure resource identifier.", + "x-ms-discriminator-value": "AzureResource", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "azureResourceId": { + "readOnly": true, + "type": "string", + "description": "ARM resource identifier for the cloud resource being alerted on" + } + } + }, + "LogAnalyticsIdentifier": { + "type": "object", + "description": "Represents a Log Analytics workspace scope identifier.", + "x-ms-discriminator-value": "LogAnalytics", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "workspaceId": { + "readOnly": true, + "type": "string", + "description": "The LogAnalytics workspace id that stores this alert." + }, + "workspaceSubscriptionId": { + "readOnly": true, + "type": "string", + "description": "The azure subscription id for the LogAnalytics workspace storing this alert.", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$" + }, + "workspaceResourceGroup": { + "readOnly": true, + "type": "string", + "description": "The azure resource group for the LogAnalytics workspace storing this alert" + }, + "agentId": { + "readOnly": true, + "type": "string", + "description": "(optional) The LogAnalytics agent id reporting the event that this alert is based on." + } + } + }, + "ResourceIdentifier": { + "type": "object", + "description": "A resource identifier for an alert which can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.).", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "There can be multiple identifiers of different type per alert, this field specify the identifier type.", + "enum": [ + "AzureResource", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "ResourceIdentifierType", + "modelAsString": true, + "values": [ + { + "value": "AzureResource" + }, + { + "value": "LogAnalytics" + } + ] + } + } + } + } + }, + "parameters": { + "AlertName": { + "name": "alertName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the alert object", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..49446f9f4617 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..50fb76fb502e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json new file mode 100644 index 000000000000..cf33060d8dbd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json new file mode 100644 index 000000000000..8cada3557ed0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json new file mode 100644 index 000000000000..3d2769779efc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domain name": "vm2", + "user name": "vm2\\contosoUser", + "process name": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json new file mode 100644 index 000000000000..de7348db0c15 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domainName": "vm2", + "userName": "vm2\\contosoUser", + "processName": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..b7be3ef5f435 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json new file mode 100644 index 000000000000..bdcbe43029d3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..52b671bde85c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json new file mode 100644 index 000000000000..4fe76e01925d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json new file mode 100644 index 000000000000..7f7fb09a0bf1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enabling adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json new file mode 100644 index 000000000000..2b82a2c59241 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "description": "This control contains recommendations regarding MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enabling adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/GetSecureScoresSingle_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/GetSecureScoresSingle_example.json new file mode 100644 index 000000000000..f81aa4dabcaa --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/GetSecureScoresSingle_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "ASC score", + "score": { + "max": 39, + "current": 23.53, + "percentage": 0.6033 + }, + "weight": 67 + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json new file mode 100644 index 000000000000..e91cdc63766f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json @@ -0,0 +1,1111 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore", + "$expand": "definition" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/405c9ae6-49f9-46c4-8873-a86690f27818" + } + ] + } + }, + "weight": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 10, + "percentage": 1 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1f24d55a-df0f-4772-9090-4629c2d6bfff" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e3d9ac0-a248-4276-a437-304c6cd1443b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8d7a6128-c8f2-43df-b422-7877346f9ddb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4a946e22-47e8-443d-8761-b25620b4a1e1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Implement security best practices", + "healthyResourceCount": 7, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Implement security best practices", + "maxScore": 0, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a8c6a4ad-d51e-88fe-2979-d3ee3c864f8b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6f90a6d6-d4d6-0794-0ec1-98fa77878c2e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a9341235-9389-42f0-a0bf-9bfb57960d44" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45d313c3-3fca-5040-035f-d61928366d31" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0553104-cfdb-65e6-759c-002812e38500" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/47bb383c-8e25-95f0-c2aa-437add1d87d3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/12018f4f-3d10-999b-e4c4-86ec25be08a1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/eade5b56-eefd-444f-95c8-23f29e5d93cb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ebe970fe-9c27-4dd7-a165-1e943d565e10" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f7010359-8d21-4598-a9f2-c3e81a17141e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/24d8af06-d441-40b4-a49c-311421aa9f58" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3e93d3-0276-4d06-b20a-9a9f3012742c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9172da4e-9571-6e33-2b5b-d742847f3be7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/093c685b-56dd-13a3-8ed5-887a001837a2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/64b8637e-4e1d-76a9-0fc9-c1e487a97ed8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fe02b3b7-a722-d4d6-6731-6493776203a6" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57f36d21-69e3-4b0f-a66c-18629d1b736d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6c99f570-2ce7-46bc-8175-cde013df43bc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22489c48-27d1-4e40-9420-4303ad9cffef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fc84abc0-eee6-4758-8372-a7681965ca44" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/726cde3e-02f8-4041-8935-727f2be19ba7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a2bb3a1b-4a09-4cf7-9e79-c438687e2c2f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/664c6a0b-5cd2-4140-aaff-a94241c07afd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3af5de46-fda8-4b6e-90f1-6565187d7c48" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a9a59ebb-5d6f-42f5-92a1-036fd0fd1879" + } + ] + } + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable Advanced Threat Protection", + "maxScore": 0, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/56a6e81f-7413-4f72-9a1b-aaeeaa87c872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0876ef51-fee7-449d-ba1e-f2662c7e43c6" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/58d72d9d-0310-4792-9a3b-6dd111093cdb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6ac66a74-761f-4a59-928a-d373eea3f028" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1be22853-8ed1-4005-9907-ddad64cb1417" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/86ea1a79-29d3-4eac-a9f4-3541ace4e718" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/53572822-d3fc-4363-bfb9-248645841612" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b1af52e4-e968-4e2b-b6d0-6736c9651f0a" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable auditing and logging", + "maxScore": 1, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94208a8b-16e8-4e5b-abbd-4e81c9d02bee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c6dad669-efd7-cd72-61c5-289935607791" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/77785808-ce86-4e40-b45f-19110a547397" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/32771b45-220c-1a8b-584e-fdd5a2584a66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f11b27f2-8c49-5bb4-eff5-e1e5384bf95e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f19ab7d9-5ff2-f8fd-ab3b-0bf95dcb6889" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ad5bbaeb-7632-5edf-f1c2-752075831ce8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dea5192e-1bb3-101b-b70c-4646546f5e1e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1597605a-0faf-5860-eb74-462ae2e9fc21" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/91387f44-7e43-4ecc-55f0-46f5adee3dd5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/961eb649-3ea9-f8c2-6595-88e9a3aeedeb" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/88bbc99c-e5af-ddd7-6105-6150b2bfa519" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22438e3c-73c8-40af-a083-10c980c63aa2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5720f1a6-6061-4768-9c0d-2000a6041744" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/30c69b23-a9a2-4729-aca6-f21adacfff66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a9ac48d8-8dd7-42b9-9752-b1fa70ea5dd9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/00261067-76a8-4ebb-b5fc-becc81067bee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/83ca4867-58c1-45d6-b6b6-dbf226512891" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a269cbdb-86e8-431c-9ff2-f0ea491174d8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5ea59e47-093b-446f-9765-5b0ec4c9da61" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/011397ca-1366-4bcc-b85a-7a5e3df2e80b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c62371bc-f6a7-4915-b5b5-14288682cf79" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/293ba336-7312-42fc-a59d-836e4e678b17" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0b547a38-2c0d-47e1-b9a2-a59fccc140db" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7d0ad86f-f43b-4889-b2f7-09d91bd1407b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b20558b6-de31-480c-8aa0-e920d62b9764" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/022efc2d-5119-480b-a203-e151b6b2645c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3ee7608e-f0e7-4c26-8921-5ae46c4e99df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/33765629-073d-49eb-bab4-64bdf8ac90da" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9c054f50-823f-45ab-839e-9df4eb7c2f11" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f61e15f3-4bcf-4d2e-8f06-32237cabe0a0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cdb3af55-2abf-476b-aac7-5cfec366a4dd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc26b0d4-a1d7-4665-9d44-efc205ae73f0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3812e247-34f2-4f06-a312-89a8fe51fa37" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0f8405a-5ecc-4314-808e-083e030d6163" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c23e0eec-eee4-4632-b1c2-6c884c3c963b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7ce5a01f-e94b-438a-8b72-fa02c076f11a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/46e4e0ed-106d-405e-b1a9-ca34c8f7d31f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b1294b0d-9b2e-4e1b-9f67-77a75fb10a65" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0b86a67f-bde5-4c91-b10c-4102033b8692" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3d55e4b1-ecdb-4eaf-9e3f-b00a764182bd" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + } + ] + } + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Manage access and permissions", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c3b6ae71-f1f0-31b4-e6c1-d5951285d03d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/04e7147b-0deb-9796-2e5c-0336343ceb3d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e52064aa-6853-e252-a11e-dffc675689c2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/00c6d40b-e990-6acf-d4f3-471e747a27c4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2c79b4af-f830-b61e-92b9-63dfa30f16e4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b0fdc63a-38e7-4bab-a7c4-2c2665abbaa9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/03afeb6f-7634-adb3-0a01-803b0b9cb611" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9d07b7e6-2986-4964-a76c-b2689604e212" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5d90913f-a1c5-4429-ad54-2c6c17fb3c73" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/582c14e9-48c1-4b25-ab93-91bdeaf9120c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8a10942a-02ca-483f-81ae-2260ea7808cc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9b8eac17-6b11-4b94-9bb4-18c81aee7123" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/554ba13c-d7d4-4530-88ce-94cf11a670ce" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/66a1d478-4d24-42d4-8eca-dcdab6532a18" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b396f112-a462-4813-a93f-80bc90041e4d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5425052d-cc0d-4424-af71-050311f99634" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/09cb7d54-db05-4d31-97f3-9bbfe1dff610" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/01fb1ad4-303b-4789-abf2-c024c4a76523" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0de072b9-6515-4985-842e-0318047bb85b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3f474a-234e-442f-92b3-2a45e37f7eee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c55461af-4923-4fbb-b270-40d5e5f4c0ff" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bbdc4999-1462-4d46-853b-2f8c6ca1c682" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9e1f12d0-cb3d-4e1c-a468-6bc3d934c99d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fd5d38f6-340e-4bd2-88f2-e1314c3c07a9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0384d5b7-5def-4130-b7b5-db7da7e63276" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0ad39832-f031-4fdd-885e-c6cce85ac77c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/90191798-da1b-40dd-aa9c-1c0eafb1ba87" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ddced3c8-a5e2-4dc4-b0fe-1331c77fc9c4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/52f83ea2-6871-45c3-8b26-13566e966638" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/79b4eb34-c06e-49bf-883d-5352a21a962f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5723400d-5b2a-45f1-99ee-837986866318" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/76e8881d-f18e-4e1b-b01d-376d0260e066" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0eaf40a8-5673-4b33-8457-a31d85882233" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5a235918-41a2-4bd0-8ab0-00a596e9d6a8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3ff38dcd-92e2-4b67-8765-35bb0174a4c7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1ff4501b-2109-4ef6-ba9d-e824a96d63d0" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f493084a-d3c4-4886-8cf2-3c815aeef901" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/11c95609-3553-430d-b788-fd41cde8b2db" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27d6f0e9-b4d5-468b-ae7e-03d5473fd864" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f0debc84-981c-4a0d-924d-aa4bd7d55fef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9b795646-9130-41a4-90b7-df9eae2437c8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/802c0637-5a8c-4c98-abd7-7c96d89d6010" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/43dc2a2e-ce69-4d42-923e-ab7d136f2cfe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2acd365d-e8b5-4094-bce4-244b7c51d67c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/51fd8bb1-0db4-bbf1-7e2b-cfcba7eb66a6" + } + ] + } + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Remediate security configurations", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/181ac480-f7c4-544b-9865-11b8ffe87f47" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8c3d9ad0-3639-4686-9cd2-2b2ab2609bda" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0677209d-e675-2c6f-e91a-54cef2878663" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a3eee263-aa01-4b52-a7c0-0094578ef48f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8941d121-f740-35f6-952c-6561d2b38d36" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0396b18c-41aa-489c-affd-4ee5d1714a59" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/fa924a53-0837-4296-9bf7-18ce7dd68593" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9e1789cd-7b61-42db-ba12-7268283ba466" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/233da9cd-11bf-463a-8aa7-4c81b9e788d1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c4131c22-1ecc-4beb-9961-d90108bd975f" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d74d2738-2485-4103-9919-69c7e63776ec" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5f65e47f-7a00-4bf3-acae-90ee441ee876" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/86f91051-9d6a-47c3-a07f-bd14cb214b45" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable endpoint protection", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/83f577bd-a1b6-b7e1-0891-12ca19d1e6df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4fb67663-9ab9-475d-b026-8c544cced439" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/383cf3bc-fdf9-4a02-120a-3e7e36c6bfee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/37a3689a-818e-4a0e-82ac-b1392b9bb000" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e71020c2-860c-3235-cd39-04f3f8c936d2" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply system updates", + "maxScore": 6, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/27ac71b1-75c5-41c2-adc2-858f5db45b08" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/720a3e77-0b9a-4fa9-98b6-ddf0fd7e32c1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/4ab6e3c5-74dd-8b35-9ab9-f61b30875b27" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f2805ebc-abc2-4aac-a8d6-35664c479971" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c0f5316d-5ac5-9218-b77a-b96e16ccfd66" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/45cfe080-ceb1-a91e-9743-71551ed24e94" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bd20bd91-aaf1-7f14-b6e4-866de2f43146" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8bc390da-9eb6-938d-25ed-44a35d9bcc9d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/22e18b64-4576-41e6-8972-0eb28c9af0c8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bc85a7ee-7f43-47ab-8736-4faaec9346b5" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Encrypt data in transit", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1b351b29-41ca-6df5-946c-c190a56be5fe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cb0acdc6-0846-fd48-debe-9905af151b6d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/bf82a334-13b6-ca57-ea75-096fc2ffce50" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35b25be2-d08a-e340-45ed-f08a95d804fc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1c5de8e1-f68d-6a17-e0d2-ec259c42768c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a3ebc80a-847b-46d5-a37d-8dca5e6947df" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c28a89d9-7cf4-439b-a8c4-ad4e769f68ee" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2acc27c6-5fdb-405e-9080-cb66b850c8f5" + } + ] + } + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Restrict unauthorized network access", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/483f12ed-ae23-447e-a2de-a67a10db4353" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3b20e985-f71f-483b-b078-f30d73936d43" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f9f0eed0-f143-47bf-b856-671ea2eeed62" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1a2b5b4c-f80d-46e7-ac81-b51a9fb363de" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c3b51c94-588b-426b-a892-24696f9e54cc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e40df93c-7a7c-1b0a-c787-9987ceb98e54" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7b3d4796-9400-2904-692b-4a5ede7f0a1e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/df4d1739-47f0-60c7-1706-3731fea6ab03" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1a36f14a-8bd8-45f5-abe5-eef88d76ab5b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/beb62be3-5e78-49bd-ac5f-099250ef3c7c" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ba975338-f956-41e7-a9f2-7614832d382d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d5a8d84a-9ad0-42e2-80e0-d38e3d46028a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5a3d6cdd-8eb3-46d2-ba11-d24a0d47fe65" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d8326952-60bb-40fb-b33f-51e662708a88" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/08e628db-e2ed-4793-bc91-d13e684401c3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/5f88450f-9546-4b78-a181-a2d9162bb441" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/add45209-73f6-4fa5-a5a5-74a451b07fbe" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b3473ed6-78c0-40d5-b5f0-674e98924952" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/9dd55566-33b9-4c07-a959-14794ce02355" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ad0b04b9-eaf9-49f8-b85e-724f9520e760" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ece6ec5d-a862-4e22-a8db-271661216018" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e40b679a-f44e-4366-87dd-7693e16a2128" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0bdcd23c-4ff2-4077-aa14-eb6950bfbdd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/1f386f4e-449e-41e8-b829-a2fe01086ae1" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/2f6c8a5a-9407-467c-8082-0ad4ab915d77" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3b1713ec-feb3-4b32-b5b0-251acff0a84a" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/049f1551-438b-444e-8904-a3c3afbcb43e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/684307e9-62a8-4f2a-887a-4b90de5e4b98" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/0327f9da-f758-4d69-8903-55448b8cf70e" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/cc637123-c11e-40ee-adf8-93c0876481f4" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/ebc68898-5c0f-4353-a426-4a5f1e737b12" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/f67fb4ed-d481-44d7-91e5-efadf504f74a" + } + ] + } + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "definition": { + "id": "/providers/Microsoft.Security/secureScoreControlDefinitions/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable encryption at rest", + "maxScore": 4, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d57a4221-a804-52ca-3dea-768284f06bb7" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/651967bf-044e-4bde-8376-3e08e0600105" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/b12bc79e-4f12-44db-acda-571820191ddc" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/7f04fc0c-4a3d-5c7e-ce19-666cb871b510" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/dbfc99e3-e648-4c3b-bd32-995e6268430d" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/c01fab9f-bde1-4ba5-9d35-7de51f31c2d3" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/23b514bd-2afc-4a3e-8d3d-f4327118eee9" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/3053474d-4fab-4603-8d18-2a6dfd09f782" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/6be98232-0100-474a-b33d-ba9c1a747f70" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/a7c8fa46-526d-4bf6-b8b3-17fa01310fd8" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/20f6c761-4dd7-4f27-9e37-6db8471486ef" + } + ] + } + }, + "weight": 1 + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json new file mode 100644 index 000000000000..fee1621836a8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 10, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Implement security best practices", + "healthyResourceCount": 7, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControls_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControls_example.json new file mode 100644 index 000000000000..e0f997e6b2d4 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScoreControls_example.json @@ -0,0 +1,218 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 10, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/76763537-9feb-42d3-b4f4-78c01117be80", + "name": "76763537-9feb-42d3-b4f4-78c01117be80", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Implement security best practices", + "healthyResourceCount": 7, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 1, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 7 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/4db8d6cf-075b-4149-a813-da09ca2ae120", + "name": "4db8d6cf-075b-4149-a813-da09ca2ae120", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable Advanced Threat Protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 0, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/27b24961-75ba-4fe4-8909-97286d5dd5ee", + "name": "27b24961-75ba-4fe4-8909-97286d5dd5ee", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable auditing and logging", + "healthyResourceCount": 1, + "unhealthyResourceCount": 4, + "notApplicableResourceCount": 0, + "score": { + "max": 1, + "current": 0.2, + "percentage": 0.2 + }, + "weight": 5 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/2d85f639-0bea-4a4a-b6c6-608952a1414a", + "name": "2d85f639-0bea-4a4a-b6c6-608952a1414a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Manage access and permissions", + "healthyResourceCount": 1, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 2, + "percentage": 0.5 + }, + "weight": 2 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "name": "99fc8df2-e0f5-40f8-9415-a7f7ca948b5a", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Remediate security configurations", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/12136bd9-dc24-44f2-9587-7be3af6aac14", + "name": "12136bd9-dc24-44f2-9587-7be3af6aac14", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable endpoint protection", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 2, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/61702b76-1fab-41f2-bcbc-50b7870dcf38", + "name": "61702b76-1fab-41f2-bcbc-50b7870dcf38", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Apply system updates", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 6, + "current": 0, + "percentage": 0 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/0e55495e-034f-4abc-8293-767229250176", + "name": "0e55495e-034f-4abc-8293-767229250176", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Encrypt data in transit", + "healthyResourceCount": 5, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 3.33, + "percentage": 0.8325 + }, + "weight": 6 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "name": "f9d5432b-8f7b-45e9-b90c-e214a30f6a02", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Restrict unauthorized network access", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore/secureScoreControls/8fd574ec-43cf-426e-a439-a67cbaf2d564", + "name": "8fd574ec-43cf-426e-a439-a67cbaf2d564", + "type": "Microsoft.Security/secureScores/secureScoreControls", + "properties": { + "displayName": "Enable encryption at rest", + "healthyResourceCount": 1, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 0, + "score": { + "max": 4, + "current": 4, + "percentage": 1 + }, + "weight": 1 + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScores_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScores_example.json new file mode 100644 index 000000000000..0f541546cb8a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/secureScores/ListSecureScores_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "ASC score", + "score": { + "max": 39, + "current": 23.53, + "percentage": 0.6033 + }, + "weight": 67 + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/secureScore.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/secureScore.json new file mode 100644 index 000000000000..c7a296a5fd3c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/secureScore.json @@ -0,0 +1,622 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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.Security/secureScores": { + "get": { + "x-ms-examples": { + "List secure scores": { + "$ref": "./examples/secureScores/ListSecureScores_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "List secure scores for all your Security Center initiatives within your current scope.", + "operationId": "SecureScores_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoresList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScores/{secureScoreName}": { + "get": { + "x-ms-examples": { + "Get single secure score": { + "$ref": "./examples/secureScores/GetSecureScoresSingle_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "Get secure score for a specific Security Center initiative within your current scope. For the ASC Default initiative, use 'ascScore'.", + "operationId": "SecureScores_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScores/{secureScoreName}/secureScoreControls": { + "get": { + "x-ms-examples": { + "Get security controls and their current score for the specified initiative": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForName_builtin_example.json" + }, + "Get security controls and their current score for the specified initiative with the expand parameter": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json" + } + }, + "tags": [ + "Secure Score" + ], + "description": "Get all security controls for a specific initiative within a scope", + "operationId": "SecureScoreControls_ListBySecureScore", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScoreControls": { + "get": { + "x-ms-examples": { + "List all secure scores controls": { + "$ref": "./examples/secureScores/ListSecureScoreControls_example.json" + } + }, + "tags": [ + "Secure Score Controls" + ], + "description": "Get all security controls within a scope", + "operationId": "SecureScoreControls_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Security/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List security controls definition": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json" + } + }, + "tags": [ + "Secure Score Control Definitions" + ], + "description": "List the available security controls, their assessments, and the max score", + "operationId": "SecureScoreControlDefinitions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List security controls definition by subscription": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json" + } + }, + "tags": [ + "Secure Score Control Definitions" + ], + "description": "For a specified subscription, list the available security controls, their assessments, and the max score", + "operationId": "SecureScoreControlDefinitions_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecureScoresList": { + "type": "object", + "description": "List of secure scores", + "properties": { + "value": { + "description": "Collection of secure scores in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreItem": { + "description": "Secure score item data model", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "description": "Secure score item", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreItemProperties": { + "description": "Describes properties of a calculated secure score.", + "readOnly": true, + "type": "object", + "properties": { + "displayName": { + "description": "The initiative’s name", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "score object", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + }, + "weight": { + "description": "The relative weight for each subscription. Used when calculating an aggregated secure score for multiple subscriptions.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "exclusiveMinimum": false + } + } + }, + "ScoreDetails": { + "description": "Calculation result data", + "readOnly": true, + "type": "object", + "properties": { + "max": { + "description": "Maximum score available", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false + }, + "current": { + "description": "Current score", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "exclusiveMinimum": false + }, + "percentage": { + "description": "Ratio of the current score divided by the maximum. Rounded to 4 digits after the decimal point", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 1.00, + "exclusiveMinimum": false, + "exclusiveMaximum": false + } + } + }, + "SecureScoreControlScore": { + "description": "Calculation result data", + "type": "object", + "properties": { + "max": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "current": { + "description": "Actual score for the control = (achieved points / total points) * max score. if total points is zeroed, the return number is 0.00", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 10.00, + "exclusiveMinimum": false + }, + "percentage": { + "description": "Ratio of the current score divided by the maximum. Rounded to 4 digits after the decimal point", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 1.00, + "exclusiveMinimum": false, + "exclusiveMaximum": false + } + } + }, + "SecureScoreControlList": { + "description": "List of security controls", + "type": "object", + "properties": { + "value": { + "description": "Collection of security controls in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDetails" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDetails": { + "description": "Details of the security control, its score, and the health status of the relevant resources.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlScoreDetails" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlScoreDetails": { + "description": "Calculation result data in control level", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Actual score object for the control", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + }, + "healthyResourceCount": { + "description": "Number of healthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "unhealthyResourceCount": { + "description": "Number of unhealthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "notApplicableResourceCount": { + "description": "Number of not applicable resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "weight": { + "description": "The relative weight for this specific control in each of your subscriptions. Used when calculating an aggregated score for this control across all of your subscriptions.", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "exclusiveMinimum": false + }, + "definition": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + } + }, + "secureScoreControlDefinitionList": { + "description": "List of security controls definition", + "type": "object", + "properties": { + "value": { + "description": "Collection of security controls definition in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDefinitionItem": { + "description": "Information about the security control.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlDefinitionItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlDefinitionItemProperties": { + "description": "Security Control Definition Properties.", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "User friendly description of the control", + "readOnly": true, + "type": "string", + "maxLength": 256 + }, + "maxScore": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "source": { + "description": "Source object from which the control was created", + "readOnly": true, + "$ref": "#/definitions/SecureScoreControlDefinitionSource" + }, + "assessmentDefinitions": { + "description": "Array of assessments metadata IDs that are included in this security control", + "readOnly": true, + "$ref": "../../../common/v1/types.json#/definitions/AzureResourceLinks" + } + } + }, + "SecureScoreControlDefinitionSource": { + "description": "The type of the security control (For example, BuiltIn)", + "readOnly": true, + "type": "object", + "properties": { + "sourceType": { + "description": "The type of security control (for example, BuiltIn)", + "type": "string", + "enum": [ + "BuiltIn", + "Custom" + ], + "x-ms-enum": { + "name": "controlType", + "modelAsString": true, + "values": [ + { + "value": "BuiltIn", + "description": "Azure Security Center managed assessments" + }, + { + "value": "Custom", + "description": "Non Azure Security Center managed assessments" + } + ] + } + } + } + } + }, + "parameters": { + "ExpandControlsDefinition": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "OData expand. Optional.", + "x-ms-parameter-location": "method", + "enum": [ + "definition" + ], + "x-ms-enum": { + "name": "ExpandControlsEnum", + "modelAsString": true, + "values": [ + { + "value": "definition", + "description": "Add definition object for each control" + } + ] + } + }, + "secureScoreName": { + "name": "secureScoreName", + "in": "path", + "required": true, + "type": "string", + "description": "The initiative name. For the ASC Default initiative, use 'ascScore' as in the sample request below.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json index fca7f0ceb5c6..bfb922e1a2f0 100644 --- a/specification/security/resource-manager/common/v1/types.json +++ b/specification/security/resource-manager/common/v1/types.json @@ -65,7 +65,7 @@ "$ref": "#/definitions/Resource" }, { - "$ref": "#/definitions/Location" + "$ref": "#/definitions/AzureTrackedResourceLocation" }, { "$ref": "#/definitions/Kind" @@ -122,6 +122,16 @@ } } }, + "AzureTrackedResourceLocation": { + "type": "object", + "description": "Describes an Azure resource with location", + "properties": { + "location": { + "type": "string", + "description": "Location where the resource is stored" + } + } + }, "AscLocationList": { "type": "object", "description": "List of locations where ASC saves your data", diff --git a/specification/security/resource-manager/readme.azureresourceschema.md b/specification/security/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..84dc1c926799 --- /dev/null +++ b/specification/security/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,236 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-security-2020-08-06-preview + - tag: schema-security-2020-01-01-preview + - tag: schema-security-2020-01-01 + - tag: schema-security-2019-08-01 + - tag: schema-security-2019-01-01-preview + - tag: schema-security-2019-01-01 + - tag: schema-security-2018-06-01 + - tag: schema-security-2017-08-01-preview + - tag: schema-security-2017-08-01 + - tag: schema-security-2015-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-security-2020-08-06-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-08-06-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json + - Microsoft.Security/preview/2020-08-06-preview/iotSensors.json + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json + +``` + +### Tag: schema-security-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2020-01-01-preview/secureScore.json + - Microsoft.Security/preview/2020-01-01-preview/connectors.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/connectors.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json + +``` + +### Tag: schema-security-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json + - Microsoft.Security/stable/2020-01-01/assessmentMetadata.json + - Microsoft.Security/stable/2020-01-01/assessments.json + - Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json + - Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json + - Microsoft.Security/stable/2020-01-01/allowedConnections.json + - Microsoft.Security/stable/2020-01-01/topologies.json + - Microsoft.Security/stable/2020-01-01/alerts.json + - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json + - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json + - Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json + - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json + - Microsoft.Security/stable/2020-01-01/SecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/alerts.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json + +``` + +### Tag: schema-security-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json + - Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json + - Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json + - Microsoft.Security/stable/2019-08-01/iotAlertTypes.json + - Microsoft.Security/stable/2019-08-01/iotAlerts.json + - Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json + - Microsoft.Security/stable/2019-08-01/iotRecommendations.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlerts.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendations.json + +``` + +### Tag: schema-security-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2019-01-01-preview/automations.json + - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json + - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json + - Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json + - Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json + - Microsoft.Security/preview/2019-01-01-preview/assessments.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json + +``` + +### Tag: schema-security-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2019-01-01/alerts.json + - Microsoft.Security/stable/2019-01-01/settings.json + - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json + - $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json + - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json + +``` + +### Tag: schema-security-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2018-06-01/pricings.json + - $(this-folder)/Microsoft.Security/stable/2018-06-01/pricings.json + +``` + +### Tag: schema-security-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2017-08-01-preview/pricings.json + - Microsoft.Security/preview/2017-08-01-preview/securityContacts.json + - Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json + - Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json + - Microsoft.Security/preview/2017-08-01-preview/compliances.json + - Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json + - Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json + - Microsoft.Security/preview/2017-08-01-preview/settings.json + - Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json + - Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json + - Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/compliances.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/settings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json + +``` + +### Tag: schema-security-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2017-08-01/complianceResults.json + - $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json + +``` + +### Tag: schema-security-2015-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2015-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2015-06-01-preview/operations.json + - Microsoft.Security/preview/2015-06-01-preview/locations.json + - Microsoft.Security/preview/2015-06-01-preview/tasks.json + - Microsoft.Security/preview/2015-06-01-preview/alerts.json + - Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json + - Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json + - Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json + - Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json + - Microsoft.Security/preview/2015-06-01-preview/topologies.json + - Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json + - Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/operations.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/locations.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/tasks.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/alerts.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/topologies.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + +``` diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 792613468d24..9e8651424d97 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -44,6 +44,22 @@ directive: from: recommendationTypes.json where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/recommendationTypes"].get' reason: The list returns limited number of items + - suppress: PageableOperation + from: iotDefenderSettings.json + where: '$.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings"].get' + reason: The list returns limited number of items + - suppress: PageableOperation + from: iotSensors.json + where: '$.paths["/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}"].get' + reason: The list returns limited number of items + - suppress: PageableOperation + from: onPremiseIotSensors.json + where: '$.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Security/onPremiseIotSensors"].get' + reason: The list returns limited number of items + - suppress: TopLevelResourcesListByResourceGroup + from: onPremiseIotSensors.json + where: $.definitions.OnPremiseIotSensor + reason: The resource is managed in a subscription level (instead of inside a resource group) ``` ### Basic Information @@ -61,12 +77,16 @@ tag: package-composite-v3 The following packages may be composed from multiple api-versions. + ### 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/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json - Microsoft.Security/preview/2020-01-01-preview/secureScore.json - Microsoft.Security/preview/2020-01-01-preview/connectors.json - Microsoft.Security/preview/2019-01-01-preview/automations.json @@ -105,6 +125,9 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ``` yaml $(tag) == 'package-composite-v2' input-file: +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json - Microsoft.Security/preview/2020-01-01-preview/secureScore.json - Microsoft.Security/preview/2020-01-01-preview/connectors.json - Microsoft.Security/preview/2019-01-01-preview/automations.json @@ -147,7 +170,6 @@ These settings apply only when `--tag=package-composite-v3` is specified on the input-file: - Microsoft.Security/stable/2017-08-01/complianceResults.json - Microsoft.Security/stable/2018-06-01/pricings.json -- Microsoft.Security/stable/2019-01-01/alerts.json - Microsoft.Security/stable/2019-01-01/settings.json - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json - Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json @@ -166,7 +188,6 @@ input-file: - Microsoft.Security/preview/2017-08-01-preview/securityContacts.json - Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json - - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json @@ -177,13 +198,25 @@ input-file: - Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json - Microsoft.Security/stable/2020-01-01/allowedConnections.json - Microsoft.Security/stable/2020-01-01/topologies.json +- Microsoft.Security/stable/2020-01-01/alerts.json - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json - Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json -- Microsoft.Security/preview/2020-01-01-preview/secureScore.json +- Microsoft.Security/stable/2020-01-01/secureScore.json - Microsoft.Security/stable/2020-01-01/SecuritySolutions.json - Microsoft.Security/preview/2020-01-01-preview/connectors.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json +- Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json +- Microsoft.Security/preview/2020-08-06-preview/iotSensors.json +- Microsoft.Security/preview/2020-08-06-preview/devices.json +- Microsoft.Security/preview/2020-08-06-preview/onPremiseIotSensors.json +- Microsoft.Security/preview/2020-08-06-preview/iotAlerts.json +- Microsoft.Security/preview/2020-08-06-preview/iotAlertTypes.json +- Microsoft.Security/preview/2020-08-06-preview/iotRecommendations.json +- Microsoft.Security/preview/2020-08-06-preview/iotRecommendationTypes.json # Needed when there is more than one input file override-info: @@ -355,6 +388,42 @@ input-file: - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json - Microsoft.Security/stable/2020-01-01/topologies.json +- Microsoft.Security/stable/2020-01-01/secureScore.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2020-07-preview-only + +These settings apply only when `--tag=package-2020-07-preview-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-2020-07-preview-only' +input-file: +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json +- Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2020-08-preview-only + +These settings apply only when `--tag=package-2020-08-preview-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-2020-08-preview-only' +input-file: +- Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json +- Microsoft.Security/preview/2020-08-06-preview/iotSensors.json +- Microsoft.Security/preview/2020-08-06-preview/devices.json +- Microsoft.Security/preview/2020-08-06-preview/onPremiseIotSensors.json +- Microsoft.Security/preview/2020-08-06-preview/iotAlerts.json +- Microsoft.Security/preview/2020-08-06-preview/iotAlertTypes.json +- Microsoft.Security/preview/2020-08-06-preview/iotRecommendations.json +- Microsoft.Security/preview/2020-08-06-preview/iotRecommendationTypes.json # Needed when there is more than one input file override-info: @@ -377,6 +446,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js security/resource-manager ``` ## C# @@ -403,81 +475,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.ruby.md](./readme.ruby.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Security/preview/2020-01-01-preview/secureScore.json - - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/connectors.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json - - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/compliances.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/settings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/operations.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/locations.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/tasks.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/alerts.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/topologies.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json - - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json - - $(this-folder)/Microsoft.Security/stable/2018-06-01/pricings.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json - - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json - - $(this-folder)/Microsoft.Security/stable/2019-01-01/alerts.json - - $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json - - $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json - - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlerts.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json - - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendations.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json - - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json - - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.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/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json index 3b4e9d3159fd..833901f8da2c 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json @@ -1729,6 +1729,9 @@ }, "Get a MDATP data connector": { "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + }, + "Get a Office ATP data connector": { + "$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json" } }, "tags": [ @@ -1899,6 +1902,9 @@ }, "Check requirements for Mdatp.": { "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json" + }, + "Check requirements for OfficeATP.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json" } }, "tags": [ @@ -2134,6 +2140,57 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline": { + "post": { + "x-ms-examples": { + "Entity timeline": { + "$ref": "./examples/entities/timeline/PostTimelineEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Timeline for an entity.", + "operationId": "EntitiesGetTimeline_list", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityTimelineRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityTimelineResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations": { "get": { "x-ms-examples": { @@ -2932,6 +2989,102 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "x-ms-examples": { + "Get all incident alerts.": { + "$ref": "./examples/incidents/GetAllIncidentAlerts.json" + } + }, + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all incident alerts.", + "operationId": "Incidents_ListOfAlerts", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "x-ms-examples": { + "Get all incident bookmarks.": { + "$ref": "./examples/incidents/GetAllIncidentBookmarks.json" + } + }, + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all incident bookmarks.", + "operationId": "Incidents_ListOfBookmarks", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentBookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { "get": { "x-ms-examples": { @@ -3048,14 +3201,14 @@ }, "put": { "x-ms-examples": { - "Creates an incident comment.": { + "Creates or updates an incident comment.": { "$ref": "./examples/incidents/comments/CreateIncidentComment.json" } }, "tags": [ "IncidentComments" ], - "description": "Creates the incident comment.", + "description": "Creates or updates the incident comment.", "operationId": "IncidentComments_CreateComment", "parameters": [ { @@ -3084,6 +3237,12 @@ } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, "201": { "description": "Created", "schema": { @@ -3097,6 +3256,103 @@ } } } + }, + "delete": { + "x-ms-examples": { + "Delete the incident comment.": { + "$ref": "./examples/incidents/comments/DeleteIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Delete the incident comment.", + "operationId": "IncidentComments_DeleteComment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "x-ms-examples": { + "Gets all incident related entities": { + "$ref": "./examples/incidents/entities/GetAllIncidentEntities.json" + } + }, + "tags": [ + "IncidentEntities" + ], + "description": "Gets all incident related entities.", + "operationId": "Incidents_ListOfEntities", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentEntitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": { @@ -3562,97 +3818,558 @@ } } } - } - }, - "definitions": { - "AADDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents AAD (Azure Active Directory) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/AADDataConnectorProperties", - "description": "AAD (Azure Active Directory) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "AzureActiveDirectory" }, - "AADDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "AAD (Azure Active Directory) data connector properties.", - "type": "object" - }, - "AADCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents AAD (Azure Active Directory) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/AADCheckRequirementsProperties", - "description": "AAD (Azure Active Directory) requirements check properties.", - "x-ms-client-flatten": true + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a threat intelligence.", + "operationId": "CreateThreatIntelligence", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorObjectToUpsert" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - }, - "type": "object", - "x-ms-discriminator-value": "AzureActiveDirectory" + } }, - "AADCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence.": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Gets all threat intelligence.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ODataFilter" + }, + { + "$ref": "#/parameters/ODataTop" + }, + { + "$ref": "#/parameters/ODataSkipToken" + }, + { + "$ref": "#/parameters/ODataOrderBy" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "description": "AAD (Azure Active Directory) requirements check properties.", - "type": "object" + } }, - "AATPDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "Get a threat intelligence indicator by name.": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Gets a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - ], - "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/AATPDataConnectorProperties", - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", - "x-ms-client-flatten": true + }, + "put": { + "x-ms-examples": { + "Upsert the Threat Intelligence": { + "$ref": "./examples/threatintelligence/UpsertThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Upsert a threat intelligence.", + "operationId": "ThreatIntelligenceIndicatorUpsert_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorObjectToUpsert" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, - "type": "object", - "x-ms-discriminator-value": "AzureAdvancedThreatProtection" - }, - "AATPDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "delete": { + "x-ms-examples": { + "Delete the Threat Intelligence": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - ], - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", - "type": "object" + } }, - "AATPCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Get all threat intelligence.": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query all threat intelligence.", + "operationId": "ThreatIntelligenceIndicatorsList_Query", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceArmStixQuery" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get the threat intelligence metrics.", + "operationId": "ThreatIntelligenceIndicatorMetrics_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorEntityKind" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTagsRequestBody" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags to a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTagsModel" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AAD (Azure Active Directory) data connector properties.", + "type": "object" + }, + "AADCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AAD (Azure Active Directory) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AADCheckRequirementsProperties", + "description": "AAD (Azure Active Directory) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AAD (Azure Active Directory) requirements check properties.", + "type": "object" + }, + "AATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "AATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", @@ -5208,6 +5925,7 @@ "ThreatIntelligence", "ThreatIntelligenceTaxii", "Office365", + "OfficeATP", "AmazonWebServicesCloudTrail", "AzureAdvancedThreatProtection", "MicrosoftDefenderAdvancedThreatProtection" @@ -5236,7 +5954,10 @@ "value": "Office365" }, { - "value": "AmazonWebServicesCloudTrail" + "value": "OfficeATP" + }, + { + "value": "AmazonWebServicesCloudTrail" }, { "value": "AzureAdvancedThreatProtection" @@ -5414,6 +6135,37 @@ } } }, + "EntityTimelineParameters": { + "description": "The parameters required to execute s timeline operation on the given entity.", + "properties": { + "kinds": { + "description": "Array of timeline Item kinds.", + "items": { + "$ref": "#/definitions/EntityTimelineKind" + }, + "type": "array" + }, + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "numberOfBucket": { + "description": "The number of bucket for timeline queries aggregation.", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "startTime", + "endTime" + ] + }, "EntityExpandResponse": { "description": "The entity expansion result operation response.", "properties": { @@ -5436,6 +6188,22 @@ } } }, + "EntityTimelineResponse": { + "description": "The entity timeline result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/TimelineResultsMetadata", + "description": "The metadata from the timeline operation results." + }, + "value": { + "description": "The timeline result values.", + "items": { + "$ref": "#/definitions/EntityTimelineItem" + }, + "type": "array" + } + } + }, "EntityInnerKind": { "description": "The kind of the entity", "enum": [ @@ -5627,301 +6395,1679 @@ "description": "Entity represents HuntingBookmark in the system.", "value": "HuntingBookmark" } - ] - } - }, - "EntityKind": { - "description": "Describes an entity with kind.", - "properties": { - "kind": { - "$ref": "#/definitions/EntityInnerKind", - "description": "The kind of the entity." + ] + } + }, + "EntityKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "EntityList": { + "description": "List of all the entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entities.", + "items": { + "$ref": "#/definitions/Entity" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "EntityQuery": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specific entity query.", + "properties": { + "properties": { + "$ref": "#/definitions/EntityQueryProperties", + "description": "Entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + } + ] + } + }, + "EntityQueryList": { + "description": "List of all the entity queries.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity queries.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity queries.", + "items": { + "$ref": "#/definitions/EntityQuery" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "EntityQueryProperties": { + "description": "Describes entity query properties", + "properties": { + "dataSources": { + "description": "List of the data sources that are required to run the query", + "items": { + "description": "data source", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The query display name", + "type": "string" + }, + "inputEntityType": { + "$ref": "#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "inputFields": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "input field", + "type": "string" + }, + "type": "array" + }, + "outputEntityTypes": { + "description": "List of the desired output types to be constructed from the result", + "items": { + "$ref": "#/definitions/EntityInnerType", + "description": "output entity type" + }, + "type": "array" + }, + "queryTemplate": { + "description": "The template query string to be parsed and formatted", + "type": "string" + } + }, + "type": "object" + }, + "ExpansionResultAggregation": { + "description": "Information of a specific aggregation in the expansion result.", + "properties": { + "aggregationType": { + "description": "The common type of the aggregation. (for e.g. entity field name)", + "type": "string" + }, + "count": { + "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", + "type": "integer" + }, + "displayName": { + "description": "The display name of the aggregation by type.", + "type": "string" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "ExpansionResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "aggregations": { + "description": "Information of the aggregated nodes in the expansion result.", + "items": { + "$ref": "#/definitions/ExpansionResultAggregation" + }, + "type": "array" + } + }, + "type": "object" + }, + "TimelineResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the timeline request", + "type": "integer", + "format": "int32" + }, + "aggregations": { + "description": "timeline aggregation per kind", + "items": { + "$ref": "#/definitions/TimelineAggregation" + }, + "type": "array" + }, + "errors": { + "description": "information about the failure queries", + "items": { + "$ref": "#/definitions/TimelineError" + }, + "type": "array" + } + }, + "required": [ + "totalCount", + "aggregations" + ], + "type": "object" + }, + "TimelineError": { + "description": "Timeline Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "TimelineAggregation": { + "description": "timeline aggregation information per kind", + "properties": { + "count": { + "description": "the total items found for a kind", + "type": "integer", + "format": "int32" + }, + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + } + }, + "required": [ + "kind", + "count" + ], + "type": "object" + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + } + }, + "required": [ + "azureResourceId", + "productName", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "TThe bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId", + "displayName", + "notes", + "endTimeUtc", + "startTimeUtc", + "createdBy", + "labels" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "Fusion alert rule template properties", + "properties": { + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + } + }, + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Incident": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "HuntingBookmark": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a Hunting bookmark entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntingBookmarkProperties", + "description": "HuntingBookmark entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "HuntingBookmarkProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "eventTime": { + "description": "The time of the event", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "properties": { + "alertsCount": { + "description": "The number of alerts in the incident", + "readOnly": true, + "type": "integer" + }, + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "readOnly": true, + "type": "integer" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "readOnly": true, + "type": "integer" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityAlert" + } + } + }, + "required": [ + "value" + ] + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "items": { + "$ref": "#/definitions/HuntingBookmark" + } + } + }, + "required": [ + "value" + ] + }, + "IncidentComment": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentCommentList": { + "description": "List of incident comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The time the comment was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "author": { + "$ref": "#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "items": { + "$ref": "#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + } + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "properties": { + "count": { + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer", + "format": "int32" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "IncidentLabel": { + "description": "Represents an incident label", + "properties": { + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "description": "The type of the label", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentLabelType", + "values": [ + { + "description": "Label manually created by a user", + "value": "User" + }, + { + "description": "Label automatically created by the system", + "value": "System" + } + ] + } + } + }, + "required": [ + "labelName" + ], + "type": "object" + }, + "IncidentList": { + "description": "List all the incidents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + } + }, + "type": "object" + }, + "IncidentProperties": { + "description": "Describes incident properties", + "properties": { + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "readOnly": true, + "type": "string" + }, + "incidentNumber": { + "description": "A sequential number", + "readOnly": true, + "type": "integer" + }, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "#/definitions/IncidentLabel" + }, + "type": "array" + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "severity": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "status": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" } }, "required": [ - "kind" + "title", + "severity", + "status" ], "type": "object" }, - "EntityList": { - "description": "List of all the entities.", + "IpEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an ip entity.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of entities.", + "properties": { + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ip" + }, + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", + "properties": { + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", "readOnly": true, "type": "string" }, - "value": { - "description": "Array of entities.", + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", "items": { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/ThreatIntelligence" }, + "readOnly": true, "type": "array" } }, - "required": [ - "value" - ] + "type": "object" }, - "EntityQuery": { + "Label": { + "description": "Label that will be used to tag and filter on.", + "type": "string" + }, + "MCASDataConnector": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DataConnector" } ], - "description": "Specific entity query.", + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", "properties": { "properties": { - "$ref": "#/definitions/EntityQueryProperties", - "description": "Entity query properties", + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", "x-ms-client-flatten": true } }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "discoveryLogs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Discovery log data type connection.", + "type": "object" + } + }, "type": "object" }, - "EntityQueryList": { - "description": "List of all the entity queries.", + "MCASDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of entity queries.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of entity queries.", - "items": { - "$ref": "#/definitions/EntityQuery" - }, - "type": "array" + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." } }, - "required": [ - "value" - ] + "type": "object" }, - "EntityQueryProperties": { - "description": "Describes entity query properties", + "MCASCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", "properties": { - "dataSources": { - "description": "List of the data sources that are required to run the query", - "items": { - "description": "data source", - "type": "string" - }, - "type": "array" - }, - "displayName": { - "description": "The query display name", - "type": "string" - }, - "inputEntityType": { - "$ref": "#/definitions/EntityInnerType", - "description": "The type of the query's source entity" - }, - "inputFields": { - "description": "List of the fields of the source entity that are required to run the query", - "items": { - "description": "input field", - "type": "string" - }, - "type": "array" - }, - "outputEntityTypes": { - "description": "List of the desired output types to be constructed from the result", - "items": { - "$ref": "#/definitions/EntityInnerType", - "description": "output entity type" - }, - "type": "array" - }, - "queryTemplate": { - "description": "The template query string to be parsed and formatted", - "type": "string" + "properties": { + "$ref": "#/definitions/MCASCheckRequirementsProperties", + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "x-ms-client-flatten": true } }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", "type": "object" }, - "ExpansionResultAggregation": { - "description": "Information of a specific aggregation in the expansion result.", + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", "properties": { - "aggregationType": { - "description": "The common type of the aggregation. (for e.g. entity field name)", - "type": "string" - }, - "count": { - "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", - "type": "integer" - }, - "displayName": { - "description": "The display name of the aggregation by type.", - "type": "string" - }, - "entityKind": { - "$ref": "#/definitions/EntityInnerKind", - "description": "The kind of the aggregated entity." + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true } }, - "required": [ - "entityKind", - "count" + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", "type": "object" }, - "ExpansionResultsMetadata": { - "description": "Expansion result metadata.", + "MDATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", "properties": { - "aggregations": { - "description": "Information of the aggregated nodes in the expansion result.", - "items": { - "$ref": "#/definitions/ExpansionResultAggregation" - }, - "type": "array" + "properties": { + "$ref": "#/definitions/MDATPCheckRequirementsProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true } }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", "type": "object" }, - "FileEntity": { + "MalwareEntity": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a file entity.", + "description": "Represents a malware entity.", "properties": { "properties": { - "$ref": "#/definitions/FileEntityProperties", + "$ref": "#/definitions/MalwareEntityProperties", "description": "File entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "File" + "x-ms-discriminator-value": "Malware" }, - "FileEntityProperties": { + "MalwareEntityProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "File entity property bag.", + "description": "Malware entity property bag.", "properties": { - "directory": { - "description": "The full path to the file.", + "category": { + "description": "The malware category by the vendor, e.g. Trojan", "readOnly": true, "type": "string" }, - "fileHashEntityIds": { - "description": "The file hash entity identifiers associated with this file", + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", "items": { - "description": "file hash id", + "description": "file entity id", "type": "string" }, "readOnly": true, "type": "array" }, - "fileName": { - "description": "The file name without path (some alerts might not include path).", + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", "readOnly": true, "type": "string" }, - "hostEntityId": { - "description": "The Host entity id which the file belongs to", + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, "readOnly": true, - "type": "string" + "type": "array" } }, "type": "object" }, - "FileHashEntity": { + "MicrosoftSecurityIncidentCreationAlertRule": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/AlertRule" } ], - "description": "Represents a file hash entity.", + "description": "Represents MicrosoftSecurityIncidentCreation rule.", "properties": { "properties": { - "$ref": "#/definitions/FileHashEntityProperties", - "description": "FileHash entity properties", + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "FileHash" + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" }, - "FileHashEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "FileHash entity property bag.", + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", "properties": { - "algorithm": { - "description": "The hash algorithm type.", + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "description": "The alerts' productName on which the cases will be generated", "enum": [ - "Unknown", - "MD5", - "SHA1", - "SHA256", - "SHA256AC" + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT", + "Office 365 Advanced Threat Protection", + "Microsoft Defender Advanced Threat Protection" ], - "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "FileHashAlgorithm", - "values": [ - { - "description": "Unknown hash algorithm", - "value": "Unknown" - }, - { - "description": "MD5 hash type", - "value": "MD5" - }, - { - "description": "SHA1 hash type", - "value": "SHA1" - }, - { - "description": "SHA256 hash type", - "value": "SHA256" - }, - { - "description": "SHA256 Authenticode hash type", - "value": "SHA256AC" - } - ] + "name": "MicrosoftSecurityProductName" } }, - "hashValue": { - "description": "The file hash value.", - "readOnly": true, - "type": "string" + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "#/definitions/AlertSeverity" + }, + "type": "array" } }, + "required": [ + "productFilter" + ], "type": "object" }, - "FusionAlertRule": { + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { "allOf": [ { - "$ref": "#/definitions/AlertRule" + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" } ], - "description": "Represents Fusion alert rule.", - "properties": { - "properties": { - "$ref": "#/definitions/FusionAlertRuleProperties", - "description": "Fusion alert rule properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Fusion" - }, - "FusionAlertRuleProperties": { - "description": "Fusion alert rule base property bag.", + "description": "MicrosoftSecurityIncidentCreation rule property bag.", "properties": { "alertRuleTemplateName": { "description": "The Name of the alert rule template used to create this rule.", @@ -5929,12 +8075,10 @@ }, "description": { "description": "The description of the alert rule.", - "readOnly": true, "type": "string" }, "displayName": { "description": "The display name for alerts created by this alert rule.", - "readOnly": true, "type": "string" }, "enabled": { @@ -5946,294 +8090,130 @@ "format": "date-time", "readOnly": true, "type": "string" - }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule.", - "readOnly": true - }, - "tactics": { - "description": "The tactics of the alert rule", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "readOnly": true, - "type": "array" } }, "required": [ - "alertRuleTemplateName", - "enabled" + "displayName", + "enabled", + "productFilter" ], "type": "object" }, - "FusionAlertRuleTemplate": { + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { "allOf": [ { "$ref": "#/definitions/AlertRuleTemplate" } ], - "description": "Represents Fusion alert rule template.", + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", "properties": { "properties": { "allOf": [ { "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - } - ], - "description": "Fusion alert rule template properties", - "properties": { - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule." }, - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "type": "array" + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" } - }, + ], + "description": "MicrosoftSecurityIncidentCreation rule template properties", "required": [ "displayName", "description", + "createdDateUTC", "status", - "severity", - "alertRulesCreatedByTemplateCount" + "alertRulesCreatedByTemplateCount", + "productFilter" ], "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Fusion" - }, - "GeoLocation": { - "description": "The geo-location context attached to the ip entity", - "properties": { - "asn": { - "description": "Autonomous System Number", - "readOnly": true, - "type": "integer" - }, - "city": { - "description": "City name", - "readOnly": true, - "type": "string" - }, - "countryCode": { - "description": "The country code according to ISO 3166 format", - "readOnly": true, - "type": "string" - }, - "countryName": { - "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", - "readOnly": true, - "type": "string" - }, - "latitude": { - "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "longitude": { - "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "state": { - "description": "State name", - "readOnly": true, - "type": "string" - } - }, - "readOnly": true, - "type": "object" + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" }, - "HostEntity": { + "OfficeATPDataConnector": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/DataConnector" } ], - "description": "Represents a host entity.", + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.", "properties": { "properties": { - "$ref": "#/definitions/HostEntityProperties", - "description": "Host entity properties", + "$ref": "#/definitions/OfficeATPDataConnectorProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Host" + "x-ms-discriminator-value": "OfficeATP" }, - "HostEntityProperties": { + "OfficeATPDataConnectorProperties": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "Host entity property bag.", - "properties": { - "azureID": { - "description": "The azure resource id of the VM.", - "readOnly": true, - "type": "string" - }, - "dnsDomain": { - "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", - "readOnly": true, - "type": "string" - }, - "hostName": { - "description": "The hostname without the domain suffix.", - "readOnly": true, - "type": "string" - }, - "isDomainJoined": { - "description": "Determines whether this host belongs to a domain.", - "readOnly": true, - "type": "boolean" - }, - "netBiosName": { - "description": "The host name (pre-windows2000).", - "readOnly": true, - "type": "string" - }, - "ntDomain": { - "description": "The NT domain that this host belongs to.", - "readOnly": true, - "type": "string" - }, - "omsAgentID": { - "description": "The OMS agent id, if the host has OMS agent installed.", - "readOnly": true, - "type": "string" - }, - "osFamily": { - "description": "The operating system type.", - "enum": [ - "Linux", - "Windows", - "Android", - "IOS" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": false, - "name": "OSFamily", - "values": [ - { - "description": "Host with Linux operating system.", - "value": "Linux" - }, - { - "description": "Host with Windows operating system.", - "value": "Windows" - }, - { - "description": "Host with Android operating system.", - "value": "Android" - }, - { - "description": "Host with IOS operating system.", - "value": "IOS" - } - ] - } + "$ref": "#/definitions/DataConnectorTenantId" }, - "osVersion": { - "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", - "readOnly": true, - "type": "string" + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" } - }, + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", "type": "object" }, - "Incident": { + "OfficeATPCheckRequirements": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" + "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], - "description": "Represents an incident in Azure Security Insights.", + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/IncidentProperties", - "description": "Incident properties", + "$ref": "#/definitions/OfficeATPCheckRequirementsProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "OfficeATP" }, - "IncidentAdditionalData": { - "description": "Incident additional data property bag.", - "properties": { - "alertsCount": { - "description": "The number of alerts in the incident", - "readOnly": true, - "type": "integer" - }, - "bookmarksCount": { - "description": "The number of bookmarks in the incident", - "readOnly": true, - "type": "integer" - }, - "commentsCount": { - "description": "The number of comments in the incident", - "readOnly": true, - "type": "integer" - }, - "alertProductNames": { - "description": "List of product names of alerts in the incident", - "items": { - "description": "Alert product name", - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "tactics": { - "description": "The tactics associated with incident", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "readOnly": true, - "type": "array" + "OfficeATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" } - }, + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", "type": "object" }, - "IncidentComment": { + "OfficeConsent": { "allOf": [ { "$ref": "#/definitions/Resource" } ], - "description": "Represents an incident comment", + "description": "Consent for Office365 tenant that already made.", "properties": { "properties": { - "$ref": "#/definitions/IncidentCommentProperties", - "description": "Incident comment properties", + "$ref": "#/definitions/OfficeConsentProperties", + "description": "Office consent properties", "x-ms-client-flatten": true } }, "type": "object" }, - "IncidentCommentList": { - "description": "List of incident comments.", + "OfficeConsentList": { + "description": "List of all the office365 consents.", "properties": { "nextLink": { - "description": "URL to fetch the next set of comments.", + "description": "URL to fetch the next set of office consents.", "readOnly": true, "type": "string" }, "value": { - "description": "Array of comments.", + "description": "Array of the consents.", "items": { - "$ref": "#/definitions/IncidentComment" + "$ref": "#/definitions/OfficeConsent" }, "type": "array" } @@ -6242,79 +8222,128 @@ "value" ] }, - "IncidentCommentProperties": { - "description": "Incident comment property bag.", + "OfficeConsentProperties": { + "description": "Consent property bag.", "properties": { - "createdTimeUtc": { - "description": "The time the comment was created", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "message": { - "description": "The comment message", + "tenantId": { + "description": "The tenantId of the Office365 with the consent.", "type": "string" }, - "author": { - "$ref": "#/definitions/ClientInfo", - "description": "Describes the client that created the comment", + "tenantName": { + "description": "The tenant name of the Office365 with the consent.", "readOnly": true, - "type": "object" + "type": "string" } }, - "required": [ - "message" - ], "type": "object" }, - "IncidentLabel": { - "description": "Represents an incident label", + "OfficeDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents office data connector.", "properties": { - "labelName": { - "description": "The name of the label", - "type": "string" + "properties": { + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365" + }, + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", + "properties": { + "exchange": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Exchange data type connection.", + "type": "object" }, - "labelType": { - "description": "The type of the label", - "enum": [ - "User", - "System" + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentLabelType", - "values": [ - { - "description": "Label manually created by a user", - "value": "User" - }, - { - "description": "Label automatically created by the system", - "value": "System" - } - ] - } + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "OfficeDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." } }, - "required": [ - "labelName" - ], "type": "object" }, - "IncidentList": { - "description": "List all the incidents.", + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + } + } + }, + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", "properties": { "nextLink": { - "description": "URL to fetch the next set of incidents.", - "readOnly": true, + "description": "URL to fetch the next set of operations.", "type": "string" }, "value": { - "description": "Array of incidents.", + "description": "Array of operations", "items": { - "$ref": "#/definitions/Incident" + "$ref": "#/definitions/Operation" }, "type": "array" } @@ -6323,541 +8352,485 @@ "value" ] }, - "IncidentOwnerInfo": { - "description": "Information on the user an incident is assigned to", + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", "properties": { - "email": { - "description": "The email of the user the incident is assigned to.", - "type": "string" - }, - "assignedTo": { - "description": "The name of the user the incident is assigned to.", - "type": "string" - }, - "objectId": { - "description": "The object id of the user the incident is assigned to.", - "format": "uuid", - "type": "string" - }, - "userPrincipalName": { - "description": "The user principal name of the user the incident is assigned to.", - "type": "string" + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "Process" }, - "IncidentProperties": { - "description": "Describes incident properties", + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", "properties": { - "additionalData": { - "$ref": "#/definitions/IncidentAdditionalData", - "description": "Additional data on the incident", - "readOnly": true, - "type": "object" - }, - "classification": { - "description": "The reason the incident was closed", - "enum": [ - "Undetermined", - "TruePositive", - "BenignPositive", - "FalsePositive" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentClassification", - "values": [ - { - "description": "Incident classification was undetermined", - "value": "Undetermined" - }, - { - "description": "Incident was true positive", - "value": "TruePositive" - }, - { - "description": "Incident was benign positive", - "value": "BenignPositive" - }, - { - "description": "Incident was false positive", - "value": "FalsePositive" - } - ] - } - }, - "classificationComment": { - "description": "Describes the reason the incident was closed", - "type": "string" - }, - "classificationReason": { - "description": "The classification reason the incident was closed with", - "enum": [ - "SuspiciousActivity", - "SuspiciousButExpected", - "IncorrectAlertLogic", - "InaccurateData" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentClassificationReason", - "values": [ - { - "description": "Classification reason was suspicious activity", - "value": "SuspiciousActivity" - }, - { - "description": "Classification reason was suspicious but expected", - "value": "SuspiciousButExpected" - }, - { - "description": "Classification reason was incorrect alert logic", - "value": "IncorrectAlertLogic" - }, - { - "description": "Classification reason was inaccurate data", - "value": "InaccurateData" - } - ] - } - }, - "createdTimeUtc": { - "description": "The time the incident was created", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of the incident", - "type": "string" - }, - "firstActivityTimeUtc": { - "description": "The time of the first activity in the incident", - "format": "date-time", - "type": "string" - }, - "incidentUrl": { - "description": "The deep-link url to the incident in Azure portal", + "accountEntityId": { + "description": "The account entity id running the processes.", "readOnly": true, "type": "string" }, - "incidentNumber": { - "description": "A sequential number", + "commandLine": { + "description": "The command line used to create the process", "readOnly": true, - "type": "integer" - }, - "labels": { - "description": "List of labels relevant to this incident", - "items": { - "$ref": "#/definitions/IncidentLabel" - }, - "type": "array" - }, - "lastActivityTimeUtc": { - "description": "The time of the last activity in the incident", - "format": "date-time", "type": "string" }, - "lastModifiedTimeUtc": { - "description": "The last time the incident was updated", + "creationTimeUtc": { + "description": "The time when the process started to run", "format": "date-time", "readOnly": true, "type": "string" }, - "owner": { - "$ref": "#/definitions/IncidentOwnerInfo", - "description": "Describes a user that the incident is assigned to", - "type": "object" - }, - "relatedAnalyticRuleIds": { - "description": "List of resource ids of Analytic rules related to the incident", - "items": { - "description": "Related Analytic rule resource id", - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "severity": { - "description": "The severity of the incident", - "enum": [ - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentSeverity", - "values": [ - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } - }, - "status": { - "description": "The status of the incident", + "elevationToken": { + "description": "The elevation token associated with the process.", "enum": [ - "New", - "Active", - "Closed" + "Default", + "Full", + "Limited" ], "type": "string", "x-ms-enum": { - "modelAsString": true, - "name": "IncidentStatus", + "modelAsString": false, + "name": "ElevationToken", "values": [ { - "description": "An active incident which isn't being handled currently", - "value": "New" + "description": "Default elevation token", + "value": "Default" }, { - "description": "An active incident which is being handled", - "value": "Active" + "description": "Full elevation token", + "value": "Full" }, { - "description": "A non-active incident", - "value": "Closed" + "description": "Limited elevation token", + "value": "Limited" } ] } }, - "title": { - "description": "The title of the incident", + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, "type": "string" } }, - "required": [ - "title", - "severity", - "status" - ], "type": "object" }, - "IpEntity": { + "RegistryKeyEntity": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents an ip entity.", + "description": "Represents a registry key entity.", "properties": { "properties": { - "$ref": "#/definitions/IpEntityProperties", - "description": "Ip entity properties", + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Ip" + "x-ms-discriminator-value": "RegistryKey" }, - "IpEntityProperties": { + "RegistryKeyEntityProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "Ip entity property bag.", + "description": "RegistryKey entity property bag.", "properties": { - "address": { - "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], "readOnly": true, - "type": "string" - }, - "location": { - "$ref": "#/definitions/GeoLocation", - "description": "The geo-location context attached to the ip entity" + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } }, - "threatIntelligence": { - "description": "A list of TI contexts attached to the ip entity.", - "items": { - "$ref": "#/definitions/ThreatIntelligence" - }, + "key": { + "description": "The registry key path.", "readOnly": true, - "type": "array" + "type": "string" } }, "type": "object" }, - "Label": { - "description": "Label that will be used to tag and filter on.", - "type": "string" - }, - "MCASDataConnector": { + "RegistryValueEntity": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Entity" } ], - "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "description": "Represents a registry value entity.", "properties": { "properties": { - "$ref": "#/definitions/MCASDataConnectorProperties", - "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + "x-ms-discriminator-value": "RegistryValue" }, - "MCASDataConnectorDataTypes": { + "RegistryValueEntityProperties": { "allOf": [ { - "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "description": "RegistryValue entity property bag.", "properties": { - "discoveryLogs": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } + "keyEntityId": { + "description": "The registry key entity id.", + "readOnly": true, + "type": "string" + }, + "valueData": { + "description": "String formatted representation of the value data.", + "readOnly": true, + "type": "string" + }, + "valueName": { + "description": "The registry value name.", + "readOnly": true, + "type": "string" + }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" ], - "description": "Discovery log data type connection.", - "type": "object" - } - }, - "type": "object" - }, - "MCASDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "MCAS (Microsoft Cloud App Security) data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/MCASDataConnectorDataTypes", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "MCASCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/MCASCheckRequirementsProperties", - "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", - "x-ms-client-flatten": true + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } } }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" - }, - "MCASCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", "type": "object" }, - "MDATPDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "RelationList": { + "description": "List of relations.", "properties": { - "properties": { - "$ref": "#/definitions/MDATPDataConnectorProperties", - "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" - }, - "MDATPDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" + "value": { + "description": "Array of relations.", + "type": "array", + "items": { + "$ref": "#/definitions/Relation" + } } - ], - "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", - "type": "object" + }, + "required": [ + "value" + ] }, - "MDATPCheckRequirements": { + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", "allOf": [ { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/MDATPCheckRequirementsProperties", - "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", "x-ms-client-flatten": true } - }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + } }, - "MDATPCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceKind": { + "description": "The resource kind of the related resource", + "readOnly": true, + "type": "string" } + }, + "required": [ + "relatedResourceId" ], - "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", "type": "object" }, - "MalwareEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a malware entity.", + "Resource": { + "description": "An azure resource object", "properties": { - "properties": { - "$ref": "#/definitions/MalwareEntityProperties", - "description": "File entity properties", - "x-ms-client-flatten": true + "id": { + "description": "Azure resource Id", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Azure resource name", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Azure resource type", + "readOnly": true, + "type": "string" } }, - "type": "object", - "x-ms-discriminator-value": "Malware" + "x-ms-azure-resource": true }, - "MalwareEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "Malware entity property bag.", + "ResourceWithEtag": { + "description": "An azure resource object with an Etag property", "properties": { - "category": { - "description": "The malware category by the vendor, e.g. Trojan", + "id": { + "description": "Azure resource Id", "readOnly": true, "type": "string" }, - "fileEntityIds": { - "description": "List of linked file entity identifiers on which the malware was found", - "items": { - "description": "file entity id", - "type": "string" - }, + "name": { + "description": "Azure resource name", "readOnly": true, - "type": "array" + "type": "string" }, - "malwareName": { - "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "type": { + "description": "Azure resource type", "readOnly": true, "type": "string" }, - "processEntityIds": { - "description": "List of linked process entity identifiers on which the malware was found.", - "items": { - "description": "process entity id", - "type": "string" - }, - "readOnly": true, - "type": "array" + "etag": { + "description": "Etag of the azure resource", + "type": "string" } }, - "type": "object" + "x-ms-azure-resource": true }, - "MicrosoftSecurityIncidentCreationAlertRule": { + "ScheduledAlertRule": { "allOf": [ { "$ref": "#/definitions/AlertRule" } ], - "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "description": "Represents scheduled alert rule.", "properties": { "properties": { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", - "description": "MicrosoftSecurityIncidentCreation rule properties", + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + "x-ms-discriminator-value": "Scheduled" }, - "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { - "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "ScheduledAlertRuleCommonProperties": { + "description": "Schedule alert rule template property bag.", "properties": { - "displayNamesFilter": { - "description": "the alerts' displayNames on which the cases will be generated", - "items": { - "type": "string" - }, - "type": "array" + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" }, - "displayNamesExcludeFilter": { - "description": "the alerts' displayNames on which the cases will not be generated", - "items": { - "type": "string" - }, - "type": "array" + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" }, - "productFilter": { - "description": "The alerts' productName on which the cases will be generated", - "enum": [ - "Microsoft Cloud App Security", - "Azure Security Center", - "Azure Advanced Threat Protection", - "Azure Active Directory Identity Protection", - "Azure Security Center for IoT" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "MicrosoftSecurityProductName" - } + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" }, - "severitiesFilter": { - "description": "the alerts' severities on which the cases will be generated", - "items": { - "$ref": "#/definitions/AlertSeverity" - }, - "type": "array" + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "type": "integer" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + } + }, + "type": "object" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" } }, - "required": [ - "productFilter" - ], "type": "object" }, - "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "ScheduledAlertRuleProperties": { "allOf": [ { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" } ], - "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "description": "Scheduled alert rule base property bag.", "properties": { "alertRuleTemplateName": { "description": "The Name of the alert rule template used to create this rule.", @@ -6876,26 +8849,53 @@ "type": "boolean" }, "lastModifiedUtc": { - "description": "The last time that this alert has been modified.", + "description": "The last time that this alert rule has been modified.", "format": "date-time", "readOnly": true, "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" } }, "required": [ "displayName", "enabled", - "productFilter" + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" ], "type": "object" }, - "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "ScheduledAlertRuleTemplate": { "allOf": [ { "$ref": "#/definitions/AlertRuleTemplate" } ], - "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "description": "Represents scheduled alert rule template.", "properties": { "properties": { "allOf": [ @@ -6903,1902 +8903,1751 @@ "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" }, { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" } ], - "description": "MicrosoftSecurityIncidentCreation rule template properties", + "description": "Scheduled alert rule template properties", + "properties": { + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + } + }, "required": [ "displayName", "description", - "createdDateUTC", "status", "alertRulesCreatedByTemplateCount", - "productFilter" + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold" ], "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" - }, - "OfficeConsent": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Consent for Office365 tenant that already made.", - "properties": { - "properties": { - "$ref": "#/definitions/OfficeConsentProperties", - "description": "Office consent properties", - "x-ms-client-flatten": true - } - }, - "type": "object" + "x-ms-discriminator-value": "Scheduled" }, - "OfficeConsentList": { - "description": "List of all the office365 consents.", + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of office consents.", - "readOnly": true, - "type": "string" + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" }, - "value": { - "description": "Array of the consents.", - "items": { - "$ref": "#/definitions/OfficeConsent" - }, - "type": "array" + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" } }, + "type": "object", "required": [ - "value" + "createIncident" ] }, - "OfficeConsentProperties": { - "description": "Consent property bag.", + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", "properties": { - "tenantId": { - "description": "The tenantId of the Office365 with the consent.", - "type": "string" + "enabled": { + "description": "Grouping enabled", + "type": "boolean" }, - "tenantName": { - "description": "The tenant name of the Office365 with the consent.", - "readOnly": true, + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" + }, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", "type": "string" - } - }, - "type": "object" - }, - "OfficeDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents office data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/OfficeDataConnectorProperties", - "description": "Office data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Office365" - }, - "OfficeDataConnectorDataTypes": { - "description": "The available data types for office data connector.", - "properties": { - "exchange": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Exchange data type connection.", - "type": "object" }, - "sharePoint": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } + "entitiesMatchingMethod": { + "description": "Grouping matching method", + "enum": [ + "All", + "None", + "Custom" ], - "description": "SharePoint data type connection.", - "type": "object" - } - }, - "type": "object" - }, - "OfficeDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "Office data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/OfficeDataConnectorDataTypes", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "Operation": { - "description": "Operation provided by provider", - "properties": { - "display": { - "description": "Properties of the operation", - "properties": { - "description": { - "description": "Description of the operation", - "type": "string" - }, - "operation": { - "description": "Operation name", - "type": "string" - }, - "provider": { - "description": "Provider name", - "type": "string" - }, - "resource": { - "description": "Resource name", - "type": "string" + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntitiesMatchingMethod", + "values": [ + { + "description": "Grouping alerts into a single incident if all the entities match", + "value": "All" + }, + { + "description": "Grouping all alerts triggered by this rule into a single incident", + "value": "None" + }, + { + "description": "Grouping alerts into a single incident if the selected entities match", + "value": "Custom" + } + ] + } + }, + "groupByEntities": { + "description": "A list of entity types to group by (when entitiesMatchingMethod is Custom)", + "items": { + "description": "Grouping entity type", + "enum": [ + "Account", + "Host", + "Ip", + "Url" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "GroupingEntityType", + "values": [ + { + "description": "Account entity", + "value": "Account" + }, + { + "description": "Host entity", + "value": "Host" + }, + { + "description": "Ip entity", + "value": "Ip" + }, + { + "description": "Url entity", + "value": "Url" + } + ] } }, - "type": "object" - }, - "name": { - "description": "Name of the operation", - "type": "string" - } - } - }, - "OperationsList": { - "description": "Lists the operations available in the SecurityInsights RP.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of operations.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "items": { - "$ref": "#/definitions/Operation" - }, "type": "array" } }, + "type": "object", "required": [ - "value" + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "entitiesMatchingMethod" ] }, - "ProcessEntity": { + "SecurityAlert": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a process entity.", + "description": "Represents a security alert entity.", "properties": { "properties": { - "$ref": "#/definitions/ProcessEntityProperties", - "description": "Process entity properties", + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Process" + "x-ms-discriminator-value": "SecurityAlert" }, - "ProcessEntityProperties": { + "SecurityAlertProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "Process entity property bag.", + "description": "SecurityAlert entity property bag.", "properties": { - "accountEntityId": { - "description": "The account entity id running the processes.", + "alertDisplayName": { + "description": "The display name of the alert.", "readOnly": true, "type": "string" }, - "commandLine": { - "description": "The command line used to create the process", + "alertType": { + "description": "The type name of the alert.", "readOnly": true, "type": "string" }, - "creationTimeUtc": { - "description": "The time when the process started to run", - "format": "date-time", + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", "readOnly": true, "type": "string" }, - "elevationToken": { - "description": "The elevation token associated with the process.", + "confidenceLevel": { + "description": "The confidence level of this alert.", "enum": [ - "Default", - "Full", - "Limited" + "Unknown", + "Low", + "High" ], + "readOnly": true, "type": "string", "x-ms-enum": { - "modelAsString": false, - "name": "ElevationToken", + "modelAsString": true, + "name": "ConfidenceLevel", "values": [ { - "description": "Default elevation token", - "value": "Default" + "description": "Unknown confidence, the is the default value", + "value": "Unknown" }, { - "description": "Full elevation token", - "value": "Full" + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" }, { - "description": "Limited elevation token", - "value": "Limited" + "description": "High confidence that the alert is true positive malicious", + "value": "High" } ] } }, - "hostEntityId": { - "description": "The host entity id on which the process was running", - "readOnly": true, - "type": "string" - }, - "hostLogonSessionEntityId": { - "description": "The session entity id in which the process was running", - "readOnly": true, - "type": "string" - }, - "imageFileEntityId": { - "description": "Image file entity id", + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" + }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "readOnly": true, - "type": "string" + "type": "array" }, - "parentProcessEntityId": { - "description": "The parent process entity id.", + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", "readOnly": true, - "type": "string" + "type": "number" }, - "processId": { - "description": "The process ID", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RegistryKeyEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a registry key entity.", - "properties": { - "properties": { - "$ref": "#/definitions/RegistryKeyEntityProperties", - "description": "RegistryKey entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "RegistryKey" - }, - "RegistryKeyEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "RegistryKey entity property bag.", - "properties": { - "hive": { - "description": "the hive that holds the registry key.", + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", "enum": [ - "HKEY_LOCAL_MACHINE", - "HKEY_CLASSES_ROOT", - "HKEY_CURRENT_CONFIG", - "HKEY_USERS", - "HKEY_CURRENT_USER_LOCAL_SETTINGS", - "HKEY_PERFORMANCE_DATA", - "HKEY_PERFORMANCE_NLSTEXT", - "HKEY_PERFORMANCE_TEXT", - "HKEY_A", - "HKEY_CURRENT_USER" + "NotApplicable", + "InProcess", + "NotFinal", + "Final" ], "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "RegistryHive", + "name": "ConfidenceScoreStatus", "values": [ { - "description": "HKEY_LOCAL_MACHINE", - "value": "HKEY_LOCAL_MACHINE" - }, - { - "description": "HKEY_CLASSES_ROOT", - "value": "HKEY_CLASSES_ROOT" - }, - { - "description": "HKEY_CURRENT_CONFIG", - "value": "HKEY_CURRENT_CONFIG" - }, - { - "description": "HKEY_USERS", - "value": "HKEY_USERS" - }, - { - "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", - "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" - }, - { - "description": "HKEY_PERFORMANCE_DATA", - "value": "HKEY_PERFORMANCE_DATA" - }, - { - "description": "HKEY_PERFORMANCE_NLSTEXT", - "value": "HKEY_PERFORMANCE_NLSTEXT" - }, - { - "description": "HKEY_PERFORMANCE_TEXT", - "value": "HKEY_PERFORMANCE_TEXT" + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" }, { - "description": "HKEY_A", - "value": "HKEY_A" + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" }, { - "description": "HKEY_CURRENT_USER", - "value": "HKEY_CURRENT_USER" - } - ] - } - }, - "key": { - "description": "The registry key path.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RegistryValueEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a registry value entity.", - "properties": { - "properties": { - "$ref": "#/definitions/RegistryValueEntityProperties", - "description": "RegistryKey entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "RegistryValue" - }, - "RegistryValueEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "RegistryValue entity property bag.", - "properties": { - "keyEntityId": { - "description": "The registry key entity id.", - "readOnly": true, - "type": "string" + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" + }, + { + "description": "Final score was calculated and available", + "value": "Final" + } + ] + } }, - "valueData": { - "description": "String formatted representation of the value data.", + "description": { + "description": "Alert description.", "readOnly": true, "type": "string" }, - "valueName": { - "description": "The registry value name.", + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", "readOnly": true, "type": "string" }, - "valueType": { - "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", "enum": [ - "None", "Unknown", - "String", - "ExpandString", - "Binary", - "DWord", - "MultiString", - "QWord" + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" ], "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "RegistryValueKind", + "name": "KillChainIntent", "values": [ { - "description": "None", - "value": "None" + "description": "The default value.", + "value": "Unknown" }, { - "description": "Unknown value type", - "value": "Unknown" + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" }, { - "description": "String value type", - "value": "String" + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" }, { - "description": "ExpandString value type", - "value": "ExpandString" + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" }, { - "description": "Binary value type", - "value": "Binary" + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" }, { - "description": "DWord value type", - "value": "DWord" + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" }, { - "description": "MultiString value type", - "value": "MultiString" + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" }, { - "description": "QWord value type", - "value": "QWord" + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" + }, + { + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" + }, + { + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" + }, + { + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" + }, + { + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" + }, + { + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" + }, + { + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" } - ] - } - } - }, - "type": "object" - }, - "RelationList": { - "description": "List of relations.", - "properties": { - "nextLink": { - "readOnly": true, - "description": "URL to fetch the next set of relations.", - "type": "string" - }, - "value": { - "description": "Array of relations.", - "type": "array", - "items": { - "$ref": "#/definitions/Relation" - } - } - }, - "required": [ - "value" - ] - }, - "Relation": { - "type": "object", - "description": "Represents a relation between two resources", - "allOf": [ - { - "$ref": "#/definitions/ResourceWithEtag" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RelationProperties", - "description": "Relation properties", - "x-ms-client-flatten": true - } - } - }, - "RelationProperties": { - "description": "Relation property bag.", - "properties": { - "relatedResourceId": { - "description": "The resource ID of the related resource", - "type": "string" - }, - "relatedResourceName": { - "description": "The name of the related resource", - "readOnly": true, - "type": "string" - }, - "relatedResourceType": { - "description": "The resource type of the related resource", - "readOnly": true, - "type": "string" - }, - "relatedResourceKind": { - "description": "The resource kind of the related resource", - "readOnly": true, - "type": "string" - } - }, - "required": [ - "relatedResourceId" - ], - "type": "object" - }, - "Resource": { - "description": "An azure resource object", - "properties": { - "id": { - "description": "Azure resource Id", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Azure resource name", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "Azure resource type", - "readOnly": true, - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ResourceWithEtag": { - "description": "An azure resource object with an Etag property", - "properties": { - "id": { - "description": "Azure resource Id", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Azure resource name", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "Azure resource type", - "readOnly": true, - "type": "string" - }, - "etag": { - "description": "Etag of the azure resource", - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ScheduledAlertRule": { - "allOf": [ - { - "$ref": "#/definitions/AlertRule" - } - ], - "description": "Represents scheduled alert rule.", - "properties": { - "properties": { - "$ref": "#/definitions/ScheduledAlertRuleProperties", - "description": "Scheduled alert rule properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Scheduled" - }, - "ScheduledAlertRuleCommonProperties": { - "description": "Schedule alert rule template property bag.", - "properties": { - "query": { - "description": "The query that creates alerts for this rule.", - "type": "string" - }, - "queryFrequency": { - "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", - "format": "duration", - "type": "string" - }, - "queryPeriod": { - "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", - "format": "duration", - "type": "string" - }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule." - }, - "triggerOperator": { - "$ref": "#/definitions/AlertRuleTriggerOperator", - "description": "The operation against the threshold that triggers alert rule." + ] + } }, - "triggerThreshold": { - "description": "The threshold triggers this alert rule.", - "type": "integer" - } - }, - "type": "object" - }, - "ScheduledAlertRuleProperties": { - "allOf": [ - { - "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" - } - ], - "description": "Scheduled alert rule base property bag.", - "properties": { - "alertRuleTemplateName": { - "description": "The Name of the alert rule template used to create this rule.", + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", + "readOnly": true, "type": "string" }, - "description": { - "description": "The description of the alert rule.", + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", + "readOnly": true, "type": "string" }, - "displayName": { - "description": "The display name for alerts created by this alert rule.", + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", + "readOnly": true, "type": "string" }, - "enabled": { - "description": "Determines whether this alert rule is enabled or disabled.", - "type": "boolean" - }, - "lastModifiedUtc": { - "description": "The last time that this alert rule has been modified.", - "format": "date-time", + "productName": { + "description": "The name of the product which published this alert.", "readOnly": true, "type": "string" }, - "suppressionDuration": { - "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", - "format": "duration", + "productVersion": { + "description": "The version of the product generating the alert.", + "readOnly": true, "type": "string" }, - "suppressionEnabled": { - "description": "Determines whether the suppression for this alert rule is enabled or disabled.", - "type": "boolean" - }, - "tactics": { - "description": "The tactics of the alert rule", + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", "items": { - "$ref": "#/definitions/AttackTactic" + "type": "string" }, + "readOnly": true, "type": "array" }, - "incidentConfiguration": { - "$ref": "#/definitions/IncidentConfiguration", - "description": "The settings of the incidents that created from alerts triggered by this analytics rule" - } - }, - "required": [ - "displayName", - "enabled", - "severity", - "query", - "queryFrequency", - "queryPeriod", - "triggerOperator", - "triggerThreshold", - "suppressionEnabled", - "suppressionDuration" - ], - "type": "object" - }, - "ScheduledAlertRuleTemplate": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplate" - } - ], - "description": "Represents scheduled alert rule template.", - "properties": { - "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - }, - { - "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" - } - ], - "description": "Scheduled alert rule template properties", - "properties": { - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "type": "array" - } - }, - "required": [ - "displayName", - "description", - "status", - "alertRulesCreatedByTemplateCount", - "severity", - "query", - "queryFrequency", - "queryPeriod", - "triggerOperator", - "triggerThreshold" - ], - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Scheduled" - }, - "IncidentConfiguration": { - "description": "Incident Configuration property bag.", - "properties": { - "createIncident": { - "description": "Create incidents from alerts triggered by this analytics rule", - "type": "boolean" - }, - "groupingConfiguration": { - "$ref": "#/definitions/GroupingConfiguration", - "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" - } - }, - "type": "object", - "required": [ - "createIncident" - ] - }, - "GroupingConfiguration": { - "description": "Grouping configuration property bag.", - "properties": { - "enabled": { - "description": "Grouping enabled", - "type": "boolean" - }, - "reopenClosedIncident": { - "description": "Re-open closed matching incidents", - "type": "boolean" + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity of the alert" }, - "lookbackDuration": { - "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", - "format": "duration", + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, "type": "string" }, - "entitiesMatchingMethod": { - "description": "Grouping matching method", + "status": { + "description": "The lifecycle status of the alert.", "enum": [ - "All", - "None", - "Custom" + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" ], + "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "EntitiesMatchingMethod", + "name": "AlertStatus", "values": [ { - "description": "Grouping alerts into a single incident if all the entities match", - "value": "All" + "description": "Unknown value", + "value": "Unknown" }, { - "description": "Grouping all alerts triggered by this rule into a single incident", - "value": "None" + "description": "New alert", + "value": "New" }, { - "description": "Grouping alerts into a single incident if the selected entities match", - "value": "Custom" + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" } ] } }, - "groupByEntities": { - "description": "A list of entity types to group by (when entitiesMatchingMethod is Custom)", + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert", "items": { - "description": "Grouping entity type", - "enum": [ - "Account", - "Host", - "Ip", - "Url" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "GroupingEntityType", - "values": [ - { - "description": "Account entity", - "value": "Account" - }, - { - "description": "Host entity", - "value": "Host" - }, - { - "description": "Ip entity", - "value": "Ip" - }, - { - "description": "Url entity", - "value": "Url" - } - ] - } + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "timeGenerated": { + "description": "The time the alert was generated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, + "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" + }, + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", + "items": { + "type": "object" }, + "readOnly": true, "type": "array" } }, - "type": "object", - "required": [ - "enabled", - "reopenClosedIncident", - "lookbackDuration", - "entitiesMatchingMethod" - ] + "type": "object" }, - "SecurityAlert": { + "SecurityGroupEntity": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a security alert entity.", + "description": "Represents a security group entity.", "properties": { "properties": { - "$ref": "#/definitions/SecurityAlertProperties", - "description": "SecurityAlert entity properties", + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "SecurityAlert" + "x-ms-discriminator-value": "SecurityGroup" }, - "SecurityAlertProperties": { + "SecurityGroupEntityProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "SecurityAlert entity property bag.", + "description": "SecurityGroup entity property bag.", "properties": { - "alertDisplayName": { - "description": "The display name of the alert.", + "distinguishedName": { + "description": "The group distinguished name", "readOnly": true, "type": "string" }, - "alertType": { - "description": "The type name of the alert.", + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", "readOnly": true, "type": "string" }, - "compromisedEntity": { - "description": "Display name of the main entity being reported on.", + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", "readOnly": true, "type": "string" - }, - "confidenceLevel": { - "description": "The confidence level of this alert.", - "enum": [ - "Unknown", - "Low", - "High" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "ConfidenceLevel", - "values": [ - { - "description": "Unknown confidence, the is the default value", - "value": "Unknown" - }, - { - "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", - "value": "Low" - }, - { - "description": "High confidence that the alert is true positive malicious", - "value": "High" - } - ] - } - }, - "confidenceReasons": { - "description": "The confidence reasons", + } + }, + "type": "object" + }, + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", "items": { - "description": "confidence reason item", - "properties": { - "reason": { - "description": "The reason's description", - "readOnly": true, - "type": "string" - }, - "reasonType": { - "description": "The type (category) of the reason", - "readOnly": true, - "type": "string" - } - }, - "type": "object" + "$ref": "#/definitions/Settings" }, - "readOnly": true, "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Settings": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" }, - "confidenceScore": { - "description": "The confidence score of the alert.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "confidenceScoreStatus": { - "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + { + "$ref": "#/definitions/SettingsKind" + } + ], + "description": "The Setting.", + "discriminator": "kind", + "type": "object" + }, + "SettingsKind": { + "description": "Describes an Azure resource with kind.", + "properties": { + "kind": { + "description": "The kind of the setting", "enum": [ - "NotApplicable", - "InProcess", - "NotFinal", - "Final" + "EyesOn", + "EntityAnalytics", + "Ueba" ], - "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "ConfidenceScoreStatus", - "values": [ - { - "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", - "value": "NotApplicable" - }, - { - "description": "No score was set yet and calculation is in progress", - "value": "InProcess" - }, - { - "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", - "value": "NotFinal" - }, - { - "description": "Final score was calculated and available", - "value": "Final" - } - ] + "name": "SettingKind" } - }, - "description": { - "description": "Alert description.", - "readOnly": true, - "type": "string" - }, - "endTimeUtc": { - "description": "The impact end time of the alert (the time of the last event contributing to the alert).", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "intent": { - "description": "Holds the alert intent stage(s) mapping for this alert.", - "enum": [ - "Unknown", - "Probing", - "Exploitation", - "Persistence", - "PrivilegeEscalation", - "DefenseEvasion", - "CredentialAccess", - "Discovery", - "LateralMovement", - "Execution", - "Collection", - "Exfiltration", - "CommandAndControl", - "Impact" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Data connector to pull threat intelligence data from TIP products.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "Threat Intelligence Platforms data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence Platforms data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for Threat Intelligence Platforms data connector.", + "type": "object" + } + }, + "type": "object" + }, + "TIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence Platforms data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "TICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence Platforms data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TICheckRequirementsProperties", + "description": "Threat Intelligence Platforms data connector check required properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence Platforms data connector required properties.", + "properties": {}, + "type": "object" + }, + "TiTaxiiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Data connector to pull Threat intelligence data from TAXII 2.0/2.1 server", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiDataConnectorProperties", + "description": "Threat intelligence TAXII data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence TAXII data connector.", + "properties": { + "taxiiClient": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "KillChainIntent", - "values": [ - { - "description": "The default value.", - "value": "Unknown" - }, - { - "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", - "value": "Probing" - }, - { - "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", - "value": "Exploitation" - }, - { - "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", - "value": "Persistence" - }, - { - "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", - "value": "PrivilegeEscalation" - }, - { - "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", - "value": "DefenseEvasion" - }, - { - "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", - "value": "CredentialAccess" - }, - { - "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", - "value": "Discovery" - }, - { - "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", - "value": "LateralMovement" - }, - { - "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", - "value": "Execution" - }, - { - "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", - "value": "Collection" - }, - { - "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", - "value": "Exfiltration" - }, - { - "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", - "value": "CommandAndControl" - }, - { - "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", - "value": "Impact" - } - ] - } - }, - "providerAlertId": { - "description": "The identifier of the alert inside the product which generated the alert.", - "readOnly": true, + "description": "Data type for TAXII connector.", + "type": "object" + } + }, + "type": "object" + }, + "TiTaxiiDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector properties.", + "properties": { + "workspaceId": { + "description": "The workspace id.", "type": "string" }, - "processingEndTime": { - "description": "The time the alert was made available for consumption.", - "format": "date-time", - "readOnly": true, + "friendlyName": { + "description": "The friendly name for the TAXII server.", "type": "string" }, - "productComponentName": { - "description": "The name of a component inside the product which generated the alert.", - "readOnly": true, + "taxiiServer": { + "description": "The API root for the TAXII server.", "type": "string" }, - "productName": { - "description": "The name of the product which published this alert.", - "readOnly": true, + "collectionId": { + "description": "The collection id of the TAXII server.", "type": "string" }, - "productVersion": { - "description": "The version of the product generating the alert.", - "readOnly": true, + "userName": { + "description": "The userName for the TAXII server.", "type": "string" }, - "remediationSteps": { - "description": "Manual action items to take to remediate the alert.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity of the alert" - }, - "startTimeUtc": { - "description": "The impact start time of the alert (the time of the first event contributing to the alert).", - "format": "date-time", - "readOnly": true, + "password": { + "description": "The password for the TAXII server.", "type": "string" }, - "status": { - "description": "The lifecycle status of the alert.", - "enum": [ - "Unknown", - "New", - "Resolved", - "Dismissed", - "InProgress" - ], + "dataTypes": { + "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", + "description": "The available data types for Threat Intelligence TAXII data connector." + } + }, + "type": "object" + }, + "TiTaxiiCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence TAXII data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", + "description": "Threat Intelligence TAXII check required properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector required properties.", + "type": "object" + }, + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertStatus", - "values": [ - { - "description": "Unknown value", - "value": "Unknown" - }, - { - "description": "New alert", - "value": "New" - }, - { - "description": "Alert closed after handling", - "value": "Resolved" - }, - { - "description": "Alert dismissed as false positive", - "value": "Dismissed" - }, - { - "description": "Alert is being handled", - "value": "InProgress" - } - ] - } + "type": "number" }, - "systemAlertId": { - "description": "Holds the product identifier of the alert for the product.", + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", "readOnly": true, "type": "string" }, - "tactics": { - "description": "The tactics of the alert", - "items": { - "$ref": "#/definitions/AttackTactic" - }, + "reportLink": { + "description": "Report link", "readOnly": true, - "type": "array" + "type": "string" }, - "timeGenerated": { - "description": "The time the alert was generated.", - "format": "date-time", + "threatDescription": { + "description": "Threat description (free text)", "readOnly": true, "type": "string" }, - "vendorName": { - "description": "The name of the vendor that raise the alert.", + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", "readOnly": true, "type": "string" }, - "alertLink": { - "description": "The uri link of the alert.", + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", "readOnly": true, "type": "string" - }, - "resourceIdentifiers": { - "description": "The list of resource identifiers of the alert.", - "items": { - "type": "object" - }, + } + }, + "type": "object" + }, + "EyesOn": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EyesOn" + }, + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", "readOnly": true, - "type": "array" + "type": "boolean" } }, "type": "object" }, - "SecurityGroupEntity": { + "EntityAnalytics": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/Settings" } ], - "description": "Represents a security group entity.", + "description": "Settings with single toggle.", "properties": { "properties": { - "$ref": "#/definitions/SecurityGroupEntityProperties", - "description": "SecurityGroup entity properties", + "$ref": "#/definitions/EntityAnalyticsProperties", + "description": "EntityAnalytics properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "SecurityGroup" + "x-ms-discriminator-value": "EntityAnalytics" }, - "SecurityGroupEntityProperties": { + "EntityAnalyticsProperties": { + "description": "EntityAnalytics property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Ueba": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" + "$ref": "#/definitions/Settings" } ], - "description": "SecurityGroup entity property bag.", + "description": "Settings with single toggle.", "properties": { - "distinguishedName": { - "description": "The group distinguished name", - "readOnly": true, - "type": "string" - }, - "objectGuid": { - "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", - "format": "uuid", - "readOnly": true, - "type": "string" - }, - "sid": { - "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", - "readOnly": true, - "type": "string" + "properties": { + "$ref": "#/definitions/UebaProperties", + "description": "Ueba properties", + "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "Ueba" }, - "SettingList": { - "description": "List of all the settings.", + "UebaProperties": { + "description": "Ueba property bag.", "properties": { - "value": { - "description": "Array of settings.", + "dataSources": { + "description": "The relevant data sources that enriched by ueba", "items": { - "$ref": "#/definitions/Settings" + "$ref": "#/definitions/UebaDataSources" }, "type": "array" } }, - "required": [ - "value" - ] + "type": "object" }, - "Settings": { + "UebaDataSources": { + "description": "The data source that enriched by ueba.", + "enum": [ + "AuditLogs", + "AzureActivity", + "SecurityEvent", + "SigninLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "UebaDataSources" + } + }, + "UrlEntity": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/SettingsKind" + "$ref": "#/definitions/Entity" } ], - "description": "The Setting.", - "discriminator": "kind", - "type": "object" - }, - "SettingsKind": { - "description": "Describes an Azure resource with kind.", + "description": "Represents a url entity.", "properties": { - "kind": { - "description": "The kind of the setting", - "enum": [ - "EyesOn" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "SettingKind" - } + "properties": { + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", + "x-ms-client-flatten": true } }, - "required": [ - "kind" + "type": "object", + "x-ms-discriminator-value": "Url" + }, + "UrlEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } ], + "description": "Url entity property bag.", + "properties": { + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" + } + }, "type": "object" }, - "TIDataConnector": { + "IoTDeviceEntity": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Entity" } ], - "description": "Represents threat intelligence data connector.", + "description": "Represents an IoT device entity.", "properties": { "properties": { - "$ref": "#/definitions/TIDataConnectorProperties", - "description": "TI (Threat Intelligence) data connector properties.", + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "ThreatIntelligence" + "x-ms-discriminator-value": "IoTDevice" }, - "TIDataConnectorDataTypes": { - "description": "The available data types for TI (Threat Intelligence) data connector.", + "IoTDeviceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "IoTDevice entity property bag.", "properties": { - "indicators": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "UserInfo": { + "description": "User information that made some action", + "properties": { + "email": { + "description": "The email of the user.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the user.", + "readOnly": true, + "type": "string" + }, + "objectId": { + "description": "The object id of the user.", + "format": "uuid", + "type": "string", + "x-nullable": true + } + }, + "type": "object" + }, + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", + "properties": { + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "enum": [ + "Critical", + "High", + "Medium", + "Low", + "Informational" ], - "description": "Data type for indicators connection.", - "type": "object" + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CaseSeverity", + "values": [ + { + "description": "Critical severity", + "value": "Critical" + }, + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" } }, - "type": "object" - }, - "TIDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } + "required": [ + "incidentId", + "severity", + "title", + "relationName" ], - "description": "TI (Threat Intelligence) data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/TIDataConnectorDataTypes", - "description": "The available data types for the connector." - } - }, "type": "object" }, - "TICheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents threat intelligence requirements check request.", + "WatchlistList": { + "description": "List all the watchlists.", "properties": { - "properties": { - "$ref": "#/definitions/TICheckRequirementsProperties", - "description": "TI (Threat Intelligence) requirements check properties.", - "x-ms-client-flatten": true + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" } }, - "type": "object", - "x-ms-discriminator-value": "ThreatIntelligence" - }, - "TICheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "TI (Threat Intelligence) requirements check properties.", - "properties": {}, - "type": "object" + "required": [ + "value" + ] }, - "TiTaxiiDataConnector": { + "Watchlist": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Represents threat intelligence taxii data connector.", + "description": "Represents a Watchlist in Azure Security Insights.", "properties": { "properties": { - "$ref": "#/definitions/TiTaxiiDataConnectorProperties", - "description": "Threat intelligence taxii client data connector properties.", + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "ThreatIntelligenceTaxii" - }, - "TiTaxiiDataConnectorDataTypes": { - "description": "The available data types for Threat Intelligence taxii client data connector.", - "properties": { - "taxiiClient": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Data type for taxii client.", - "type": "object" - } - }, "type": "object" }, - "TiTaxiiDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "Threat Intelligence taxii client data connector properties.", + "WatchlistProperties": { + "description": "Describes watchlist properties", "properties": { - "workspaceId": { - "description": "The workspace id.", + "createdTimeUtc": { + "description": "The time the watchlist was created", + "format": "date-time", "type": "string" }, - "friendlyName": { - "description": "The friendly name for taxii client connector.", + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "displayName": { + "description": "The display name of the watchlist", "type": "string" }, - "taxiiServer": { - "description": "The API root server for taxii client.", + "watchlistType": { + "description": "The type of the watchlist", "type": "string" }, - "collectionId": { - "description": "The taxii collection id.", + "source": { + "description": "The source of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "source" + } + }, + "provider": { + "description": "The provider of the watchlist", "type": "string" }, - "userName": { - "description": "The taxii server user name.", + "description": { + "description": "A description of the watchlist", "type": "string" }, - "password": { - "description": "The taxii server password.", + "tenantId": { + "description": "The tenantId where the watchlist belongs to.", "type": "string" }, - "dataTypes": { - "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", - "description": "The available data types for the connector." + "workspaceId": { + "description": "The workspaceId where the watchlist belongs to.", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the watchlist", + "type": "string" + }, + "lastUpdatedTimeUtc": { + "description": "The last time the watchlist was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "watchlistItems": { + "description": "List of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" } }, + "required": [ + "displayName", + "source", + "provider" + ], "type": "object" }, - "TiTaxiiCheckRequirements": { + "WatchlistItem": { "allOf": [ { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "$ref": "#/definitions/Resource" } ], - "description": "Represents threat intelligence requirements check request.", + "description": "Represents a Watchlist Item in Azure Security Insights.", "properties": { "properties": { - "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", - "description": "Ti Taxii (Threat Intelligence Taxii) requirements check properties.", + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist item properties", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "ThreatIntelligenceTaxii" - }, - "TiTaxiiCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "Threat Intelligence taxii client data connector properties.", "type": "object" }, - "ThreatIntelligence": { - "description": "ThreatIntelligence property bag.", + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", "properties": { - "confidence": { - "description": "Confidence (must be between 0 and 1)", - "format": "double", - "readOnly": true, - "type": "number" + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" }, - "providerName": { - "description": "Name of the provider from whom this Threat Intelligence information was received", - "readOnly": true, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "watchlistItemName": { + "description": "Name of the watchlist item", "type": "string" }, - "reportLink": { - "description": "Report link", - "readOnly": true, + "watchlistItemPair": { + "description": "A key-value pair for a watchlist item", + "type": "object" + }, + "entityMapping": { + "description": "A key-value pair for a watchlist item entity mapping", + "type": "object" + }, + "tenantId": { + "description": "The tenantId to which this watchlist item belongs to", "type": "string" }, - "threatDescription": { - "description": "Threat description (free text)", - "readOnly": true, + "createdTimeUtc": { + "description": "The time the watchlist item was created", + "format": "date-time", "type": "string" }, - "threatName": { - "description": "Threat name (e.g. \"Jedobot malware\")", - "readOnly": true, + "lastUpdatedTimeUtc": { + "description": "The last time the watchlist item was updated", + "format": "date-time", "type": "string" }, - "threatType": { - "description": "Threat type (e.g. \"Botnet\")", + "timeToLiveUtc": { + "description": "The time to live for the watchlist item", + "format": "date-time", + "type": "string" + }, + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistId": { + "description": "The watchlist id of the parent of this watchlist item", + "type": "string" + } + }, + "required": [ + "watchlistId", + "watchlistItemPair" + ], + "type": "object" + }, + "ThreatIntelligenceResourceList": { + "description": "List of all the threat intelligence entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", "readOnly": true, "type": "string" + }, + "value": { + "description": "Array of threat intelligence entities.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceResource" + }, + "type": "array" } }, - "type": "object" + "required": [ + "value" + ] }, - "EyesOn": { + "ThreatIntelligenceResource": { "allOf": [ { - "$ref": "#/definitions/Settings" + "$ref": "#/definitions/ResourceWithEtag" + }, + { + "$ref": "#/definitions/ThreatIntelligenceResourceKind" } ], - "description": "Settings with single toggle.", - "properties": { - "properties": { - "$ref": "#/definitions/EyesOnSettingsProperties", - "description": "EyesOn properties", - "x-ms-client-flatten": true - } - }, + "description": "Threat intelligence resource.", + "discriminator": "kind", "type": "object", - "x-ms-discriminator-value": "EyesOn" - }, - "EyesOnSettingsProperties": { - "description": "EyesOn property bag.", - "properties": { - "isEnabled": { - "description": "Determines whether the setting is enable or disabled.", - "readOnly": true, - "type": "boolean" - } - }, - "type": "object" + "required": [ + "kind" + ] }, - "UrlEntity": { + "ThreatIntelligenceIndicatorModel": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/ThreatIntelligenceResource" } ], - "description": "Represents a url entity.", + "description": "Threat intelligence indicator entity.", "properties": { "properties": { - "$ref": "#/definitions/UrlEntityProperties", - "description": "Url entity properties", + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Url" + "x-ms-discriminator-value": "indicator" }, - "UrlEntityProperties": { + "ThreatIntelligenceIndicatorWithoutReadOnlyFields": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" + "$ref": "#/definitions/ThreatIntelligenceResourceKind" } ], - "description": "Url entity property bag.", + "description": "Threat intelligence indicator entity.", "properties": { - "url": { - "description": "A full URL the entity points to", - "readOnly": true, + "etag": { + "description": "Etag of the azure resource", "type": "string" + }, + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "indicator" }, - "IoTDeviceEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents an IoT device entity.", + "ThreatIntelligenceResourceKind": { + "description": "Describes an entity with kind.", "properties": { - "properties": { - "$ref": "#/definitions/IoTDeviceEntityProperties", - "description": "IoTDevice entity properties", - "x-ms-client-flatten": true + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." } }, - "type": "object", - "x-ms-discriminator-value": "IoTDevice" + "required": [ + "kind" + ], + "type": "object" }, - "IoTDeviceEntityProperties": { + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceKind", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "IoTDevice entity property bag.", + "description": "Describes threat intelligence entity properties", "properties": { - "deviceId": { - "description": "The ID of the IoT Device in the IoT Hub", - "readOnly": true, - "type": "string" + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array" }, - "iotSecurityAgentId": { - "description": "The ID of the security agent running on the device", - "format": "uuid", - "readOnly": true, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", "type": "string" }, - "deviceType": { - "description": "The type of the device", - "readOnly": true, + "source": { + "description": "Source of a threat intelligence entity", "type": "string" }, - "vendor": { - "description": "The vendor of the device", - "readOnly": true, + "displayName": { + "description": "Display name of a threat intelligence entity", "type": "string" }, - "edgeId": { - "description": "The ID of the edge device", - "readOnly": true, + "description": { + "description": "Description of a threat intelligence entity", "type": "string" }, - "iotHubEntityId": { - "description": "The AzureResource entity id of the IoT Hub", - "readOnly": true, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array" + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", "type": "string" }, - "hostEntityId": { - "description": "The Host entity id of this device", - "readOnly": true, + "patternType": { + "description": "Pattern type of a threat intelligence entity", "type": "string" }, - "threatIntelligence": { - "description": "A list of TI contexts attached to the IoTDevice entity.", + "killChainPhases": { + "description": "Kill chain phases", "items": { - "$ref": "#/definitions/ThreatIntelligence" + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" }, - "readOnly": true, "type": "array" - } - }, - "type": "object" - }, - "UserInfo": { - "description": "User information that made some action", - "properties": { - "email": { - "description": "The email of the user.", - "readOnly": true, - "type": "string" }, - "name": { - "description": "The name of the user.", - "readOnly": true, + "externalId": { + "description": "External ID of threat intelligence entity", "type": "string" }, - "objectId": { - "description": "The object id of the user.", - "format": "uuid", - "type": "string", - "x-nullable": true - } - }, - "type": "object" - }, - "IncidentInfo": { - "description": "Describes related incident information for the bookmark", - "properties": { - "incidentId": { - "description": "Incident Id", + "createdByRef": { + "description": "Created by reference of threat intelligence entity", "type": "string" }, - "severity": { - "description": "The severity of the incident", - "enum": [ - "Critical", - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "CaseSeverity", - "values": [ - { - "description": "Critical severity", - "value": "Critical" - }, - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "type": "string" + }, + "type": "array" }, - "title": { - "description": "The title of the incident", - "type": "string" + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array" }, - "relationName": { - "description": "Relation Name", - "type": "string" - } - }, - "required": [ - "incidentId", - "severity", - "title", - "relationName" - ], - "type": "object" - }, - "WatchlistList": { - "description": "List all the watchlists.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of watchlists.", - "readOnly": true, - "type": "string" + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" }, - "value": { - "description": "Array of watchlist.", + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "labels": { + "description": "Labels of threat intelligence entity", "items": { - "$ref": "#/definitions/Watchlist" + "description": "label", + "type": "string" }, "type": "array" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array" + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" } - }, - "required": [ - "value" - ] - }, - "Watchlist": { - "allOf": [ - { - "$ref": "#/definitions/ResourceWithEtag" - } - ], - "description": "Represents a Watchlist in Azure Security Insights.", + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", "properties": { - "properties": { - "$ref": "#/definitions/WatchlistProperties", - "description": "Watchlist properties", - "x-ms-client-flatten": true + "killChainName": { + "description": "Kill chainName name", + "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "integer", + "format": "int32" } }, "type": "object" }, - "WatchlistProperties": { - "description": "Describes watchlist properties", + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", "properties": { - "createdTimeUtc": { - "description": "The time the watchlist was created", - "format": "date-time", + "language": { + "description": "Language granular marking model", "type": "string" }, - "createdBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that created the watchlist", - "type": "object" - }, - "displayName": { - "description": "The display name of the watchlist", - "type": "string" + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" }, - "watchlistType": { - "description": "The type of the watchlist", - "type": "string" + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceArmStixQuery": { + "description": "Describes threat intelligence ARM STIX query", + "properties": { + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" }, - "source": { - "description": "The source of the watchlist", - "enum": [ - "Local file", - "Remote storage" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "source" - } + "minConfidence": { + "description": "Minimum confidence", + "type": "integer", + "format": "int32" }, - "provider": { - "description": "The provider of the watchlist", - "type": "string" + "maxConfidence": { + "description": "Maximum confidence", + "type": "integer", + "format": "int32" }, - "description": { - "description": "A description of the watchlist", + "minValidUntil": { + "description": "Minimum Valid until", "type": "string" }, - "tenantId": { - "description": "The tenantId where the watchlist belongs to.", + "maxValidUntil": { + "description": "Maximum Valid until", "type": "string" }, - "workspaceId": { - "description": "The workspaceId where the watchlist belongs to.", - "type": "string" + "includeDisabled": { + "description": "To include disabled indicators", + "type": "boolean" }, - "labels": { - "description": "List of labels relevant to this watchlist", + "sortBy": { + "description": "List of Sort rules", "items": { - "$ref": "#/definitions/Label" + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceArmStixSortBy" }, "type": "array" }, - "notes": { - "description": "The notes of the watchlist", - "type": "string" + "sources": { + "description": "Sources of a threat intelligence entity", + "items": { + "description": "Source", + "type": "string" + }, + "type": "array" }, - "lastUpdatedTimeUtc": { - "description": "The last time the watchlist was updated", - "format": "date-time", - "type": "string" + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array" }, - "updatedBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that updated the watchlist", - "type": "object" + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array" }, - "defaultDuration": { - "description": "The default duration of a watchlist (in ISO 8601 duration format)", - "format": "duration", - "type": "string" + "ids": { + "description": "Ids of threat intelligence entities", + "items": { + "description": "Id of a threat intelligence entity", + "type": "string" + }, + "type": "array" }, - "watchlistItems": { - "description": "List of watchlist items.", + "keywords": { + "description": "Keywords of threat intelligence entities", "items": { - "$ref": "#/definitions/WatchlistItem" + "description": "keyword of a threat intelligence entity", + "type": "string" }, "type": "array" + }, + "skipToken": { + "description": "Skip Token", + "type": "string" } }, - "required": [ - "displayName", - "source", - "provider" - ], "type": "object" }, - "WatchlistItem": { - "allOf": [ - { - "$ref": "#/definitions/Resource" + "ThreatIntelligenceArmStixSortBy": { + "description": "Describes an threat intelligence ARM STIX Sort By", + "properties": { + "itemKey": { + "description": "Item key", + "type": "string" + }, + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceArmStixSortOrder", + "description": "Sort order." } + }, + "type": "object" + }, + "ThreatIntelligenceArmStixSortOrder": { + "description": "Describes an threat intelligence ARM STIX Sort Order", + "enum": [ + "unsorted", + "ascending", + "descending" ], - "description": "Represents a Watchlist Item in Azure Security Insights.", + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceArmStixSortBy", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTagsRequestBody": { + "description": "Describes threat intelligence indicator append tags request body", "properties": { - "properties": { - "$ref": "#/definitions/WatchlistItemProperties", - "description": "Watchlist item properties", - "x-ms-client-flatten": true + "threatIntelligenceTags": { + "description": "List of threat intelligence tags", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "WatchlistItemProperties": { - "description": "Describes watchlist item properties", + "ThreatIntelligenceMetricResourceList": { + "description": "List of all the threat intelligence metric resource.", + "properties": { + "value": { + "description": "Array of threat intelligence metrics resource.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetricResource" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "ThreatIntelligenceMetricResource": { + "description": "Threat intelligence metric resource.", + "properties": { + "properties": { + "description": "Threat intelligence metric.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + } + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", "properties": { - "createdBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that created the watchlist", - "type": "object" - }, - "updatedBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that updated the watchlist", - "type": "object" - }, - "watchlistItemName": { - "description": "Name of the watchlist item", - "type": "string" - }, - "watchlistItemPair": { - "description": "A key-value pair for a watchlist item", - "type": "object" - }, - "entityMapping": { - "description": "A key-value pair for a watchlist item entity mapping", - "type": "object" - }, - "tenantId": { - "description": "The tenantId to which this watchlist item belongs to", - "type": "string" - }, - "createdTimeUtc": { - "description": "The time the watchlist item was created", - "format": "date-time", - "type": "string" - }, "lastUpdatedTimeUtc": { - "description": "The last time the watchlist item was updated", - "format": "date-time", + "description": "Time Metric", "type": "string" }, - "timeToLiveUtc": { - "description": "The time to live for the watchlist item", - "format": "date-time", - "type": "string" + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" }, - "watchlistItemType": { - "description": "The type of the watchlist item", - "type": "string" + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" }, - "watchlistId": { - "description": "The watchlist id of the parent of this watchlist item", + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" } }, - "required": [ - "watchlistId", - "watchlistItemPair" - ], "type": "object" } }, @@ -8985,6 +10834,16 @@ }, "x-ms-parameter-location": "method" }, + "EntityTimelineRequestBody": { + "description": "The parameters required to execute an timeline operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityTimelineParameters" + }, + "x-ms-parameter-location": "method" + }, "EntityId": { "description": "entity ID", "in": "path", @@ -9118,7 +10977,7 @@ "x-ms-parameter-location": "method" }, "SettingsName": { - "description": "The setting name. Supports- EyesOn", + "description": "The setting name. Supports - EyesOn, EntityAnalytics, Ueba", "in": "path", "name": "settingsName", "required": true, @@ -9160,6 +11019,62 @@ "$ref": "#/definitions/Watchlist" }, "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIdentifier": { + "description": "Threat Intelligence Identifier", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorObjectToUpsert": { + "description": "The threat intelligence entity properties for upsert", + "in": "body", + "name": "ThreatIntelligenceIndicatorObjectToUpsert", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorWithoutReadOnlyFields" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTagsModel": { + "description": "The threat intelligence entity properties for updating tags", + "in": "body", + "name": "ThreatIntelligenceReplaceTagsModel", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorWithoutReadOnlyFields" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceArmStixQuery": { + "description": "The threat intelligence ARM STIX query", + "in": "body", + "name": "ThreatIntelligenceArmStixQuery", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceArmStixQuery" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTagsRequestBody": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTagsRequestBody", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTagsRequestBody" + }, + "x-ms-parameter-location": "method" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json index b85ce69bbb1d..71168e4b9897 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -23,6 +23,9 @@ "triggerThreshold": 0, "displayName": "Changes to Amazon VPC settings", "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "tactics": [ "PrivilegeEscalation", "LateralMovement" diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json index 26fe44559cda..c03e8e794cbd 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json @@ -25,6 +25,9 @@ "triggerThreshold": 0, "suppressionDuration": "PT1H", "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { @@ -67,6 +70,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json index a82531d8b2d4..ccf7c6c6ed5d 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json @@ -34,6 +34,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json index 25a9d7240913..d4dc43f15071 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json @@ -33,6 +33,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json new file mode 100644 index 000000000000..2e1b31f61760 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "DataConnectorsCheckRequirements": { + "kind": "OfficeATP", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json index 5a843a956be8..7bab944cb7e8 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -17,6 +17,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } @@ -38,6 +41,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } @@ -58,6 +64,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json index 6c783118cb3b..d5cc1b3077fc 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json @@ -156,6 +156,21 @@ } } } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } } ] } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json new file mode 100644 index 000000000000..cf6f4020b451 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json index 7a9e73d1c7ce..2ba766091cf3 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -23,6 +23,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/timeline/PostTimelineEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/timeline/PostTimelineEntity.json new file mode 100644 index 000000000000..c242ec21b288 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/timeline/PostTimelineEntity.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "numberOfBucket": 4, + "startTime": "2019-04-25T00:00:00.000Z", + "endTime": "2019-05-26T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "SecurityAlert", + "azureResourceId": "4467341f-fb73-4f99-a9b3-29473532cf5a_bf7c3a2f-b743-6410-3ff0-ec64b5995d50", + "productName": "Azure Sentinel", + "displayName": "Alert display name", + "severity": "Medium", + "endTimeUtc": "2020-08-29T23:31:28.02Z", + "startTimeUtc": "2020-08-28T23:32:28.01Z", + "timeGenerated": "2020-08-29T23:37:25.8136594Z", + "alertType": "4467341f-fb73-4f99-a9b3-29473532cf5a_c93bf33e-055e-4972-9e7d-f84fe3fb61ae" + }, + { + "kind": "Activity", + "queryId": "e0459780-ac9d-4b72-8bd4-fecf6b46a0a1", + "bucketStartTimeUTC": "2020-08-29T21:31:28.02Z", + "bucketEndTimeUTC": "2020-08-29T23:31:28.02Z", + "firstActivityTimeUTC": "2020-08-29T21:35:28.02Z", + "lastActivityTimeUTC": "2020-08-29T21:35:28.02Z", + "content": "he user has deleted the account 3 time(s)", + "title": "The user has deleted an account" + } + ], + "metaData": { + "totalCount": 6, + "aggregations": [ + { + "count": 4, + "kind": "Activity" + }, + { + "count": 2, + "kind": "SecurityAlert" + } + ], + "errors": [ + { + "kind": "Activity", + "queryId": "11067f9f-d6a7-4488-887f-0ba564268879", + "errorMessage": "syntax error" + }, + { + "kind": "SecurityAlert", + "errorMessage": "internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentAlerts.json new file mode 100644 index 000000000000..4a543ecd8e07 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentAlerts.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "name": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "tactics": [], + "alertDisplayName": "myAlert", + "confidenceLevel": "Unknown", + "severity": "Low", + "vendorName": "Microsoft", + "productName": "Azure Security Center", + "alertType": "myAlert", + "processingEndTime": "2020-07-20T18:21:53.6158361Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.6158361Z", + "startTimeUtc": "2020-07-20T18:21:53.6158361Z", + "timeGenerated": "2020-07-20T18:21:53.6158361Z", + "resourceIdentifiers": [ + { + "type": "LogAnalytics", + "workspaceId": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroup": "myRG" + } + ], + "additionalData": { + "AlertMessageEnqueueTime": "2020-07-20T18:21:57.304Z" + }, + "friendlyName": "myAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json new file mode 100644 index 000000000000..711caaffaf16 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/afbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/bbbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "bbbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "303ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json index e82cacf4bc78..40faabcdc088 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json @@ -14,14 +14,35 @@ } }, "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + }, "201": { "body": { "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c622adb0000", "properties": { "message": "Some message", "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", "author": { "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", "email": "john.doe@contoso.com", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json new file mode 100644 index 000000000000..77d29e520f83 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json index 87dbdd886e30..b820b7626c63 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json @@ -15,9 +15,11 @@ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", "properties": { "message": "Some message", "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", "author": { "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", "email": "john.doe@contoso.com", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json index fe757de317b3..315f614edc5e 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json @@ -14,9 +14,11 @@ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", "properties": { "message": "Some message", "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", "author": { "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", "email": "john.doe@contoso.com", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json new file mode 100644 index 000000000000..4db37d3eb932 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..127198b2179d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTagsRequestBody": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..2755c5120c4f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2020-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..1b6935e0a3b7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ThreatIntelligenceIndicatorObjectToUpsert": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..76f6009ce7ec --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..ceec827d2de5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..a3185f2a44bb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..da7b93120aa6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ThreatIntelligenceArmStixQuery": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2020-04-05T17:44:00.114052Z", + "maxValidUntil": "2020-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..c2bd89dcf026 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTagsModel": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json new file mode 100644 index 000000000000..0b8345af8e3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceIndicatorObjectToUpsert": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/readme.azureresourceschema.md b/specification/securityinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c1616a19b90a --- /dev/null +++ b/specification/securityinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-securityinsights-2020-01-01 + - tag: schema-securityinsights-2019-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-securityinsights-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-securityinsights-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json + +``` + +### Tag: schema-securityinsights-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-securityinsights-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json + +``` diff --git a/specification/securityinsights/resource-manager/readme.go.md b/specification/securityinsights/resource-manager/readme.go.md index 0d9fb50cbd7c..0398622f6b2f 100644 --- a/specification/securityinsights/resource-manager/readme.go.md +++ b/specification/securityinsights/resource-manager/readme.go.md @@ -23,7 +23,7 @@ These settings apply only when `--tag=package-composite-v1 --go` is specified on Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-composite-v1' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/v1.0/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/v1.0/$(namespace) ``` ### Tag: package-2019-01-preview-only and go diff --git a/specification/securityinsights/resource-manager/readme.md b/specification/securityinsights/resource-manager/readme.md index c49bc63d957a..e9bf77101153 100644 --- a/specification/securityinsights/resource-manager/readme.md +++ b/specification/securityinsights/resource-manager/readme.md @@ -52,6 +52,12 @@ These settings apply only when `--tag=package-2019-01-preview-only` is specified ```yaml $(tag) == 'package-2019-01-preview-only' input-file: - Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json +directive: + - suppress: R4017 + from: Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json + where: $.definitions.ThreatIntelligenceResource + reason: Our API is designed based on per region per workspace concept. There is no use case of our customers to get all indicators in multiple workspaces. + approved-by: "@cheggert" ``` --- @@ -71,6 +77,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js securityinsights/resource-manager ``` ## C# @@ -104,28 +113,7 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md) 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.SecurityInsights/stable/2020-01-01/SecurityInsights.json - - $(this-folder)/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/serialconsole/resource-manager/readme.azureresourceschema.md b/specification/serialconsole/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3b81576bee0f --- /dev/null +++ b/specification/serialconsole/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-serialconsole-2018-05-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-serialconsole-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-serialconsole-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SerialConsole/stable/2018-05-01/serialconsole.json + +``` diff --git a/specification/serialconsole/resource-manager/readme.md b/specification/serialconsole/resource-manager/readme.md index f6b832b4ef9e..5d0c5c41e52b 100644 --- a/specification/serialconsole/resource-manager/readme.md +++ b/specification/serialconsole/resource-manager/readme.md @@ -47,6 +47,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js serialconsole/resource-manager ``` ## C# @@ -64,27 +67,7 @@ csharp: See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.SerialConsole/stable/2018-05-01/serialconsole.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/service-map/resource-manager/readme.azureresourceschema.md b/specification/service-map/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a92884d7690c --- /dev/null +++ b/specification/service-map/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-operationalinsights-2015-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationalinsights-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json + +``` diff --git a/specification/service-map/resource-manager/readme.md b/specification/service-map/resource-manager/readme.md index cfe3a0b35022..9050b2e25e2f 100644 --- a/specification/service-map/resource-manager/readme.md +++ b/specification/service-map/resource-manager/readme.md @@ -68,6 +68,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js service-map/resource-manager ``` ## Go @@ -110,27 +113,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.OperationalInsights/preview/2015-11-01-preview/arm-service-map.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json new file mode 100644 index 000000000000..f02d9ac717c8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json @@ -0,0 +1,278 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/ipfilterrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListIpFilterRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIPFilterRuleListAll.json" + } + }, + "description": "Gets a list of IP Filter 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 IpFilterRule successfully returned.", + "schema": { + "$ref": "#/definitions/IpFilterRuleListResult" + } + }, + "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}/ipfilterrules/{ipFilterRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleCreate": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "The Namespace IpFilterRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule created", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleDelete": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleDelete.json" + } + }, + "description": "Deletes an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule 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" + ], + "operationId": "Namespaces_GetIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleGet": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleGet.json" + } + }, + "description": "Gets an IpFilterRule 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/IpFilterRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule returned successfully.", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "IpFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Accept", + "Reject" + ], + "x-ms-enum": { + "name": "IPAction", + "modelAsString": true + } + }, + "filterName": { + "type": "string", + "description": "IP Filter name" + } + }, + "description": "Properties supplied to create or update IpFilterRules" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in a List or Get IpFilterRules operation" + }, + "IpFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "Result of the List IpFilter Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" + } + }, + "description": "The response from the List namespace operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json new file mode 100644 index 000000000000..adaa6ddb1ec1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json @@ -0,0 +1,218 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "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" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace NetworkRuleSet." + } + ], + "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": { + "NameSpaceVirtualNetworkRuleSetget": { + "$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" + } + } + } + } + } + }, + "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": { + "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" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of topic resource." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json new file mode 100644 index 000000000000..317ff3dcc018 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListVirtualNetworkRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleListAll.json" + } + }, + "description": "Gets a list of VirtualNetwork 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 VirtualNetworkRule successfully returned.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRuleListResult" + } + }, + "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}/virtualnetworkrules/{virtualNetworkRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The Namespace VirtualNetworkRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule created", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleDelete": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleDelete.json" + } + }, + "description": "Deletes an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule 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" + ], + "operationId": "Namespaces_GetVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleGet.json" + } + }, + "description": "Gets an VirtualNetworkRule 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/VirtualNetworkRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule returned successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "VirtualNetworkRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "virtualNetworkSubnetId": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied to create or update VirtualNetworkRules" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in a List or Get VirtualNetworkRules operation" + }, + "VirtualNetworkRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Result of the List VirtualNetwork Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" + } + }, + "description": "The response from the List namespace operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..4de96524d573 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..68fd4f7ca8ae --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2018-01-01-preview", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..59d91c8508cf --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..3bbc4b026f43 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..c1ace47195d3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "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/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json index 273a70b3260d..951500ff5854 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace2924", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "parameters": { "sku": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json index 747d0b106269..a458cb82e01a 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-3285", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json index 0afe4e79a6b7..6f2d4a002b41 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-2924", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json index 7e3dcb10e2f7..f1391889645d 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json index 5704dd8f2e78..34a52c6ed57c 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "resourceGroupName": "ArunMonocle" }, diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json index ae587b027e02..51527f927861 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-3285", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "parameters": { "location": "South Central US", diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json new file mode 100644 index 000000000000..5885f3077d1d --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json @@ -0,0 +1,972 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.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": { + "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": { + "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": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "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": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "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": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state 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." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "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": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "Encryption": { + "x-ms-client-flatten": true, + "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.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "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": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "description": "Required Members", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "Required Zone Names", + "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" + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json new file mode 100644 index 000000000000..e5342767dd0b --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json @@ -0,0 +1,126 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.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": { + "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 ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json deleted file mode 100644 index c089a7efe2e0..000000000000 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json +++ /dev/null @@ -1,1437 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ServiceBusManagementClient", - "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", - "version": "2018-01-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.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": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/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": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/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": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace create request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace created successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace create or update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace successfully deleted." - }, - "202": { - "description": "Namespace delete request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceUpdateParameters" - }, - "description": "Parameters supplied to update a namespace resource." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace update request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace updated successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListIpFilterRules", - "x-ms-examples": { - "ListIpFilterRules": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIPFilterRuleListAll.json" - } - }, - "description": "Gets a list of IP Filter rules for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule successfully returned.", - "schema": { - "$ref": "#/definitions/IpFilterRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdateIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleCreate": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleCreateorUpdate.json" - } - }, - "description": "Creates or updates an IpFilterRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/IpFilterRule" - }, - "description": "The Namespace IpFilterRule." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule created", - "schema": { - "$ref": "#/definitions/IpFilterRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_DeleteIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleDelete": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleDelete.json" - } - }, - "description": "Deletes an IpFilterRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace IpFilterRule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_GetIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleGet": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleGet.json" - } - }, - "description": "Gets an IpFilterRule for a Namespace by rule name.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule returned successfully.", - "schema": { - "$ref": "#/definitions/IpFilterRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListVirtualNetworkRules", - "x-ms-examples": { - "ListIpFilterRules": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleListAll.json" - } - }, - "description": "Gets a list of VirtualNetwork rules for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule successfully returned.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleCreate": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleCreateorUpdate.json" - } - }, - "description": "Creates or updates an VirtualNetworkRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "The Namespace VirtualNetworkRule." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule created", - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_DeleteVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleDelete": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleDelete.json" - } - }, - "description": "Deletes an VirtualNetworkRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace VirtualNetworkRule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_GetVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleGet": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleGet.json" - } - }, - "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule returned successfully.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": { - "put": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleSetCreate": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" - } - }, - "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", - "description": "Gets NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleSetget": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" - } - }, - "operationId": "Namespaces_GetNetworkRuleSet", - "description": "Gets NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "TrackedResource": { - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The Geo-location where the resource lives" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "required": [ - "location" - ], - "description": "The Resource definition." - }, - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Resource type" - } - }, - "x-ms-azure-resource": true, - "description": "The Resource definition for other than namespace." - }, - "ResourceNamespacePatch": { - "properties": { - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The Resource definition." - }, - "SBNamespaceListResult": { - "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": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of SKU" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceUpdateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of SKU" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "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": { - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state 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." - }, - "encryption": { - "$ref": "#/definitions/Encryption", - "description": "Properties of BYOK Encryption description" - } - }, - "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." - }, - "OperationListResult": { - "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 ServiceBus REST API operation", - "type": "object", - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Operation name: {provider}/{resource}/{operation}" - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "readOnly": true, - "type": "string", - "description": "Service provider: Microsoft.ServiceBus" - }, - "resource": { - "readOnly": true, - "type": "string", - "description": "Resource on which the operation is performed: Invoice, etc." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "Operation type: Read, write, delete, etc." - } - } - } - } - }, - "ErrorResponse": { - "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "IpFilterRule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "ipMask": { - "type": "string", - "description": "IP Mask" - }, - "action": { - "type": "string", - "description": "The IP Filter Action", - "enum": [ - "Accept", - "Reject" - ], - "x-ms-enum": { - "name": "IPAction", - "modelAsString": true - } - }, - "filterName": { - "type": "string", - "description": "IP Filter name" - } - }, - "description": "Properties supplied to create or update IpFilterRules" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in a List or Get IpFilterRules operation" - }, - "IpFilterRuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IpFilterRule" - }, - "description": "Result of the List IpFilter Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" - } - }, - "description": "The response from the List namespace operation." - }, - "VirtualNetworkRule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "virtualNetworkSubnetId": { - "type": "string", - "description": "Resource ID of Virtual Network Subnet" - } - }, - "description": "Properties supplied to create or update VirtualNetworkRules" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in a List or Get VirtualNetworkRules operation" - }, - "VirtualNetworkRuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "Result of the List VirtualNetwork Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" - } - }, - "description": "The response from the List namespace operation." - }, - "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": { - "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" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of topic resource." - }, - "Identity": { - "x-ms-client-flatten": true, - "properties": { - "principalId": { - "type": "string", - "readOnly": true, - "description": "ObjectId from the KeyVault" - }, - "tenantId": { - "type": "string", - "readOnly": true, - "description": "TenantId from the KeyVault" - }, - "type": { - "type": "string", - "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", - "default": "SystemAssigned", - "enum": [ - "SystemAssigned" - ], - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": false - } - } - }, - "description": "Properties to configure Identity for Bring your Own Keys" - }, - "Encryption": { - "x-ms-client-flatten": true, - "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.KeyVault" - ], - "x-ms-enum": { - "name": "keySource", - "modelAsString": false - } - } - }, - "description": "Properties to configure Encryption" - }, - "KeyVaultProperties": { - "properties": { - "keyName": { - "type": "string", - "description": "Name of the Key from KeyVault" - }, - "keyVaultUri": { - "type": "string", - "description": "Uri of KeyVault" - } - }, - "description": "Properties to configure keyVault Properties" - } - }, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the Resource group within the Azure subscription." - }, - "namespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The namespace name" - }, - "skuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - }, - "skipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "topParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "ipFilterRuleNameParameter": { - "name": "ipFilterRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The IP Filter Rule name." - }, - "virtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The Virtual Network Rule name." - } - } -} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json new file mode 100644 index 000000000000..c5af8932ebb9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json @@ -0,0 +1,1095 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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" + } + } + } + } + } + }, + "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": { + "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." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of a namespace authorization rule." + }, + "AccessKeys": { + "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": { + "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/2017-04-01/CheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json new file mode 100644 index 000000000000..3d47a43a7882 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json @@ -0,0 +1,132 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailability": { + "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": { + "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/2017-04-01/DisasterRecoveryConfig.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json new file mode 100644 index 000000000000..963984f6b5d3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json @@ -0,0 +1,750 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + } + } + }, + "/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" + }, + "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" + } + ], + "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" + } + } + } + } + }, + "/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": { + "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." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of a namespace authorization rule." + }, + "AccessKeys": { + "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": { + "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." + }, + "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." + }, + "CheckNameAvailability": { + "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": { + "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." + }, + "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 + } + }, + "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)" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "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/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json new file mode 100644 index 000000000000..165c2a2c8983 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json @@ -0,0 +1,280 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions": { + "get": { + "tags": [ + "PremiumMessagingRegions" + ], + "operationId": "PremiumMessagingRegions_List", + "x-ms-examples": { + "PremiumMessagingRegionsList": { + "$ref": "./examples/SkuRegions/PremiumMessagingRegions.json" + } + }, + "description": "Gets the available premium messaging regions for servicebus ", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Premium messaging regions successfully returned.", + "schema": { + "$ref": "#/definitions/PremiumMessagingRegionsListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "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." + }, + "PremiumMessagingRegions": { + "properties": { + "properties": { + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Region code" + }, + "fullName": { + "readOnly": true, + "type": "string", + "description": "Full name of the region" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Premium Messaging Region" + }, + "PremiumMessagingRegionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PremiumMessagingRegions" + }, + "description": "Result of the List PremiumMessagingRegions type." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." + } + }, + "description": "The response of the List PremiumMessagingRegions operation." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "QueueNameParameter": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The queue name." + }, + "TopicNameParameter": { + "name": "topicName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The topic name." + }, + "SubscriptionNameParameter": { + "name": "subscriptionName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The subscription name." + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "ConfigNameParameter": { + "name": "configName", + "in": "path", + "description": "The configuration name. Should always be \"$default\".", + "required": true, + "type": "string", + "enum": [ + "$default" + ], + "x-ms-enum": { + "name": "MigrationConfigurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json new file mode 100644 index 000000000000..3507b2b3be4a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "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": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBQueueProperties", + "description": "Queue Properties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of queue Resource." + }, + "SBQueueProperties": { + "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." + }, + "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/2017-04-01/Rules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json new file mode 100644 index 000000000000..0a2be2c6dc3a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json @@ -0,0 +1,447 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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.", + "externalDocs": { + "url": "" + }, + "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": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Ruleproperties", + "description": "Properties of Rule resource" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of Rule Resource." + }, + "Ruleproperties": { + "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": { + "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", + "default": 20, + "minimum": 20, + "maximum": 20, + "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/2017-04-01/eventhubs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json new file mode 100644 index 000000000000..b276ca8f3ea3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json @@ -0,0 +1,227 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs": { + "get": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_ListByNamespace", + "x-ms-examples": { + "RulesCreateOrUpdate": { + "$ref": "./examples/SkuRegions/EventHubs.json" + } + }, + "description": "Gets all the Event Hubs in a service bus 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": "Successfully retrieved the list of Event Hubs.", + "schema": { + "$ref": "#/definitions/EventHubListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "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", + "maximum": 7, + "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", + "maximum": 32, + "minimum": 1, + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a Event Hub." + }, + "captureDescription": { + "$ref": "#/definitions/CaptureDescription", + "description": "Properties of capture description" + } + }, + "description": "Properties supplied to the Create Or Update Event Hub operation." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "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", + "readOnly": true, + "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." + }, + "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.", + "enum": [ + "Avro", + "AvroDeflate" + ], + "x-ms-enum": { + "name": "EncodingCaptureDescription", + "modelAsString": false + } + }, + "intervalInSeconds": { + "format": "int32", + "type": "integer", + "maximum": 900, + "minimum": 60, + "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", + "maximum": 524288000, + "minimum": 10485760, + "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes" + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)" + } + }, + "description": "Properties to configure capture description for eventhub" + }, + "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" + } + }, + "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/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json new file mode 100644 index 000000000000..73bb7df40663 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json @@ -0,0 +1,113 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate": { + "post": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Migrate", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNamespaceMigrate.json" + } + }, + "description": "This operation Migrate the given namespace to provided name type", + "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/SBNamespaceMigrate" + }, + "description": "Parameters supplied to migrate namespace type." + } + ], + "responses": { + "200": { + "description": "Migrate Namespace type is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBNamespaceMigrate": { + "type": "object", + "properties": { + "targetNamespaceType": { + "type": "string", + "description": "Type of namespaces", + "enum": [ + "Messaging", + "NotificationHub", + "Mixed", + "EventHub", + "Relay" + ], + "x-ms-enum": { + "name": "NameSpaceType", + "modelAsString": false + } + } + }, + "required": [ + "targetNamespaceType" + ], + "description": "Namespace Migrate Object" + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json new file mode 100644 index 000000000000..1fd6e21e8fc1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json @@ -0,0 +1,375 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "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" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in List or Get Migration Config operation" + }, + "MigrationConfigListResult": { + "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/2017-04-01/namespaces.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json new file mode 100644 index 000000000000..0a0a320f695c --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json @@ -0,0 +1,491 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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" + } + } + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "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": { + "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": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of Sku" + }, + "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": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of Sku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state 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" + } + }, + "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." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json new file mode 100644 index 000000000000..686dcf03fb43 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json @@ -0,0 +1,283 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "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": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "required": [ + "id" + ], + "description": "Properties supplied for Subnet" + }, + "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": "Description of VirtualNetworkRules - NetworkRules resource." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "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" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of NetworkRuleSet resource." + }, + "NetworkRuleSetListResult": { + "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/2017-04-01/operations.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/operations.json new file mode 100644 index 000000000000..0bedb0121ae5 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/operations.json @@ -0,0 +1,126 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "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 ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json deleted file mode 100644 index 2970266db160..000000000000 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json +++ /dev/null @@ -1,4922 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ServiceBusManagementClient", - "description": "Azure Service Bus client", - "version": "2017-04-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "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": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/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": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/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": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace create request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace created successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace create or update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace successfully deleted." - }, - "202": { - "description": "Namespace delete request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceUpdateParameters" - }, - "description": "Parameters supplied to update a namespace resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace update request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace updated successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": { - "get": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": { - "post": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Namespaces" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate": { - "post": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Migrate", - "x-ms-examples": { - "NameSpaceUpdate": { - "$ref": "./examples/NameSpaces/SBNamespaceMigrate.json" - } - }, - "description": "This operation Migrate the given namespace to provided name type", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceMigrate" - }, - "description": "Parameters supplied to migrate namespace type." - } - ], - "responses": { - "200": { - "description": "Migrate Namespace type is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ArmDisasterRecovery" - }, - "description": "Parameters required to create an Alias(Disaster Recovery configuration)" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Delete Alias(Disaster Recovery configuration) request accepted" - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Break-Pairing operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Failover operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MigrationConfigProperties" - }, - "description": "Parameters required to create Migration Configuration" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_Get", - "x-ms-examples": { - "MigrationConfigurationsGet": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationGet.json" - } - }, - "description": "Retrieves Migration Config", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "upgrade operation of Migration Config is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "MigrationConfig Revert operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/parameters/TopParameter" - } - ], - "responses": { - "200": { - "description": "Queues successfully returned.", - "schema": { - "$ref": "#/definitions/SBQueueListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBQueue" - }, - "description": "Parameters supplied to create or update a queue resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Queue successfully created.", - "schema": { - "$ref": "#/definitions/SBQueue" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Queue successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": { - "get": { - "tags": [ - "Queues" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Queues" - ], - "operationId": "Queues_CreateOrUpdateAuthorizationRule", - "x-ms-examples": { - "QueueAuthorizationRuleCreate": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleCreate.json" - } - }, - "description": "Creates an authorization rule for a queue.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Queues" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Queues" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys": { - "post": { - "tags": [ - "Queues" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Queues" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBTopic" - }, - "description": "Parameters supplied to create a topic resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Topic successfully created.", - "schema": { - "$ref": "#/definitions/SBTopic" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "200": { - "description": "Topic successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": { - "get": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Topic authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys": { - "post": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Topics" - ], - "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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBSubscription" - }, - "description": "Parameters supplied to create a subscription resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Subscription successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Rule" - }, - "description": "Parameters supplied to create a rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Rule created.", - "schema": { - "$ref": "#/definitions/Rule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Rules" - ], - "operationId": "Rules_Delete", - "x-ms-examples": { - "RulesDelete": { - "$ref": "./examples/Rules/RuleDelete.json" - } - }, - "description": "Deletes an existing rule.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "200": { - "description": "Rule deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/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.", - "externalDocs": { - "url": "" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions": { - "get": { - "tags": [ - "Regions" - ], - "operationId": "Regions_ListBySku", - "x-ms-examples": { - "RegionsListBySku": { - "$ref": "./examples/SkuRegions/SkuRegions.json" - } - }, - "description": "Gets the available Regions for a given sku", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkuNameParameter" - } - ], - "responses": { - "200": { - "description": "Regions successfully returned.", - "schema": { - "$ref": "#/definitions/PremiumMessagingRegionsListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions": { - "get": { - "tags": [ - "PremiumMessagingRegions" - ], - "operationId": "PremiumMessagingRegions_List", - "x-ms-examples": { - "PremiumMessagingRegionsList": { - "$ref": "./examples/SkuRegions/PremiumMessagingRegions.json" - } - }, - "description": "Gets the available premium messaging regions for servicebus ", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Premium messaging regions successfully returned.", - "schema": { - "$ref": "#/definitions/PremiumMessagingRegionsListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs": { - "get": { - "tags": [ - "EventHubs" - ], - "operationId": "EventHubs_ListByNamespace", - "x-ms-examples": { - "RulesCreateOrUpdate": { - "$ref": "./examples/SkuRegions/EventHubs.json" - } - }, - "description": "Gets all the Event Hubs in a service bus Namespace.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of Event Hubs.", - "schema": { - "$ref": "#/definitions/EventHubListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/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": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "TrackedResource": { - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The Geo-location where the resource lives" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "required": [ - "location" - ], - "description": "The Resource definition." - }, - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Resource type" - } - }, - "x-ms-azure-resource": true, - "description": "The Resource definition for other than namespace." - }, - "ResourceNamespacePatch": { - "properties": { - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The Resource definition." - }, - "SBNamespaceListResult": { - "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": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of Sku" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceUpdateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of Sku" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ResourceNamespacePatch" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceProperties": { - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state 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" - } - }, - "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." - }, - "SBNamespaceMigrate": { - "type": "object", - "properties": { - "targetNamespaceType": { - "type": "string", - "description": "Type of namespaces", - "enum": [ - "Messaging", - "NotificationHub", - "Mixed", - "EventHub", - "Relay" - ], - "x-ms-enum": { - "name": "NameSpaceType", - "modelAsString": false - } - } - }, - "required": [ - "targetNamespaceType" - ], - "description": "Namespace Migrate Object" - }, - "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": { - "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." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of a namespace authorization rule." - }, - "AuthorizationRuleProperties": { - "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." - }, - "AccessKeys": { - "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": { - "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." - }, - "SBQueueListResult": { - "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": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBQueueProperties", - "description": "Queue Properties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of queue Resource." - }, - "SBQueueProperties": { - "properties": { - "countDetails": { - "readOnly": true, - "$ref": "#/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." - }, - "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": "#/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." - }, - "MessageCountDetails": { - "type": "object", - "properties": { - "activeMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of active messages in the queue, topic, or subscription." - }, - "deadLetterMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages that are dead lettered." - }, - "scheduledMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of scheduled messages." - }, - "transferMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages transferred to another queue, topic, or subscription." - }, - "transferDeadLetterMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages transferred into dead letters." - } - }, - "description": "Message Count Details." - }, - "SBTopicListResult": { - "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": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBTopicProperties", - "description": "Properties of topic resource." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of topic resource." - }, - "SBTopicProperties": { - "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": "#/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." - }, - "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": "#/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." - }, - "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": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBSubscriptionProperties", - "description": "Properties of subscriptions resource." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of subscription resource." - }, - "SBSubscriptionProperties": { - "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": "#/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": "#/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" - } - }, - "description": "Description of Subscription Resource." - }, - "EntityStatus": { - "type": "string", - "enum": [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ], - "x-ms-enum": { - "name": "EntityStatus", - "modelAsString": false - }, - "description": "Entity status." - }, - "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." - }, - "CheckNameAvailability": { - "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": { - "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." - }, - "OperationListResult": { - "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 ServiceBus REST API operation", - "type": "object", - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Operation name: {provider}/{resource}/{operation}" - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "readOnly": true, - "type": "string", - "description": "Service provider: Microsoft.ServiceBus" - }, - "resource": { - "readOnly": true, - "type": "string", - "description": "Resource on which the operation is performed: Invoice, etc." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "Operation type: Read, write, delete, etc." - } - } - } - } - }, - "ErrorResponse": { - "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "Rule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/Ruleproperties", - "description": "Properties of Rule resource" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of Rule Resource." - }, - "Ruleproperties": { - "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": { - "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", - "default": 20, - "minimum": 20, - "maximum": 20, - "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 " - }, - "PremiumMessagingRegions": { - "properties": { - "properties": { - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "Region code" - }, - "fullName": { - "readOnly": true, - "type": "string", - "description": "Full name of the region" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/ResourceNamespacePatch" - } - ], - "description": "Premium Messaging Region" - }, - "PremiumMessagingRegionsListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PremiumMessagingRegions" - }, - "description": "Result of the List PremiumMessagingRegions type." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." - } - }, - "description": "The response of the List PremiumMessagingRegions operation." - }, - "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", - "maximum": 7, - "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", - "maximum": 32, - "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." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "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", - "readOnly": true, - "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." - }, - "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.", - "enum": [ - "Avro", - "AvroDeflate" - ], - "x-ms-enum": { - "name": "EncodingCaptureDescription", - "modelAsString": false - } - }, - "intervalInSeconds": { - "format": "int32", - "type": "integer", - "maximum": 900, - "minimum": 60, - "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", - "maximum": 524288000, - "minimum": 10485760, - "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes" - }, - "destination": { - "$ref": "#/definitions/Destination", - "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)" - } - }, - "description": "Properties to configure capture description for eventhub" - }, - "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" - } - }, - "description": "Properties describing the storage account, blob container and archive name format for capture destination" - } - }, - "description": "Capture storage details for capture description" - }, - "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 - } - }, - "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)" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "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." - }, - "MigrationConfigProperties": { - "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" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in List or Get Migration Config operation" - }, - "MigrationConfigListResult": { - "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." - }, - "Subnet": { - "properties": { - "id": { - "type": "string", - "description": "Resource ID of Virtual Network Subnet" - } - }, - "required": [ - "id" - ], - "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 - }, - "default": "Allow" - } - }, - "description": "Description of NetWorkRuleSet - IpRules resource." - }, - "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": "Description of VirtualNetworkRules - NetworkRules resource." - }, - "NetworkRuleSet": { - "properties": { - "properties": { - "description": "NetworkRuleSet properties", - "x-ms-client-flatten": true, - "properties": { - "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" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of NetworkRuleSet resource." - }, - "NetworkRuleSetListResult": { - "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": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the Resource group within the Azure subscription." - }, - "NamespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The namespace name" - }, - "AuthorizationRuleNameParameter": { - "name": "authorizationRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The authorization rule name." - }, - "QueueNameParameter": { - "name": "queueName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The queue name." - }, - "TopicNameParameter": { - "name": "topicName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The topic name." - }, - "SubscriptionNameParameter": { - "name": "subscriptionName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The subscription name." - }, - "RuleNameParameter": { - "name": "ruleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The rule name." - }, - "SkuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - }, - "AliasNameParameter": { - "name": "alias", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Disaster Recovery configuration name" - }, - "ConfigNameParameter": { - "name": "configName", - "in": "path", - "description": "The configuration name. Should always be \"$default\".", - "required": true, - "type": "string", - "enum": [ - "$default" - ], - "x-ms-enum": { - "name": "MigrationConfigurationName", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - }, - "SkipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "TopParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json new file mode 100644 index 000000000000..441383120485 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json @@ -0,0 +1,145 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions": { + "get": { + "tags": [ + "Regions" + ], + "operationId": "Regions_ListBySku", + "x-ms-examples": { + "RegionsListBySku": { + "$ref": "./examples/SkuRegions/SkuRegions.json" + } + }, + "description": "Gets the available Regions for a given sku", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter" + } + ], + "responses": { + "200": { + "description": "Regions successfully returned.", + "schema": { + "$ref": "#/definitions/PremiumMessagingRegionsListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "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." + }, + "PremiumMessagingRegions": { + "properties": { + "properties": { + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Region code" + }, + "fullName": { + "readOnly": true, + "type": "string", + "description": "Full name of the region" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Premium Messaging Region" + }, + "PremiumMessagingRegionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PremiumMessagingRegions" + }, + "description": "Result of the List PremiumMessagingRegions type." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." + } + }, + "description": "The response of the List PremiumMessagingRegions operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json new file mode 100644 index 000000000000..380bb3d8806a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBSubscriptionProperties", + "description": "Properties of subscriptions resource." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of subscription resource." + }, + "SBSubscriptionProperties": { + "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" + } + }, + "description": "Description of Subscription Resource." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json new file mode 100644 index 000000000000..ed15010fd198 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "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": { + "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": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBTopicProperties", + "description": "Properties of topic resource." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of topic resource." + }, + "SBTopicProperties": { + "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." + }, + "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 new file mode 100644 index 000000000000..1e9255ffda10 --- /dev/null +++ b/specification/servicebus/resource-manager/common/v1/definitions.json @@ -0,0 +1,359 @@ +{ + "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": { + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "EntityStatus": { + "type": "string", + "enum": [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ], + "x-ms-enum": { + "name": "EntityStatus", + "modelAsString": false + }, + "description": "Entity status." + }, + "MessageCountDetails": { + "type": "object", + "properties": { + "activeMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of active messages in the queue, topic, or subscription." + }, + "deadLetterMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages that are dead lettered." + }, + "scheduledMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of scheduled messages." + }, + "transferMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages transferred to another queue, topic, or subscription." + }, + "transferDeadLetterMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages transferred into dead letters." + } + }, + "description": "Message Count Details." + }, + "ErrorResponse": { + "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/ErrorResponse" + }, + "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": { + "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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The PrivateEndpointConnection name" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "QueueNameParameter": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The queue name." + }, + "TopicNameParameter": { + "name": "topicName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The topic name." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "SubscriptionNameParameter": { + "name": "subscriptionName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The subscription name." + }, + "ConfigNameParameter": { + "name": "configName", + "in": "path", + "description": "The configuration name. Should always be \"$default\".", + "required": true, + "type": "string", + "enum": [ + "$default" + ], + "x-ms-enum": { + "name": "MigrationConfigurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "IpFilterRuleNameParameter": { + "name": "ipFilterRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The IP Filter Rule name." + }, + "VirtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + } + } +} diff --git a/specification/servicebus/resource-manager/readme.azureresourceschema.md b/specification/servicebus/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..232b913f8313 --- /dev/null +++ b/specification/servicebus/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,66 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicebus-2018-01-01-preview + - tag: schema-servicebus-2017-04-01 + - tag: schema-servicebus-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicebus-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json + +``` + +### Tag: schema-servicebus-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json + - Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json + - Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json + - Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json + - Microsoft.ServiceBus/stable/2017-04-01/migrate.json + - Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json + - Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json + - Microsoft.ServiceBus/stable/2017-04-01/Queue.json + - Microsoft.ServiceBus/stable/2017-04-01/sku.json + - Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json + - Microsoft.ServiceBus/stable/2017-04-01/topics.json + - Microsoft.ServiceBus/stable/2017-04-01/Rules.json + - Microsoft.ServiceBus/stable/2017-04-01/namespaces.json + - Microsoft.ServiceBus/stable/2017-04-01/networksets.json + - Microsoft.ServiceBus/stable/2017-04-01/operations.json + +``` + +### Tag: schema-servicebus-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/stable/2015-08-01/servicebus.json + +``` diff --git a/specification/servicebus/resource-manager/readme.cli.md b/specification/servicebus/resource-manager/readme.cli.md index e1f6d11dfcc0..f1a8e278f7b1 100644 --- a/specification/servicebus/resource-manager/readme.cli.md +++ b/specification/servicebus/resource-manager/readme.cli.md @@ -8,6 +8,77 @@ This directory contains the Cli common model for the Dns service. ``` yaml # Migrated from Powershell's readme cli: + cli-name: servicebus + package-name: azure-mgmt-servicebus + namespace: azure.mgmt.servicebus + test-scenario: + - name: /Namespaces/put/NameSpaceCreate + - name: /Topics/put/TopicCreate + - name: /Queues/put/QueueCreate + - name: /DisasterRecoveryConfigs/put/SBAliasCreate + - name: /MigrationConfigs/put/MigrationConfigurationsStartMigration + - name: /Namespaces/put/NameSpaceNetworkRuleSetCreate + - name: /Namespaces/put/NameSpaceAuthorizationRuleCreate + - name: /Subscriptions/put/SubscriptionCreate + - name: /Queues/put/QueueAuthorizationRuleCreate + - name: /Topics/put/TopicAuthorizationRuleCreate + - name: /Rules/put/RulesCreateCorrelationFilter + - name: /Rules/put/RulesCreateSqlFilter + - name: /Rules/put/RulesCreateOrUpdate + - name: /DisasterRecoveryConfigs/get/DisasterRecoveryConfigsAuthorizationRuleGet + - name: /Rules/get/RulesGet + - name: /Topics/get/TopicAuthorizationRuleGet + - name: /Queues/get/QueueAuthorizationRuleGet + - name: /Rules/get/RulesListBySubscriptions + - name: /Subscriptions/get/SubscriptionGet + - name: /Subscriptions/get/SubscriptionListByTopic + - name: /DisasterRecoveryConfigs/get/NameSpaceAuthorizationRuleListAll + - name: /Namespaces/get/NameSpaceAuthorizationRuleGet + - name: /Namespaces/get/NameSpaceNetworkRuleSetGet + - name: /Topics/get/TopicAuthorizationRuleListAll + - name: /Queues/get/QueueAuthorizationRuleListAll + - name: /MigrationConfigs/get/MigrationConfigurationsGet + - name: /DisasterRecoveryConfigs/get/SBAliasGet + - name: /DisasterRecoveryConfigs/get/SBAliasList + - name: /Queues/get/QueueGet + - name: /Topics/get/TopicGet + - name: /MigrationConfigs/get/MigrationConfigurationsList + - name: /Namespaces/get/NameSpaceAuthorizationRuleListAll + - name: /Namespaces/get/NameSpaceNetworkRuleSetList + - name: /EventHubs/get/RulesCreateOrUpdate + - name: /Topics/get/TopicGet + - name: /Queues/get/QueueListByNameSpace + - name: /Namespaces/get/NameSpaceGet + - name: /Namespaces/get/NameSpaceListByResourceGroup + - name: /PremiumMessagingRegions/get/PremiumMessagingRegionsList + - name: /Regions/get/RegionsListBySku + - name: /Namespaces/get/NameSpaceList + - name: /Operations/get/OperationsList + - name: /DisasterRecoveryConfigs/post/DisasterRecoveryConfigsAuthorizationRuleListKey + - name: /Topics/post/TopicAuthorizationRuleRegenerateKey + - name: /Queues/post/QueueAuthorizationRuleRegenerateKey + - name: /Topics/post/TopicAuthorizationRuleListKey + - name: /Queues/post/QueueAuthorizationRuleListKey + - name: /Namespaces/post/NameSpaceAuthorizationRuleRegenerateKey + - name: /DisasterRecoveryConfigs/post/AliasNameAvailability + - name: /Namespaces/post/NameSpaceAuthorizationRuleListKey + - name: /MigrationConfigs/post/MigrationConfigurationsCompleteMigration + - name: /MigrationConfigs/post/MigrationConfigurationsRevert + - name: /DisasterRecoveryConfigs/post/SBEHAliasBreakPairing + - name: /DisasterRecoveryConfigs/post/SBAliasFailOver + - name: /Namespaces/post/NameSpaceUpdate + - name: /Namespaces/patch/NameSpaceUpdate + - name: /Namespaces/post/NameSpaceCheckNameAvailability + - name: /Rules/delete/RulesDelete + - name: /Queues/delete/QueueAuthorizationRuleDelete + - name: /Topics/delete/TopicAuthorizationRuleDelete + - name: /Subscriptions/delete/SubscriptionDelete + - name: /Namespaces/delete/NameSpaceAuthorizationRuleDelete + - name: /MigrationConfigs/delete/MigrationConfigurationsDelete + - name: /DisasterRecoveryConfigs/delete/SBAliasDelete + - name: /Topics/delete/TopicDelete + - name: /Queues/delete/QueueDelete + - name: /Namespaces/delete/NameSpaceDelete cli-directive: - select: 'operation' where: diff --git a/specification/servicebus/resource-manager/readme.md b/specification/servicebus/resource-manager/readme.md index 9ab1fb7f2d0f..c615a3072a32 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-2017-04 +tag: package-2018-01-preview ``` ### Tag: package-2018-01-preview @@ -35,7 +35,23 @@ These settings apply only when `--tag=package-2018-01-preview` is specified on t ``` yaml $(tag) == 'package-2018-01-preview' input-file: -- Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json +- Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json +- Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json +- Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json +- Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json +- Microsoft.ServiceBus/stable/2017-04-01/migrate.json +- Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json +- Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json +- Microsoft.ServiceBus/stable/2017-04-01/Queue.json +- Microsoft.ServiceBus/stable/2017-04-01/sku.json +- Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json +- Microsoft.ServiceBus/stable/2017-04-01/topics.json +- Microsoft.ServiceBus/stable/2017-04-01/Rules.json ``` ### Tag: package-2017-04 @@ -45,7 +61,21 @@ These settings apply only when `--tag=package-2017-04` is specified on the comma ``` yaml $(tag) == 'package-2017-04' input-file: -- Microsoft.ServiceBus/stable/2017-04-01/servicebus.json +- Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json +- Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json +- Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json +- Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json +- Microsoft.ServiceBus/stable/2017-04-01/migrate.json +- Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json +- Microsoft.ServiceBus/stable/2017-04-01/namespaces.json +- Microsoft.ServiceBus/stable/2017-04-01/networksets.json +- Microsoft.ServiceBus/stable/2017-04-01/operations.json +- Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json +- Microsoft.ServiceBus/stable/2017-04-01/Queue.json +- Microsoft.ServiceBus/stable/2017-04-01/Rules.json +- Microsoft.ServiceBus/stable/2017-04-01/sku.json +- Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json +- Microsoft.ServiceBus/stable/2017-04-01/topics.json ``` Important notes: @@ -82,6 +112,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_bus'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicebus/resource-manager ``` @@ -105,7 +138,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) && !$(track2) python-mode: create python: azure-arm: true @@ -116,12 +149,26 @@ python: package-version: 0.5.0 clear-output-folder: true ``` +``` yaml $(python) && $(track2) +python-mode: create +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.servicebus +package-name: azure-mgmt-servicebus +package-version: 0.5.0 +clear-output-folder: true +``` + ``` yaml $(python) && $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus/azure/mgmt/servicebus python: no-namespace-folders: true output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus/azure/mgmt/servicebus ``` ``` yaml $(python) && $(python-mode) == 'create' +basic-setup-py: true +output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus python: basic-setup-py: true output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus @@ -135,29 +182,7 @@ 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 +## AzureResourceSchema -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json - - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json - - $(this-folder)/Microsoft.ServiceBus/stable/2015-08-01/servicebus.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-1.json new file mode 100644 index 000000000000..2a7638588821 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/BackupPartition-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-2.json new file mode 100644 index 000000000000..9aa037a4d490 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/BackupPartition-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-3.json new file mode 100644 index 000000000000..3d9ef05b08e4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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": "abcd1234" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/BackupPartition-4.json new file mode 100644 index 000000000000..e77b1a9f010d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateApplication-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateApplication-1.json new file mode 100644 index 000000000000..815b59ce3e50 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateBackupPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateBackupPolicy-1.json new file mode 100644 index 000000000000..a2bb056ee6d0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateBackupPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateBackupPolicy-2.json new file mode 100644 index 000000000000..f688def9e59e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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": "abcd1234" + }, + "RetentionPolicy": { + "RetentionPolicyType": "Basic", + "MinimumNumberOfBackups": 20, + "RetentionDuration": "P20D" + } + } + }, + "responses": { + "201": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateBackupPolicy-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateBackupPolicy-3.json new file mode 100644 index 000000000000..9c6068a735f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateName-1.json new file mode 100644 index 000000000000..39588770e334 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateService-1.json new file mode 100644 index 000000000000..a969c12cd8a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateService-2.json new file mode 100644 index 000000000000..bc7ada6bb8be --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateService-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateService-3.json new file mode 100644 index 000000000000..75eaaea023df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/CreateService-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateService-4.json new file mode 100644 index 000000000000..2211ae300e4b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/CreateService-4.json @@ -0,0 +1,46 @@ +{ + "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 + }, + "ScalingMechanism": { + "Kind": "AddRemoveIncrementalNamedPartition", + "MinPartitionCount": 1, + "MaxPartitionCount": 3, + "ScaleIncrement": 1 + } + } + ] + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/DeleteBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/DeleteBackupPolicy.json new file mode 100644 index 000000000000..d4796b5ede08 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/DisableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/DisableApplicationBackup.json new file mode 100644 index 000000000000..964fdaa8c3f3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/DisablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/DisablePartitionBackup.json new file mode 100644 index 000000000000..1f6cc6b32ed3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/DisableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/DisableServiceBackup.json new file mode 100644 index 000000000000..14ca9acf4e25 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/EnableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/EnableApplicationBackup.json new file mode 100644 index 000000000000..b0e24cd35f67 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/EnablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/EnablePartitionBackup.json new file mode 100644 index 000000000000..739bd06ce60e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/EnableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/EnableServiceBackup.json new file mode 100644 index 000000000000..0fe38fd714bc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetAllEntitiesBackedUpByPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetAllEntitiesBackedUpByPolicy-1.json new file mode 100644 index 000000000000..9f4e37d7fdf9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetAllEntitiesBackedUpByPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetAllEntitiesBackedUpByPolicy-2.json new file mode 100644 index 000000000000..18f3467fc9ed --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..3d396dbf082d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..1ca86bee1983 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupList-1.json new file mode 100644 index 000000000000..bc89f402c6bd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupList-2.json new file mode 100644 index 000000000000..adb11bc306b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupList-3.json new file mode 100644 index 000000000000..189ba7d18cbf --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationBackupList-4.json new file mode 100644 index 000000000000..537af235a0e2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationEventList.json new file mode 100644 index 000000000000..32bca288ae42 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationInfoByName-1.json new file mode 100644 index 000000000000..fb15937b1e84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationInfoList-1.json new file mode 100644 index 000000000000..2ca46b64e3a4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationInfoList-2.json new file mode 100644 index 000000000000..c0755d26e14b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationTypeInfoList-1.json new file mode 100644 index 000000000000..bcb6a4e5e3b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationTypeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationTypeInfoList-2.json new file mode 100644 index 000000000000..a7c38cdedbe7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationTypeInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationTypeInfoList-3.json new file mode 100644 index 000000000000..473565e56c6d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetApplicationsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetApplicationsEventList.json new file mode 100644 index 000000000000..fa65ec159120 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetBackupPolicyByName.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupPolicyByName.json new file mode 100644 index 000000000000..411b836109b2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetBackupPolicyList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupPolicyList-1.json new file mode 100644 index 000000000000..c3ad42774736 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupPolicyList-1.json @@ -0,0 +1,87 @@ +{ + "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 two using the MaxResult parameter.", + "parameters": { + "api-version": "6.4", + "MaxResults": 3 + }, + "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": "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/7.2/examples/GetBackupPolicyList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupPolicyList-2.json new file mode 100644 index 000000000000..f5f941d6eda8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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 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": 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/7.2/examples/GetBackupsFromBackupLocation-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupsFromBackupLocation-1.json new file mode 100644 index 000000000000..6925de02aeb5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetBackupsFromBackupLocation-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetBackupsFromBackupLocation-2.json new file mode 100644 index 000000000000..190f318797ab --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetChaosEvents.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetChaosEvents.json new file mode 100644 index 000000000000..4e5d7bb0b4e3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetClusterEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetClusterEventList.json new file mode 100644 index 000000000000..3a122bb8aec0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetClusterVersion-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetClusterVersion-1.json new file mode 100644 index 000000000000..fd3b6fbf55b8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetContainerLogsDeployedOnNode-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetContainerLogsDeployedOnNode-1.json new file mode 100644 index 000000000000..1be29fb8e6ef --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetContainerLogsDeployedOnNode-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetContainerLogsDeployedOnNode-2.json new file mode 100644 index 000000000000..9f1025363561 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetContainerLogsDeployedOnNode-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetContainerLogsDeployedOnNode-3.json new file mode 100644 index 000000000000..2ca6cad4f774 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetCorrelatedEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetCorrelatedEventList.json new file mode 100644 index 000000000000..7e271b230d90 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetDataLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDataLossProgress-Running.json new file mode 100644 index 000000000000..90590fff4f2f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetDataLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDataLossProgress.json new file mode 100644 index 000000000000..89d341f05c26 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetDeployedApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoByName-1.json new file mode 100644 index 000000000000..8552057cbe2f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoByName-1.json @@ -0,0 +1,26 @@ +{ + "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", + "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/7.2/examples/GetDeployedApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-1.json new file mode 100644 index 000000000000..c19d4e2a841c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-1.json @@ -0,0 +1,39 @@ +{ + "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", + "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/7.2/examples/GetDeployedApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-2.json new file mode 100644 index 000000000000..7f6320e69e6d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-2.json @@ -0,0 +1,29 @@ +{ + "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", + "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/7.2/examples/GetDeployedApplicationInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-3.json new file mode 100644 index 000000000000..01cad866d3c1 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetDeployedApplicationInfoList-3.json @@ -0,0 +1,49 @@ +{ + "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", + "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", + "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", + "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/7.2/examples/GetFaultOperationList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetFaultOperationList.json new file mode 100644 index 000000000000..c7194dad614a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetImageStoreContent.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetImageStoreContent.json new file mode 100644 index 000000000000..7e912c407a79 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetImageStoreInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetImageStoreInfo.json new file mode 100644 index 000000000000..e4360622b5fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodeEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeEventList.json new file mode 100644 index 000000000000..4368ae718d58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodeInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeInfo-1.json new file mode 100644 index 000000000000..24b8cfac97f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeInfoList-1.json new file mode 100644 index 000000000000..c494bff622c5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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": "2acb9f55540659b1c95f27cc128ab326", + "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/7.2/examples/GetNodeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeInfoList-2.json new file mode 100644 index 000000000000..79bbd1bf1af7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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": "2acb9f55540659b1c95f27cc128ab326" + }, + "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/7.2/examples/GetNodeInfoList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeInfoList.json new file mode 100644 index 000000000000..d38a618440a9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodeTransitionProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeTransitionProgress-Running.json new file mode 100644 index 000000000000..62ad5c37ec58 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodeTransitionProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodeTransitionProgress.json new file mode 100644 index 000000000000..474ab826b8df --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetNodesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetNodesEventList.json new file mode 100644 index 000000000000..7aed70b97f31 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupConfigurationInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupConfigurationInfo.json new file mode 100644 index 000000000000..dd97740de85f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupList-1.json new file mode 100644 index 000000000000..2c5fb63a2bc3 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupList-2.json new file mode 100644 index 000000000000..cc627b382457 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupList-3.json new file mode 100644 index 000000000000..2cddad80321f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupList-4.json new file mode 100644 index 000000000000..c73aaece09c8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionBackupProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionBackupProgress.json new file mode 100644 index 000000000000..9d0df23312a6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionEventList.json new file mode 100644 index 000000000000..bbfca06712e9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionRestartProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionRestartProgress.json new file mode 100644 index 000000000000..074289b470a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionRestoreProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionRestoreProgress.json new file mode 100644 index 000000000000..da52d1a100b9 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPartitionsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPartitionsEventList.json new file mode 100644 index 000000000000..e49c5e402b00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPropertyInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPropertyInfo-1.json new file mode 100644 index 000000000000..ca5def4be2fb --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPropertyInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPropertyInfoList-1.json new file mode 100644 index 000000000000..5729c6a4e4a2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPropertyInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPropertyInfoList-2.json new file mode 100644 index 000000000000..6a172f23f09a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetPropertyInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetPropertyInfoList-3.json new file mode 100644 index 000000000000..ce12465b6ce6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetQuorumLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetQuorumLossProgress-Running.json new file mode 100644 index 000000000000..203fb157db03 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetQuorumLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetQuorumLossProgress.json new file mode 100644 index 000000000000..c86fd0d2b31d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetReplicaEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetReplicaEventList.json new file mode 100644 index 000000000000..a3b517117bac --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetReplicasEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetReplicasEventList.json new file mode 100644 index 000000000000..1d2e9212dfcc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupConfigurationInfo-1.json new file mode 100644 index 000000000000..ab37c65b803f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupConfigurationInfo-2.json new file mode 100644 index 000000000000..76e7e948550d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupList-1.json new file mode 100644 index 000000000000..b561b1b20f84 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupList-2.json new file mode 100644 index 000000000000..df570db76649 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupList-3.json new file mode 100644 index 000000000000..5b162231a889 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceBackupList-4.json new file mode 100644 index 000000000000..7420d61aca49 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceEventList.json new file mode 100644 index 000000000000..fdaa115873cd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceTypeInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceTypeInfoByName-1.json new file mode 100644 index 000000000000..4340954856fe --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServiceTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServiceTypeInfoList-1.json new file mode 100644 index 000000000000..a4481bfa08c0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetServicesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetServicesEventList.json new file mode 100644 index 000000000000..2d5863180a5a --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetSubNameInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetSubNameInfoList-1.json new file mode 100644 index 000000000000..282319140d86 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetSubNameInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetSubNameInfoList-2.json new file mode 100644 index 000000000000..15391854f370 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetSubNameInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetSubNameInfoList-3.json new file mode 100644 index 000000000000..bf07c9c58bc4 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetUploadSessionById.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetUploadSessionById.json new file mode 100644 index 000000000000..c565a13cfcbc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/GetUploadSessionByPath.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/GetUploadSessionByPath.json new file mode 100644 index 000000000000..8dc66b6d107d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/InvokeContainerApi.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/InvokeContainerApi.json new file mode 100644 index 000000000000..bfe285758eec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/InvokeContainerApi_Post.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/InvokeContainerApi_Post.json new file mode 100644 index 000000000000..0042fd341de0 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/PutProperty-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/PutProperty-1.json new file mode 100644 index 000000000000..8eee209e7c7b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/PutProperty-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/PutProperty-2.json new file mode 100644 index 000000000000..5db6a9ad77f7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.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/7.2/examples/Resources/Applications/Services/Replicas/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.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/7.2/examples/Resources/Applications/Services/Replicas/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.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/7.2/examples/Resources/Applications/Services/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/Services/get.json new file mode 100644 index 000000000000..45224d3a66f8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/Services/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/Services/list.json new file mode 100644 index 000000000000..3df5e396c764 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/create_update.autoscale.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.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/7.2/examples/Resources/Applications/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/create_update.json new file mode 100644 index 000000000000..8066c046fd00 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/delete.json new file mode 100644 index 000000000000..b51511b0865d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/get.json new file mode 100644 index 000000000000..208ccd280bbd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/get_upgrade.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/get_upgrade.json new file mode 100644 index 000000000000..61be95fa11b7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Applications/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Applications/list.json new file mode 100644 index 000000000000..2f34f40e3488 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Gateways/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Gateways/create_update.json new file mode 100644 index 000000000000..2ded194ec7cc --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Gateways/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Gateways/delete.json new file mode 100644 index 000000000000..63ed69926752 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Gateways/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Gateways/get.json new file mode 100644 index 000000000000..c85b652cbc45 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Gateways/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Gateways/list.json new file mode 100644 index 000000000000..5ad53b7d580f --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Networks/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Networks/create_update.json new file mode 100644 index 000000000000..faf2a3960b48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Networks/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Networks/delete.json new file mode 100644 index 000000000000..aea2170b7316 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Networks/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Networks/get.json new file mode 100644 index 000000000000..1afaee298e7d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Networks/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Networks/list.json new file mode 100644 index 000000000000..6cf521d8582c --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/create_update.json new file mode 100644 index 000000000000..aab0125db5a5 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/delete.json new file mode 100644 index 000000000000..ffe68fd3ddc7 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/get.json new file mode 100644 index 000000000000..f358e51722dd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/list.json new file mode 100644 index 000000000000..b46d7f8ff341 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/values/create.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/values/create.json new file mode 100644 index 000000000000..8cd0824452fd --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/values/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/values/delete.json new file mode 100644 index 000000000000..ad4b3ef9540b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/values/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/values/get.json new file mode 100644 index 000000000000..a6491634ef44 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/values/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Secrets/values/list.json new file mode 100644 index 000000000000..0610d6d83c48 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Secrets/values/list_value.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.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/7.2/examples/Resources/Volumes/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Volumes/create_update.json new file mode 100644 index 000000000000..ba2623cdc556 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Volumes/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Volumes/delete.json new file mode 100644 index 000000000000..efaa1f836ae1 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Volumes/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Volumes/get.json new file mode 100644 index 000000000000..9d08f3b00a82 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/Resources/Volumes/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/Resources/Volumes/list.json new file mode 100644 index 000000000000..3bf83798904b --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/RestorePartition.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/RestorePartition.json new file mode 100644 index 000000000000..1e97e0557113 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/ResumeApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/ResumeApplicationBackup.json new file mode 100644 index 000000000000..b25a7ac545ec --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/ResumePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/ResumePartitionBackup.json new file mode 100644 index 000000000000..feb701118438 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/ResumeServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/ResumeServiceBackup.json new file mode 100644 index 000000000000..9037dfa23d9e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/StartApplicationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/StartApplicationUpgrade-1.json new file mode 100644 index 000000000000..fd0317e28196 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/StartClusterConfigurationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/StartClusterConfigurationUpgrade-1.json new file mode 100644 index 000000000000..2f8fd59a474e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/SubmitPropertyBatch-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/SubmitPropertyBatch-1.json new file mode 100644 index 000000000000..05410c96edc2 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/SuspendApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/SuspendApplicationBackup.json new file mode 100644 index 000000000000..75bdad71a95e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/SuspendPartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/SuspendPartitionBackup.json new file mode 100644 index 000000000000..b14619dd6fe8 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/SuspendServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/SuspendServiceBackup.json new file mode 100644 index 000000000000..14d0575c509e --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/UpdateBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/UpdateBackupPolicy.json new file mode 100644 index 000000000000..3129817ddb68 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/UpdateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/UpdateService-1.json new file mode 100644 index 000000000000..3dd7f5950427 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/examples/UpdateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/examples/UpdateService-2.json new file mode 100644 index 000000000000..cdb1368dbdd6 --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.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/7.2/servicefabric.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/servicefabric.json new file mode 100644 index 000000000000..86206e48e15d --- /dev/null +++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.2/servicefabric.json @@ -0,0 +1,28687 @@ +{ + "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": "7.2.0.46" + }, + "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" + } + } + } + } + }, + "/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" + } + } + } + } + }, + "/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}/$/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" + } + } + } + } + }, + "/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" + } + } + } + } + }, + "/$/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 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" + } + ], + "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" + } + ], + "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 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." + } + } + }, + "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" + } + }, + "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, and Monitored." + }, + "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." + } + }, + "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." + }, + "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." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "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." + }, + "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." + } + } + }, + "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." + } + } + }, + "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" + ] + }, + "CurrentUpgradeDomainProgressInfo": { + "description": "Information about the current in-progress upgrade domain.", + "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" + }, + "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." + }, + "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" + ], + "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." + } + ] + } + }, + "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." + } + } + }, + "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." + }, + "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." + } + } + }, + "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." + }, + "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." + } + ] + } + }, + "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" + } + } + }, + "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, and Monitored." + }, + "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" + ], + "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." + } + ] + } + }, + "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" + } + ] + }, + "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." + }, + "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." + } + } + }, + "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.", + "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, and Monitored.", + "enum": [ + "Invalid", + "UnmonitoredAuto", + "UnmonitoredManual", + "Monitored" + ], + "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" + } + ] + } + }, + "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" + }, + "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 and secondary 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" + } + } + } + }, + "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, and Monitored." + }, + "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." + }, + "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." + }, + "RollingUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + }, + "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." + }, + "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." + }, + "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." + } + } + }, + "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.", + "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." + }, + "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, and Monitored." + }, + "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, and Monitored." + }, + "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." + }, + "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." + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + }, + "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." + } + } + }, + "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- DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 32768." + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + } + } + }, + "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." + } + } + }, + "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, and Monitored." + }, + "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" + ], + "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." + } + ] + } + }, + "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." + }, + "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", + "format": "binary", + "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" + ], + "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." + } + } + }, + "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." + } + } + }, + "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 located 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" + } + } + } + }, + "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." + } + } + }, + "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." + } + ] + } + }, + "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." + }, + "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." + }, + "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" + } + }, + "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 + }, + "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. 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 move. If not specified, replica 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." + }, + "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 + }, + "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" + } + }, + "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 e11163673d21..d59076f5d70e 100644 --- a/specification/servicefabric/data-plane/readme.go.md +++ b/specification/servicefabric/data-plane/readme.go.md @@ -18,6 +18,7 @@ batch: - tag: "6.4" - tag: "6.5" - tag: "7.0" + - tag: "7.2" ``` ### Tag: 6.2 and go @@ -59,4 +60,12 @@ These settings apply only when `--tag=7.0 --go` is specified on the command line ``` yaml $(tag) == '7.0' && $(go) output-folder: $(go-sdk-folder)/services/$(namespace)/7.0/$(namespace) +``` + +### Tag: 7.2 and go + +These settings apply only when `--tag=7.2 --go` is specified on the command line. + +``` yaml $(tag) == '7.2' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/7.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 719a8b671916..4e8ddd138a3d 100644 --- a/specification/servicefabric/data-plane/readme.md +++ b/specification/servicefabric/data-plane/readme.md @@ -25,7 +25,7 @@ These are the global settings for the ServiceFabricClient API. ``` yaml openapi-type: data-plane -tag: '7.1' +tag: '7.2' ``` ### Suppression @@ -125,6 +125,16 @@ input-file: ``` +### Tag: 7.2 + +These settings apply only when `--tag=7.2` is specified on the command line. + +``` yaml $(tag) == '7.2' +input-file: +- Microsoft.ServiceFabric/stable/7.2/servicefabric.json + +``` + --- # Code Generation @@ -179,7 +189,7 @@ input-file: - $(this-folder)/Microsoft.ServiceFabric/stable/6.5/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/7.0/servicefabric.json - $(this-folder)/Microsoft.ServiceFabric/stable/7.1/servicefabric.json - + - $(this-folder)/Microsoft.ServiceFabric/stable/7.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 ab41c8694c10..3ada9c5e3aad 100644 --- a/specification/servicefabric/data-plane/readme.python.md +++ b/specification/servicefabric/data-plane/readme.python.md @@ -11,7 +11,7 @@ python: payload-flattening-threshold: 2 namespace: azure.servicefabric package-name: azure-servicefabric - package-version: 7.0.0.0 + package-version: 7.2.0.0 add-credentials: true clear-output-folder: true ``` diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json index 596c355ccaa7..02924f1656e1 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json @@ -186,8 +186,7 @@ } } }, - "clusterUpgradeMode": "Automatic", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Automatic" } } }, @@ -287,8 +286,7 @@ } } }, - "clusterUpgradeMode": "Automatic", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Automatic" } } } diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json index 6bd51c60283f..1f8f1f9fe8d9 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json @@ -90,8 +90,7 @@ } } }, - "clusterUpgradeMode": "Manual", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Manual" } } }, @@ -195,8 +194,7 @@ } } }, - "clusterUpgradeMode": "Manual", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Manual" } } }, @@ -299,8 +297,7 @@ } } }, - "clusterUpgradeMode": "Manual", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Manual" } } }, @@ -403,8 +400,7 @@ } } }, - "clusterUpgradeMode": "Manual", - "reverseProxyEndpointPort": 19081 + "clusterUpgradeMode": "Manual" } } } diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json index b5ba10c91469..45af9872d23f 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json @@ -460,7 +460,7 @@ }, "issuerThumbprint": { "type": "string", - "description": "Issuer thumbprint for the certificate. Its only use ehn CommonName is used." + "description": "Issuer thumbprint for the certificate. Its only use CommonName is used." } }, "description": "Client Certificate definition." @@ -566,9 +566,6 @@ "type": "object", "description": "The manged cluster resource\n", "allOf": [ - { - "description": "The managed cluster resource properties" - }, { "$ref": "#/definitions/Resource" }, @@ -680,10 +677,6 @@ }, "description": "The list of custom fabric settings to configure the cluster." }, - "useTestExtension": { - "type": "boolean", - "description": "Use service fabric test vm extension, by default it's false." - }, "provisioningState": { "$ref": "#/definitions/ManagedResourceProvisioningState", "description": "The provisioning state of the managed cluster resource.", @@ -700,11 +693,6 @@ "clusterUpgradeDescription": { "$ref": "#/definitions/ClusterUpgradePolicy", "description": "Describes the policy used when upgrading the cluster." - }, - "reverseProxyEndpointPort": { - "type": "integer", - "format": "int32", - "description": "The endpoint used by reverse proxy." } }, "description": "Describes the managed cluster resource properties." @@ -757,11 +745,6 @@ "clusterUpgradeDescription": { "$ref": "#/definitions/ClusterUpgradePolicy", "description": "Describes the policy used when upgrading the cluster." - }, - "reverseProxyEndpointPort": { - "type": "integer", - "format": "int32", - "description": "The endpoint used by reverse proxy." } }, "description": "Describes the managed cluster resource properties." @@ -790,7 +773,7 @@ "properties": { "name": { "$ref": "#/definitions/SkuName", - "description": "Sku Name. Basic will hav a minimum of 3 seed nodes and Standard a minimum of 5. Basic only allows 1 node type." + "description": "Sku Name. Basic will have a minimum of 3 seed nodes and Standard a minimum of 5. Basic only allows 1 node type." } }, "description": "Sku definition" diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json index 04f22ffa6b1b..708998a6869e 100644 --- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json @@ -539,9 +539,6 @@ "definitions": { "NodeType": { "allOf": [ - { - "description": "The node type definition" - }, { "$ref": "#/definitions/ManagedProxyResource" } @@ -588,7 +585,7 @@ "vmInstanceCount": { "type": "integer", "format": "int32", - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", + "description": "The number of nodes in the node type.", "minimum": 1, "maximum": 2147483647 }, diff --git a/specification/servicefabric/resource-manager/readme.azureresourceschema.md b/specification/servicefabric/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b30a3ce1e405 --- /dev/null +++ b/specification/servicefabric/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,127 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicefabric-2020-03-01 + - tag: schema-servicefabric-2020-01-01-preview + - tag: schema-servicefabric-2019-11-01-preview + - tag: schema-servicefabric-2019-06-01-preview + - tag: schema-servicefabric-2019-03-01-preview + - tag: schema-servicefabric-2019-03-01 + - tag: schema-servicefabric-2018-02-01 + - tag: schema-servicefabric-2017-07-01-preview + - tag: schema-servicefabric-2016-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicefabric-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2020-03-01/cluster.json + - Microsoft.ServiceFabric/stable/2020-03-01/application.json + +``` + +### Tag: schema-servicefabric-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json + - Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json + +``` + +### Tag: schema-servicefabric-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-06-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-06-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-03-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-03-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2019-03-01/cluster.json + - Microsoft.ServiceFabric/stable/2019-03-01/application.json + +``` + +### Tag: schema-servicefabric-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2018-02-01/cluster.json + +``` + +### Tag: schema-servicefabric-2017-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2017-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2017-07-01-preview/application.json + - Microsoft.ServiceFabric/preview/2017-07-01-preview/servicefabric.json + +``` + +### Tag: schema-servicefabric-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2016-09-01/servicefabric.json + +``` diff --git a/specification/servicefabric/resource-manager/readme.go.md b/specification/servicefabric/resource-manager/readme.go.md index 866fdbb790d8..b47de2db193f 100644 --- a/specification/servicefabric/resource-manager/readme.go.md +++ b/specification/servicefabric/resource-manager/readme.go.md @@ -44,7 +44,7 @@ These settings apply only when `--tag=package-2018-02 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2018-02' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-02-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-02-01-preview/$(namespace) ``` ### Tag: package-2017-07 and go diff --git a/specification/servicefabric/resource-manager/readme.md b/specification/servicefabric/resource-manager/readme.md index 49b1b2250bdd..bd3ee3d8b412 100644 --- a/specification/servicefabric/resource-manager/readme.md +++ b/specification/servicefabric/resource-manager/readme.md @@ -178,6 +178,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_fabric'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicefabric/resource-manager ``` @@ -205,42 +208,7 @@ 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: - - $(this-folder)/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/stable/2020-03-01/application.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-06-01-preview/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-06-01-preview/application.json - - $(this-folder)/Microsoft.ServiceFabric/stable/2019-03-01/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/stable/2019-03-01/application.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-03-01-preview/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2019-03-01-preview/application.json - - $(this-folder)/Microsoft.ServiceFabric/stable/2018-02-01/cluster.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2017-07-01-preview/application.json - - $(this-folder)/Microsoft.ServiceFabric/preview/2017-07-01-preview/servicefabric.json - - $(this-folder)/Microsoft.ServiceFabric/stable/2016-09-01/servicefabric.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md b/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..db5f575e8158 --- /dev/null +++ b/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicefabricmesh-2018-09-01-preview + - tag: schema-servicefabricmesh-2018-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicefabricmesh-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabricmesh-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabricMesh/preview/2018-09-01-preview/servicefabricmesh.json + +``` + +### Tag: schema-servicefabricmesh-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabricmesh-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabricMesh/preview/2018-07-01-preview/servicefabricmesh.json + +``` diff --git a/specification/servicefabricmesh/resource-manager/readme.md b/specification/servicefabricmesh/resource-manager/readme.md index 1304aa396666..4112c128faf2 100644 --- a/specification/servicefabricmesh/resource-manager/readme.md +++ b/specification/servicefabricmesh/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_fabric_mesh'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicefabricmesh/resource-manager ``` @@ -169,28 +172,7 @@ regenerate-manager: true 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.ServiceFabricMesh/preview/2018-09-01-preview/servicefabricmesh.json - - $(this-folder)/Microsoft.ServiceFabricMesh/preview/2018-07-01-preview/servicefabricmesh.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/signalr/resource-manager/readme.azureresourceschema.md b/specification/signalr/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..30a00dfcb8df --- /dev/null +++ b/specification/signalr/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-signalrservice-2020-07-01-preview + - tag: schema-signalrservice-2020-05-01 + - tag: schema-signalrservice-2018-10-01 + - tag: schema-signalrservice-2018-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-signalrservice-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json + +``` + +### Tag: schema-signalrservice-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/stable/2020-05-01/signalr.json + +``` + +### Tag: schema-signalrservice-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/stable/2018-10-01/signalr.json + +``` + +### Tag: schema-signalrservice-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json + +``` diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index bfcc6c5aae19..1c60fa5764f6 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -111,6 +111,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_signalr'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js signalr/resource-manager ``` @@ -137,30 +140,7 @@ csharp: clear-output-folder: 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.SignalRService/preview/2020-07-01-preview/signalr.json - - $(this-folder)/Microsoft.SignalRService/stable/2020-05-01/signalr.json - - $(this-folder)/Microsoft.SignalRService/stable/2018-10-01/signalr.json - - $(this-folder)/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/softwareplan/resource-manager/readme.azureresourceschema.md b/specification/softwareplan/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0193b0961d94 --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-softwareplan-2019-12-01 + - tag: schema-softwareplan-2019-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-softwareplan-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-softwareplan-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json + +``` + +### Tag: schema-softwareplan-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-softwareplan-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json + +``` diff --git a/specification/softwareplan/resource-manager/readme.md b/specification/softwareplan/resource-manager/readme.md index 6fc4969b1f81..f6933c2ae568 100644 --- a/specification/softwareplan/resource-manager/readme.md +++ b/specification/softwareplan/resource-manager/readme.md @@ -71,6 +71,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_softwareplan'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js softwareplan/resource-manager ``` ## Go @@ -103,28 +106,7 @@ directive: reason: This is an issue with the common resource definition. The properties in the resource definition actually has a title and description. ``` -## 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.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json - - $(this-folder)/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json index 2e2db731b65d..1a3a82038457 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json @@ -940,7 +940,7 @@ "type": "integer" }, "storageAccountType": { - "description": "The storage account type used to store backups for this database. Currently the only supported option is GRS (GeoRedundantStorage).", + "description": "The storage account type used to store backups for this database.", "enum": [ "GRS", "LRS", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json index 8a6f8994ec21..4e3e8b72fcb9 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupCreate.json @@ -12,7 +12,7 @@ "conflictResolutionPolicy": "HubWin", "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", - "usePrivateLinkConnection": false + "usePrivateLinkConnection": true } } }, @@ -26,7 +26,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", @@ -42,7 +43,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json index 8a88e81a9966..e6ef35ca3529 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupGet.json @@ -17,7 +17,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json index 4b6924abcdd7..1064d36aa5ff 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupListByDatabase.json @@ -18,7 +18,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", @@ -32,7 +33,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json index 9ac1bb8b2539..3422c3658d7a 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupPatch.json @@ -13,7 +13,7 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "hubDatabasePassword": "hubPassword", - "usePrivateLinkConnection": false + "usePrivateLinkConnection": true } } }, @@ -27,7 +27,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json index 8a6f8994ec21..f9b4510c13fc 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncGroupUpdate.json @@ -12,7 +12,7 @@ "conflictResolutionPolicy": "HubWin", "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", - "usePrivateLinkConnection": false + "usePrivateLinkConnection": true } } }, @@ -26,7 +26,8 @@ "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328", "hubDatabaseUserName": "hubUser", "syncState": "NotReady", - "usePrivateLinkConnection": false + "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", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json index 1ccc734d27a2..6fe4b6bfa44c 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberCreate.json @@ -5,7 +5,7 @@ "serverName": "syncgroupcrud-8475", "databaseName": "syncgroupcrud-4328", "syncGroupName": "syncgroupcrud-3187", - "syncMemberName": "syncgroupcrud-4879", + "syncMemberName": "syncmembercrud-4879", "api-version": "2019-06-01-preview", "parameters": { "properties": { @@ -30,10 +30,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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" } }, @@ -47,10 +48,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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/2019-06-01-preview/examples/SyncMemberGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json index 8a1e356bfa96..a6a3c58866ce 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberGet.json @@ -5,7 +5,7 @@ "serverName": "syncgroupcrud-8475", "databaseName": "syncgroupcrud-4328", "syncGroupName": "syncgroupcrud-3187", - "syncMemberName": "syncgroupcrud-4879", + "syncMemberName": "syncmembercrud-4879", "api-version": "2019-06-01-preview" }, "responses": { @@ -19,10 +19,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json index 11497c9e4d7d..3c575b5481a4 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberListBySyncGroup.json @@ -20,10 +20,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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/2019-06-01-preview/examples/SyncMemberPatch.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json index 1746bb5774c7..1bccaea25d3f 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberPatch.json @@ -5,7 +5,7 @@ "serverName": "syncgroupcrud-8475", "databaseName": "syncgroupcrud-4328", "syncGroupName": "syncgroupcrud-3187", - "syncMemberName": "syncgroupcrud-4879", + "syncMemberName": "syncmembercrud-4879", "api-version": "2019-06-01-preview", "parameters": { "properties": { @@ -30,10 +30,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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/2019-06-01-preview/examples/SyncMemberUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json index 1ccc734d27a2..6fe4b6bfa44c 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/SyncMemberUpdate.json @@ -5,7 +5,7 @@ "serverName": "syncgroupcrud-8475", "databaseName": "syncgroupcrud-4328", "syncGroupName": "syncgroupcrud-3187", - "syncMemberName": "syncgroupcrud-4879", + "syncMemberName": "syncmembercrud-4879", "api-version": "2019-06-01-preview", "parameters": { "properties": { @@ -30,10 +30,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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" } }, @@ -47,10 +48,11 @@ "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/syncgroupcrud-4879", - "name": "syncgroupcrud-4879", + "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/2019-06-01-preview/syncGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json index ab80ff901950..442a8da5bfa8 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json @@ -932,6 +932,11 @@ "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 } } }, diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json index ba60112d1b74..dc905b399be8 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json @@ -504,6 +504,11 @@ "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" diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json new file mode 100644 index 000000000000..b9faad8fd3d1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json @@ -0,0 +1,442 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-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": "#/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": "#/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 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 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory only property." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 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 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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 * 400 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 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" + } + } + }, + "Resource": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ManagedInstanceAzureADOnlyAuthentication": { + "description": "Azure Active Directory only authentication.", + "type": "object", + "allOf": [ + { + "$ref": "#/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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql 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/2020-02-02-preview/ServerTrustGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json new file mode 100644 index 000000000000..74af95ea31a8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json @@ -0,0 +1,506 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the the specified server trust group.", + "schema": { + "$ref": "#/definitions/ServerTrustGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 * 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 * 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 * 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 * 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": "#/parameters/ResourceGroupParameter" + }, + { + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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": { + "$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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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" + ], + "type": "string" + } + } + } + }, + "ServerInfo": { + "description": "Server info for the server trust group.", + "required": [ + "serverId" + ], + "type": "object", + "properties": { + "serverId": { + "description": "Server Id.", + "type": "string" + } + } + }, + "Resource": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ServerTrustGroup": { + "description": "A server trust group.", + "type": "object", + "allOf": [ + { + "$ref": "#/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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql 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/2020-02-02-preview/examples/ExportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabase.json new file mode 100644 index 000000000000..37ed67c3a8cc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ExportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..31d6f89f1a8a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ImportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabase.json new file mode 100644 index 000000000000..fc10c0c5db2a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ImportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..0878179632da --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ImportNewDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabase.json new file mode 100644 index 000000000000..3dda74ba10de --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2020-02-02-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/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..224913c359b0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2020-02-02-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/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json new file mode 100644 index 000000000000..2fd7c611bb2c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json new file mode 100644 index 000000000000..b83a80a98733 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json new file mode 100644 index 000000000000..decd2ef48198 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json new file mode 100644 index 000000000000..5180ab838d60 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-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/2020-02-02-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json index 77758d3bddbf..8db942270000 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json @@ -26,7 +26,8 @@ "proxyOverride": "Redirect", "timezoneId": "UTC", "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } } }, @@ -54,7 +55,8 @@ "dnsZone": "1b4e2caff2530", "timezoneId": "UTC", "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" }, "location": "japaneast", "tags": { @@ -88,7 +90,8 @@ "dnsZone": "1b4e2caff2530", "timezoneId": "UTC", "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" }, "location": "japaneast", "tags": { diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json index 65f20f9e13f1..25fcfb66e0fe 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json @@ -28,7 +28,8 @@ "proxyOverride": "Default", "dnsZone": "1b4e2caff2530", "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" }, "location": "japaneast", "tags": { diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json index d52e7870eb76..a8a4f882660e 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json @@ -30,7 +30,8 @@ "publicDataEndpointEnabled": false, "proxyOverride": "Default", "dnsZone": "1b4e2caff2530", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } }, { @@ -56,7 +57,8 @@ "publicDataEndpointEnabled": false, "proxyOverride": "Default", "dnsZone": "2c3d1bdae3412", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } } ] diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json index a9070679328c..f18c20e275dc 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json @@ -33,7 +33,8 @@ "dnsZone": "1b4e2caff2530", "proxyOverride": "Redirect", "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } }, { @@ -60,7 +61,8 @@ "dnsZone": "2c3d1bdae3412", "proxyOverride": "Redirect", "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } } ] diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json index 840979c8b5d2..986dea80f971 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json @@ -32,7 +32,8 @@ "publicDataEndpointEnabled": false, "proxyOverride": "Default", "dnsZone": "1b4e2caff2530", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } }, { @@ -59,7 +60,8 @@ "publicDataEndpointEnabled": false, "proxyOverride": "Default", "dnsZone": "2c3d1bdae3412", - "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" } } ] diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupCreate.json new file mode 100644 index 000000000000..6636d4ced22e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupCreate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "serverTrustGroupName": "server-trust-group-test", + "api-version": "2020-02-02-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" + ] + } + } + }, + "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" + ] + }, + "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" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupDelete.json new file mode 100644 index 000000000000..4c1dd79b6eb5 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-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": "2020-02-02-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupGet.json new file mode 100644 index 000000000000..c40170a9f7d0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "serverTrustGroupName": "server-trust-group-test", + "api-version": "2020-02-02-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" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupList.json new file mode 100644 index 000000000000..1196f696b1ff --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupList.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default", + "locationName": "Japan East", + "api-version": "2020-02-02-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" + ] + }, + "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" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupListByManagedInstance.json new file mode 100644 index 000000000000..29d799777643 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerTrustGroupListByManagedInstance.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance-1", + "api-version": "2020-02-02-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" + ] + }, + "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" + ] + }, + "type": "Microsoft.Sql/locations/serverTrustGroups" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json new file mode 100644 index 000000000000..ed2aedc3a803 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json @@ -0,0 +1,700 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-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}/import": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "ImportExport_Import", + "parameters": [ + { + "$ref": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 * 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}/import": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "Servers_ImportDatabase", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportNewDatabaseDefinition" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 * 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Exports a database.", + "operationId": "Databases_Export", + "parameters": [ + { + "$ref": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 * 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": { + "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 + } + } + }, + "Resource": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "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" + ] + } + } + }, + "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": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql 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/2020-02-02-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json index 2eb45c066050..d8e5ec906ca0 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json @@ -534,6 +534,23 @@ "minimalTlsVersion": { "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'", "type": "string" + }, + "storageAccountType": { + "description": "The storage account type used to store backups for this instance. The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage)", + "enum": [ + "GRS", + "LRS", + "ZRS" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] } } }, diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/databases.json new file mode 100644 index 000000000000..531c0d3f3d97 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/databases.json @@ -0,0 +1,1110 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\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 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\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 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 TokenTooLong - The provided token is too long.\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 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 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 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\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 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 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 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\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 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 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 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\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 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\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 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 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\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 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 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\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 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free 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 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 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\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 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 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata 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 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\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 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 * 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 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 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\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 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\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 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\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 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 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\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 * 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 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." + }, + "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 data warehouse by specifying service objective name.": { + "$ref": "./examples/CreateDwDatabaseByServiceObjective.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 from restore with database deletion time.": { + "$ref": "./examples/CreateDatabaseRestoreMode.json" + }, + "Creates a database from restore with restorableDroppedDatabaseId.": { + "$ref": "./examples/CreateDatabaseRestoreMode2.json" + }, + "Creates a database from recoverableDatabaseId.": { + "$ref": "./examples/CreateDatabaseRecoveryMode.json" + } + } + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database.", + "operationId": "Databases_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "default": { + "description": "*** Error Responses: ***\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 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\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 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\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 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\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 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 TokenTooLong - The provided token is too long.\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 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 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 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\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 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 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 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\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 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 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 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\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 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\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 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 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\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 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 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\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 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free 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 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 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\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 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 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata 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 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\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 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 * 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 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 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\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 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\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 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\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 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 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\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 * 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 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." + }, + "202": { + "description": "Updating the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a database.": { + "$ref": "./examples/PatchVCoreDatabase.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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 * 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." + } + }, + "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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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}/databases/{databaseName}/pause": { + "post": { + "tags": [ + "Databases" + ], + "description": "Pauses a database.", + "operationId": "Databases_Pause", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be paused.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be resumed.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to be upgraded.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully upgraded the data warehouse." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\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 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\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 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 TokenTooLong - The provided token is too long.\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 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 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 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\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 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 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 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\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 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 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 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\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 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\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 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 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\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 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 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\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 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free 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 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 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\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 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 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata 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 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\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 * 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 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 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\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 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\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 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\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 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 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\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 * 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 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." + }, + "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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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" + } + } + } + } + }, + "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 + } + } + }, + "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" + ], + "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" + }, + "storageAccountType": { + "description": "The storage account type used to store backups for this database. Currently the only supported option is GRS (GeoRedundantStorage).", + "enum": [ + "GRS", + "LRS", + "ZRS" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountType", + "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 be rolled out.", + "type": "string" + } + } + }, + "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 + }, + "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." + }, + "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" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql 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/2020-08-01-preview/elasticPools.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/elasticPools.json new file mode 100644 index 000000000000..b3f260843c4a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/elasticPools.json @@ -0,0 +1,632 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "$skip", + "in": "query", + "description": "The number of elements in the collection to skip.", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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 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 * 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 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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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 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 * 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 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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 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 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 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 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 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 * 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 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 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" + } + } + }, + "delete": { + "tags": [ + "ElasticPools" + ], + "description": "Deletes an elastic pool.", + "operationId": "ElasticPools_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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 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 * 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 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": "#/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": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 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 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 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 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 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 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 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 * 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 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 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" + } + } + } + }, + "/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": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "elasticPoolName", + "in": "path", + "description": "The name of the elastic pool to failover.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/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 be rolled out.", + "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 be rolled out.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql 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/2020-08-01-preview/examples/CreateDatabaseCopyMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseCopyMode.json new file mode 100644 index 000000000000..bd3f658c3a1d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseCopyMode.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbcopy", + "api-version": "2020-08-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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "zoneRedundant": false + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "dbcopy", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseDefaultMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseDefaultMode.json new file mode 100644 index 000000000000..70b97d09c8d3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseDefaultMode.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "zoneRedundant": false, + "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/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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "zoneRedundant": false, + "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/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseMin.json new file mode 100644 index 000000000000..c79e76a12d12 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseMin.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "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/2020-08-01-preview/examples/CreateDatabaseNamedReplica.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseNamedReplica.json new file mode 100644 index 000000000000..3f71f7c4c1ef --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseNamedReplica.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "currentServiceObjectiveName": "HS_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "HS_Gen4_2", + "storageAccountType": "GRS", + "highAvailabilityReplicaCount": 0, + "licenseType": "LicenseIncluded", + "secondaryType": "Named", + "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", + "currentServiceObjectiveName": "HS_Gen4_2", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "HS_Gen4_2", + "storageAccountType": "GRS", + "highAvailabilityReplicaCount": 0, + "licenseType": "LicenseIncluded", + "secondaryType": "Named", + "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/2020-08-01-preview/examples/CreateDatabasePITRMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabasePITRMode.json new file mode 100644 index 000000000000..ac1df30711b7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabasePITRMode.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbpitr", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "restorePointInTime": "2017-07-14T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbpitr", + "name": "dbpitr", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbpitr", + "name": "dbpitr", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRecoveryMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRecoveryMode.json new file mode 100644 index 000000000000..a4f8cee34bc7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRecoveryMode.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbrestore", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Restore", + "restorableDroppedDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb2,131444841315030000" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode.json new file mode 100644 index 000000000000..93a6d13ce5db --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbrestore", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Restore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "sourceDatabaseDeletionDate": "2017-07-14T06:41:06.613Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode2.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode2.json new file mode 100644 index 000000000000..2a86acd6e7dc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseRestoreMode2.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "dbrestore", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "properties": { + "createMode": "Restore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb,131403269876900000" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "S0", + "tier": "Standard" + }, + "kind": "v12.0,user", + "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": "S0", + "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/dbrestore", + "name": "dbrestore", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseSecondaryMode.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseSecondaryMode.json new file mode 100644 index 000000000000..e93322c01165 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDatabaseSecondaryMode.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "secondaryType": "Geo", + "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", + "currentServiceObjectiveName": "S0", + "defaultSecondaryLocation": "North Europe", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "requestedServiceObjectiveName": "S0", + "storageAccountType": "GRS", + "secondaryType": "Geo", + "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/2020-08-01-preview/examples/CreateDwDatabaseByServiceObjective.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDwDatabaseByServiceObjective.json new file mode 100644 index 000000000000..24ce51c0777a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateDwDatabaseByServiceObjective.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2020-08-01-preview", + "parameters": { + "location": "westus", + "sku": { + "name": "DW1000c" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2019-04-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + } + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2019-04-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + } + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json new file mode 100644 index 000000000000..c9eebdb8f6ec --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "storageAccountType": "GRS", + "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", + "storageAccountType": "GRS", + "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/2020-08-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json new file mode 100644 index 000000000000..c799072075ae --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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", + "storageAccountType": "GRS", + "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", + "storageAccountType": "GRS", + "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/2020-08-01-preview/examples/DeleteDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/DeleteDatabase.json new file mode 100644 index 000000000000..c70d7532b66e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolCreateOrUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolCreateOrUpdateMax.json new file mode 100644 index 000000000000..ba7e28028aac --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-10-01", + "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/2020-08-01-preview/examples/ElasticPoolCreateOrUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolCreateOrUpdateMin.json new file mode 100644 index 000000000000..25f84bcd695a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-10-01", + "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/2020-08-01-preview/examples/ElasticPoolDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolDelete.json new file mode 100644 index 000000000000..51394518bf8a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2020-08-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolGet.json new file mode 100644 index 000000000000..cf45ef3e3f45 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "elasticPoolName": "sqlcrudtest-8102", + "api-version": "2020-08-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" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolListByServer.json new file mode 100644 index 000000000000..e0c9401d5e4a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolListByServer.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-2369", + "serverName": "sqlcrudtest-8069", + "api-version": "2017-10-01" + }, + "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/2020-08-01-preview/examples/ElasticPoolUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolUpdateMax.json new file mode 100644 index 000000000000..50ab53f4d887 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-10-01", + "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/2020-08-01-preview/examples/ElasticPoolUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ElasticPoolUpdateMin.json new file mode 100644 index 000000000000..798ef7b5c92e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-10-01", + "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/2020-08-01-preview/examples/FailoverDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/FailoverDatabase.json new file mode 100644 index 000000000000..c527b9727123 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2018-06-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/FailoverElasticPool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/FailoverElasticPool.json new file mode 100644 index 000000000000..0f1687215bf3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/FailoverElasticPool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "group1", + "serverName": "testServer", + "elasticPoolName": "testElasticPool", + "api-version": "2018-06-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/GetVCoreDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/GetVCoreDatabase.json new file mode 100644 index 000000000000..5b11ead71661 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/GetVCoreDatabase.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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, + "storageAccountType": "GRS", + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen5", + "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" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ListDatabasesByElasticPool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ListDatabasesByElasticPool.json new file mode 100644 index 000000000000..80fd7a64f5c8 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-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/2020-08-01-preview/examples/ListVCoreDatabasesByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ListVCoreDatabasesByServer.json new file mode 100644 index 000000000000..06adab346f71 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ListVCoreDatabasesByServer.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2020-08-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, + "storageAccountType": "GRS", + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "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" + }, + { + "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", + "storageAccountType": "GRS", + "zoneRedundant": false, + "readScale": "Disabled", + "currentSku": { + "name": "System0", + "tier": "System", + "capacity": 0 + } + }, + "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/2020-08-01-preview/examples/PatchVCoreDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/PatchVCoreDatabase.json new file mode 100644 index 000000000000..7e9119481071 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/PatchVCoreDatabase.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-08-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, + "storageAccountType": "GRS", + "zoneRedundant": false, + "readScale": "Enabled", + "earliestRestoreDate": "2017-06-07T04:51:33.937Z", + "currentSku": { + "name": "BC_Gen4", + "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/2020-08-01-preview/examples/PauseDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/PauseDatabase.json new file mode 100644 index 000000000000..a2b0165e525b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-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/2020-08-01-preview/examples/RenameDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/RenameDatabase.json new file mode 100644 index 000000000000..963ff8794aad --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-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/2020-08-01-preview/examples/ResumeDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/ResumeDatabase.json new file mode 100644 index 000000000000..19265add6d6b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-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/2020-08-01-preview/examples/UpgradeDataWarehouse.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-01-preview/examples/UpgradeDataWarehouse.json new file mode 100644 index 000000000000..76aed8cca6eb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-08-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": "2017-03-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/readme.azureresourceschema.md b/specification/sql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8f7212bea7af --- /dev/null +++ b/specification/sql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,326 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-sql-2020-08-01-preview + - tag: schema-sql-2020-02-02-preview + - tag: schema-sql-2019-06-01-preview + - tag: schema-sql-2018-06-01-preview + - tag: schema-sql-2017-10-01-preview + - tag: schema-sql-2017-03-01-preview + - tag: schema-sql-2015-05-01-preview + - tag: schema-sql-2015-05-01 + - tag: schema-sql-2014-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-sql-2020-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2020-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - ./Microsoft.Sql/preview/2020-08-01-preview/databases.json + - ./Microsoft.Sql/preview/2020-08-01-preview/elasticPools.json + +``` + +### Tag: schema-sql-2020-02-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2020-02-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json + - Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - Microsoft.Sql/preview/2020-02-02-preview/importexport.json + - Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + - Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json + - ./Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/operations.json + - ./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json + +``` + +### Tag: schema-sql-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2019-06-01-preview/databases.json + - Microsoft.Sql/preview/2019-06-01-preview/servers.json + - Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json + - Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json + - Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json + - Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json + - Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json + - Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json + - ./Microsoft.Sql/preview/2019-06-01-preview/databases.json + - ./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json + - ./Microsoft.Sql/preview/2019-06-01-preview/servers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json + - ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json + - ./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json + - ./Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json + - ./Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json + +``` + +### Tag: schema-sql-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json + - Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json + - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json + - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json + - Microsoft.Sql/preview/2018-06-01-preview/usages.json + - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json + - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json + - Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json + - Microsoft.Sql/preview/2018-06-01-preview/capabilities.json + - Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json + - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json + - Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json + - ./Microsoft.Sql/preview/2018-06-01-preview/DatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2018-06-01-preview/instancePools.json + - ./Microsoft.Sql/preview/2018-06-01-preview/usages.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json + - ./Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json + - ./Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json + +``` + +### Tag: schema-sql-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json + - Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json + - Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json + - Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json + - Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json + - Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json + - Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json + - Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json + - ./Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json + - ./Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2017-10-01-preview/capabilities.json + - ./Microsoft.Sql/preview/2017-10-01-preview/databases.json + - ./Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json + - ./Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json + - ./Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json + - ./Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json + +``` + +### Tag: schema-sql-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json + - Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json + - Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json + - Microsoft.Sql/preview/2017-03-01-preview/jobs.json + - Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json + - Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json + - Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json + - Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json + - Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json + - Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json + - Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json + - Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json + - Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json + - Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json + - Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json + - Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json + - ./Microsoft.Sql/preview/2017-03-01-preview/jobs.json + - ./Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json + - ./Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json + - ./Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json + - ./Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json + - ./Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json + - ./Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json + +``` + +### Tag: schema-sql-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json + - Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json + - Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json + - Microsoft.Sql/preview/2015-05-01-preview/operations.json + - Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json + - Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json + - Microsoft.Sql/preview/2015-05-01-preview/usages.json + - Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json + - Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json + - Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json + - Microsoft.Sql/preview/2015-05-01-preview/servers.json + - Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json + - Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json + - Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2015-05-01-preview/advisors.json + - ./Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json + - ./Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json + - ./Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json + - ./Microsoft.Sql/preview/2015-05-01-preview/firewallRules.json + - ./Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json + - ./Microsoft.Sql/preview/2015-05-01-preview/operations.json + - ./Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json + - ./Microsoft.Sql/preview/2015-05-01-preview/servers.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json + - ./Microsoft.Sql/preview/2015-05-01-preview/usages.json + - ./Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json + - ./Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json + +``` + +### Tag: schema-sql-2015-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2015-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/stable/2015-05-01/capabilities.json + +``` + +### Tag: schema-sql-2014-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2014-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/stable/2014-04-01/backups.json + - Microsoft.Sql/stable/2014-04-01/connectionPolicies.json + - Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json + - Microsoft.Sql/stable/2014-04-01/dataMasking.json + - Microsoft.Sql/stable/2014-04-01/firewallRules.json + - Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json + - Microsoft.Sql/stable/2014-04-01/metrics.json + - Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json + - Microsoft.Sql/stable/2014-04-01/replicationLinks.json + - Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json + - Microsoft.Sql/stable/2014-04-01/serviceObjectives.json + - Microsoft.Sql/stable/2014-04-01/sql.core.json + - Microsoft.Sql/stable/2014-04-01/usages.json + - Microsoft.Sql/stable/2014-04-01/capabilities.json + - Microsoft.Sql/stable/2014-04-01/databases.json + - Microsoft.Sql/stable/2014-04-01/elasticPools.json + - Microsoft.Sql/stable/2014-04-01/importExport.json + - Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json + - Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json + - Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json + - Microsoft.Sql/stable/2014-04-01/restorePoints.json + - ./Microsoft.Sql/stable/2014-04-01/advisors.json + - ./Microsoft.Sql/stable/2014-04-01/backups.json + - ./Microsoft.Sql/stable/2014-04-01/capabilities.json + - ./Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json + - ./Microsoft.Sql/stable/2014-04-01/connectionPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/databases.json + - ./Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/dataMasking.json + - ./Microsoft.Sql/stable/2014-04-01/deprecated.json + - ./Microsoft.Sql/stable/2014-04-01/disasterRecoveryConfigurations.json + - ./Microsoft.Sql/stable/2014-04-01/elasticPools.json + - ./Microsoft.Sql/stable/2014-04-01/firewallRules.json + - ./Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/importExport.json + - ./Microsoft.Sql/stable/2014-04-01/metrics.json + - ./Microsoft.Sql/stable/2014-04-01/operations.json + - ./Microsoft.Sql/stable/2014-04-01/queries.json + - ./Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json + - ./Microsoft.Sql/stable/2014-04-01/replicationLinks.json + - ./Microsoft.Sql/stable/2014-04-01/restorePoints.json + - ./Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json + - ./Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json + - ./Microsoft.Sql/stable/2014-04-01/servers.json + - ./Microsoft.Sql/stable/2014-04-01/serviceObjectives.json + - ./Microsoft.Sql/stable/2014-04-01/sql.core.json + - ./Microsoft.Sql/stable/2014-04-01/tableAuditing.json + - ./Microsoft.Sql/stable/2014-04-01/usages.json + +``` diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index fecbf7467db3..ac115bb2ba12 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -24,13 +24,117 @@ These are the global settings for the Sql API. title: SqlManagementClient description: 'The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases.' openapi-type: arm -tag: package-composite-v3 +tag: package-composite-v4 ``` ## Composite packages The following packages may be composed from multiple api-versions. +### Tag: package-composite-v4 + +These settings apply only when `--tag=package-composite-v4` is specified on the command line. + +This section contains the "composite-v4" set of APIs, which is composed from a selection of api-versions that will remain backwards compatible with "v4" clients such as .NET SDK Microsoft.Azure.Management.Sql version 1.44.3.0-preview. + +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. + +Differences in v4 (compared to v3): + +* Added new API for databases and elastic pools + + * `-2020-08-01/databases.json` + + * `-2020-08-01/elasticPools.json` + +* Failover API for elastic pools was integrated into elasticPools + +``` yaml $(tag) == 'package-composite-v4' +input-file: +- Microsoft.Sql/stable/2014-04-01/backups.json +- Microsoft.Sql/stable/2014-04-01/connectionPolicies.json +- Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json +- Microsoft.Sql/stable/2014-04-01/dataMasking.json +- Microsoft.Sql/stable/2014-04-01/firewallRules.json +- Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json +- Microsoft.Sql/stable/2014-04-01/metrics.json +- Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json +- Microsoft.Sql/stable/2014-04-01/replicationLinks.json +- Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json +- Microsoft.Sql/stable/2014-04-01/serviceObjectives.json +- Microsoft.Sql/stable/2014-04-01/sql.core.json +- Microsoft.Sql/stable/2014-04-01/usages.json +- Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json +- Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json +- Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json +- Microsoft.Sql/preview/2015-05-01-preview/operations.json +- Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json +- Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json +- Microsoft.Sql/preview/2015-05-01-preview/usages.json +- Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json +- Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json +- Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json +- Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json +- Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json +- Microsoft.Sql/preview/2017-03-01-preview/jobs.json +- Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json +- Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json +- Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json +- Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json +- Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json +- Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json +- Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json +- Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json +- Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json +- Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json +- Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json +- Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json +- Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json +- Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json +- Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json +- Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json +- Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json +- Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json +- Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json +- Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json +- Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json +- Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json +- Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json +- Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json +- Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json +- Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json +- Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json +- Microsoft.Sql/preview/2018-06-01-preview/instancePools.json +- Microsoft.Sql/preview/2018-06-01-preview/usages.json +- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json +- Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json +- Microsoft.Sql/preview/2019-06-01-preview/servers.json +- Microsoft.Sql/preview/2018-06-01-preview/capabilities.json +- Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json +- Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json +- Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json +- Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json +- Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json +- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json +- Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json +- Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json +- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json +- Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json +- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/importexport.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json +- Microsoft.Sql/preview/2020-08-01-preview/databases.json +- Microsoft.Sql/preview/2020-08-01-preview/elasticPools.json + + +# Needed when there is more than one input file +override-info: + title: SqlManagementClient +``` + ### Tag: package-composite-v3 These settings apply only when `--tag=package-composite-v3` is specified on the command line. @@ -57,8 +161,6 @@ Differences in v3 (compared to v2): * `+2017-10-01-preview/capabilities.json` - * `+2017-10-01-preview/databases.json` - * `+2017-10-01-preview/elasticPools.json` * `+2018-06-01-preview/capabilities.json` @@ -71,7 +173,6 @@ input-file: - Microsoft.Sql/stable/2014-04-01/dataMasking.json - Microsoft.Sql/stable/2014-04-01/firewallRules.json - Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json -- Microsoft.Sql/stable/2014-04-01/importExport.json - Microsoft.Sql/stable/2014-04-01/metrics.json - Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json - Microsoft.Sql/stable/2014-04-01/replicationLinks.json @@ -106,7 +207,6 @@ input-file: - Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json - Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json - Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json -- Microsoft.Sql/preview/2017-10-01-preview/databases.json - Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json - Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json @@ -123,10 +223,10 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - Microsoft.Sql/preview/2018-06-01-preview/usages.json -- Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json +- Microsoft.Sql/preview/2019-06-01-preview/databases.json - Microsoft.Sql/preview/2019-06-01-preview/servers.json - Microsoft.Sql/preview/2018-06-01-preview/capabilities.json - Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json @@ -142,6 +242,10 @@ input-file: - Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json - Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/importexport.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json + # Needed when there is more than one input file override-info: @@ -245,6 +349,8 @@ input-file: - Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json - Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json # Needed when there is more than one input file override-info: @@ -337,6 +443,8 @@ input-file: - Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json - Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json # Needed when there is more than one input file override-info: @@ -481,6 +589,26 @@ override-info: The following packages are each composed of all apis from only one api-version. +### Tag: package-pure-2020-08-preview + +These settings apply only when `--tag=package-pure-2020-08-preview` is specified on the command line. + +This section contains all input swagger files for version 2020-08-01-preview. All APIs of that version must be added this section when the API is ready for production. + +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. + +These can be regenerated by running the following PowerShell script from this readme file's folder: `dir .\Microsoft.Sql\preview\2020-08-01-preview\ -File | Resolve-Path -Relative | % { " - $_".Replace("\", "/") }` + +``` yaml $(tag) == 'package-pure-2020-08-preview' +input-file: +- ./Microsoft.Sql/preview/2020-08-01-preview/databases.json +- ./Microsoft.Sql/preview/2020-08-01-preview/elasticPools.json + +# Needed when there is more than one input file +override-info: + title: SqlManagementClient + ``` + ### Tag: package-pure-2020-02-preview These settings apply only when `--tag=package-pure-2020-02-preview` is specified on the command line. @@ -499,7 +627,10 @@ input-file: - ./Microsoft.Sql/preview/2020-02-02-preview/operations.json - ./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - ./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json -- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/importexport.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ServerTrustGroups.json # Needed when there is more than one input file override-info: @@ -749,6 +880,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_sql'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js sql/resource-manager ``` ### C# @@ -815,230 +949,7 @@ directive: reason: This warning gives many positives for existing APIs that cannot be changed. ``` -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +## AzureResourceSchema -This block is updated by an automatic script. Edits may be lost! +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -``` 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.Sql/stable/2014-04-01/backups.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/connectionPolicies.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/dataMasking.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/firewallRules.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/importExport.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/metrics.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/replicationLinks.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/serviceObjectives.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/sql.core.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/usages.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/operations.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/usages.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/jobs.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/databases.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/usages.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/servers.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/capabilities.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json - - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/capabilities.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/databases.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/elasticPools.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/servers.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json - - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/restorePoints.json - - $(this-folder)/Microsoft.Sql/stable/2015-05-01/capabilities.json - - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json - - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/operations.json - - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/databases.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/servers.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json - - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/DatabaseSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/usages.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/capabilities.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/databases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json - - $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/databases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/jobs.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json - - $(this-folder)/./Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/advisors.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/firewallRules.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/operations.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/servers.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/usages.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json - - $(this-folder)/./Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/advisors.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/backups.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/capabilities.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/connectionPolicies.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/databases.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/dataMasking.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/deprecated.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/disasterRecoveryConfigurations.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/elasticPools.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/firewallRules.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/importExport.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/metrics.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/operations.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/queries.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/replicationLinks.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/restorePoints.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/servers.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/serviceObjectives.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/sql.core.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/tableAuditing.json - - $(this-folder)/./Microsoft.Sql/stable/2014-04-01/usages.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/sqlvirtualmachine/resource-manager/readme.azureresourceschema.md b/specification/sqlvirtualmachine/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0d9c79d76850 --- /dev/null +++ b/specification/sqlvirtualmachine/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-sqlvirtualmachine-2017-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-sqlvirtualmachine-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sqlvirtualmachine-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.json + +``` diff --git a/specification/sqlvirtualmachine/resource-manager/readme.md b/specification/sqlvirtualmachine/resource-manager/readme.md index 57a9d7a5d7c9..2f795d6ed01d 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-go - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js sqlvirtualmachine/resource-manager ``` @@ -111,27 +114,7 @@ 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 +## AzureResourceSchema -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.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/storSimple1200Series/resource-manager/readme.azureresourceschema.md b/specification/storSimple1200Series/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..bb72935f7dd8 --- /dev/null +++ b/specification/storSimple1200Series/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-storsimple-2016-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storsimple-2016-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storsimple-2016-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorSimple/stable/2016-10-01/StorSimple.json + +``` diff --git a/specification/storSimple1200Series/resource-manager/readme.md b/specification/storSimple1200Series/resource-manager/readme.md index 07c8c2d103b9..be1de214a05b 100644 --- a/specification/storSimple1200Series/resource-manager/readme.md +++ b/specification/storSimple1200Series/resource-manager/readme.md @@ -61,6 +61,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stor_simple1200_series'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storSimple1200Series/resource-manager ``` @@ -97,27 +100,7 @@ java: output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storsimple1200series ``` -## 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.StorSimple/stable/2016-10-01/StorSimple.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/blob.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/blob.json new file mode 100644 index 000000000000..bfb8cb862ec7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/blob.json @@ -0,0 +1,1420 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01-preview", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices": { + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_List", + "x-ms-examples": { + "ListBlobServices": { + "$ref": "./examples/BlobServicesList.json" + } + }, + "description": "List blob services of storage account. It returns a collection of one object named default.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List blob services operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}": { + "put": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_SetServiceProperties", + "x-ms-examples": { + "PutBlobServices": { + "$ref": "./examples/BlobServicesPut.json" + }, + "BlobServicesPutLastAccessTimeBasedTracking": { + "$ref": "./examples/BlobServicesPutLastAccessTimeBasedTracking.json" + } + }, + "description": "Sets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "The properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Blob service successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + }, + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_GetServiceProperties", + "x-ms-examples": { + "GetBlobServices": { + "$ref": "./examples/BlobServicesGet.json" + } + }, + "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": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Blob service.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers": { + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_List", + "x-ms-examples": { + "ListContainers": { + "$ref": "./examples/BlobContainersList.json" + }, + "ListDeletedContainers": { + "$ref": "./examples/DeletedBlobContainersList.json" + } + }, + "description": "Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of containers that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only container names starting with the filter will be listed." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListContainersInclude", + "modelAsString": true + }, + "description": "Optional, used to include the properties for soft deleted blob containers." + } + ], + "responses": { + "200": { + "description": "OK -- List Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/ListContainerItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Create", + "x-ms-examples": { + "PutContainers": { + "$ref": "./examples/BlobContainersPut.json" + }, + "PutContainerWithDefaultEncryptionScope": { + "$ref": "./examples/BlobContainersPutDefaultEncryptionScope.json" + } + }, + "description": "Creates a new container under the specified account as described by request body. The container resource includes metadata and properties for that container. It does not include a list of the blobs contained by the container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties of the blob container to create." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + }, + "200": { + "description": "OK -- The Container is already created.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "patch": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Update", + "x-ms-examples": { + "UpdateContainers": { + "$ref": "./examples/BlobContainersPatch.json" + } + }, + "description": "Updates container properties as specified in request body. Properties not mentioned in the request will be unchanged. Update fails if the specified container doesn't already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties to update for the blob container." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer", + "description": "Properties of the updated blob container." + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Get", + "x-ms-examples": { + "GetContainers": { + "$ref": "./examples/BlobContainersGet.json" + } + }, + "description": "Gets properties of a specified container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Delete", + "x-ms-examples": { + "DeleteContainers": { + "$ref": "./examples/BlobContainersDelete.json" + } + }, + "description": "Deletes specified container under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete Container operation completed successfully." + }, + "204": { + "description": "No Content -- The Container not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_SetLegalHold", + "x-ms-examples": { + "SetLegalHoldContainers": { + "$ref": "./examples/BlobContainersSetLegalHold.json" + } + }, + "description": "Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold follows an append pattern and does not clear out the existing tags that are not specified in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be set to a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Set legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ClearLegalHold", + "x-ms-examples": { + "ClearLegalHoldContainers": { + "$ref": "./examples/BlobContainersClearLegalHold.json" + } + }, + "description": "Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent operation. ClearLegalHold clears out only the specified tags in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be clear from a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Clear legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_CreateOrUpdateImmutabilityPolicy", + "x-ms-examples": { + "CreateOrUpdateImmutabilityPolicy": { + "$ref": "./examples/BlobContainersPutImmutabilityPolicy.json" + } + }, + "description": "Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but not required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be created or updated to a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Creates or updates container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_GetImmutabilityPolicy", + "x-ms-examples": { + "GetImmutabilityPolicy": { + "$ref": "./examples/BlobContainersGetImmutabilityPolicy.json" + } + }, + "description": "Gets the existing immutability policy along with the corresponding ETag in response headers and body.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Gets container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_DeleteImmutabilityPolicy", + "x-ms-examples": { + "DeleteImmutabilityPolicy": { + "$ref": "./examples/BlobContainersDeleteImmutabilityPolicy.json" + } + }, + "description": "Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this operation. Deleting a locked immutability policy is not allowed, the only way is to delete the container after deleting all expired blobs inside the policy locked container.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Deletes container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_LockImmutabilityPolicy", + "x-ms-examples": { + "LockImmutabilityPolicy": { + "$ref": "./examples/BlobContainersLockImmutabilityPolicy.json" + } + }, + "description": "Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Locks container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ExtendImmutabilityPolicy", + "x-ms-examples": { + "ExtendImmutabilityPolicy": { + "$ref": "./examples/BlobContainersExtendImmutabilityPolicy.json" + } + }, + "description": "Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only action allowed on a Locked policy will be this action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be extended for a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Extends container ImmutabilityPolicy operation completed successfully..", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Lease", + "x-ms-examples": { + "Acquire a lease on a container": { + "$ref": "./examples/BlobContainersLease_Acquire.json" + }, + "Break a lease on a container": { + "$ref": "./examples/BlobContainersLease_Break.json" + } + }, + "description": "The Lease Container operation 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": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LeaseContainerRequest" + }, + "description": "Lease Container request body." + } + ], + "responses": { + "200": { + "description": "OK -- Lease Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/LeaseContainerResponse" + } + } + } + } + } + }, + "definitions": { + "ContainerProperties": { + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the deleted blob container." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the blob container was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Blob container deletion time." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for soft deleted blob container." + }, + "defaultEncryptionScope": { + "type": "string", + "description": "Default the container to use specified encryption scope for all writes." + }, + "denyEncryptionScopeOverride": { + "type": "boolean", + "description": "Block override of encryption scope from the container default." + }, + "publicAccess": { + "type": "string", + "enum": [ + "Container", + "Blob", + "None" + ], + "x-ms-enum": { + "name": "PublicAccess", + "modelAsString": false + }, + "description": "Specifies whether data in the container may be accessed publicly and the level of access." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the container was last modified." + }, + "leaseStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatus", + "modelAsString": true + }, + "description": "The lease status of the container." + }, + "leaseState": { + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Leased", + "Expired", + "Breaking", + "Broken" + ], + "x-ms-enum": { + "name": "LeaseState", + "modelAsString": true + }, + "description": "Lease state of the container." + }, + "leaseDuration": { + "type": "string", + "readOnly": true, + "enum": [ + "Infinite", + "Fixed" + ], + "x-ms-enum": { + "name": "LeaseDuration", + "modelAsString": true + }, + "description": "Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the container as metadata." + }, + "immutabilityPolicy": { + "readOnly": true, + "$ref": "#/definitions/ImmutabilityPolicyProperties", + "x-ms-client-name": "ImmutabilityPolicy", + "description": "The ImmutabilityPolicy property of the container." + }, + "legalHold": { + "readOnly": true, + "$ref": "#/definitions/LegalHoldProperties", + "description": "The LegalHold property of the container." + }, + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "hasImmutabilityPolicy": { + "type": "boolean", + "readOnly": true, + "description": "The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container." + } + }, + "description": "The properties of a container." + }, + "BlobContainer": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "ContainerProperties", + "description": "Properties of the blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the blob container, including Id, resource name, resource type, Etag." + }, + "ImmutabilityPolicyProperty": { + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyState", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked." + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API" + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicyProperties": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "ImmutabilityPolicy Etag." + }, + "updateHistory": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UpdateHistoryProperty" + }, + "description": "The ImmutabilityPolicy update history of the blob container." + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "required": [ + "properties" + ], + "description": "The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag." + }, + "UpdateHistoryProperty": { + "properties": { + "update": { + "type": "string", + "readOnly": true, + "enum": [ + "put", + "lock", + "extend" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyUpdateType", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend." + }, + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "readOnly": true, + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the ImmutabilityPolicy was updated." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who updated the ImmutabilityPolicy." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who updated the ImmutabilityPolicy." + } + }, + "description": "An update history of the ImmutabilityPolicy of a blob container." + }, + "LegalHoldProperties": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/TagProperty" + }, + "description": "The list of LegalHold tags of a blob container." + } + }, + "description": "The LegalHold property of a blob container." + }, + "TagProperty": { + "properties": { + "tag": { + "type": "string", + "readOnly": true, + "description": "The tag value." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the tag was added." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who added the tag." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who added the tag." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who added the tag." + } + }, + "description": "A tag of the LegalHold of a blob container." + }, + "LegalHold": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "type": "string", + "maxLength": 23, + "minLength": 3 + }, + "description": "Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP." + } + }, + "required": [ + "tags" + ], + "description": "The LegalHold property of a blob container." + }, + "ListContainerItem": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "description": "The blob container properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The blob container properties be listed out." + }, + "ListContainerItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListContainerItem" + }, + "description": "List of blobs containers returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers." + }, + "BlobServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/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." + }, + "defaultServiceVersion": { + "type": "string", + "description": "DefaultServiceVersion indicates 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." + }, + "deleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for blob soft delete." + }, + "isVersioningEnabled": { + "type": "boolean", + "description": "Versioning is enabled if set to true." + }, + "automaticSnapshotPolicyEnabled": { + "type": "boolean", + "description": "Deprecated in favor of isVersioningEnabled property." + }, + "changeFeed": { + "$ref": "#/definitions/ChangeFeed", + "description": "The blob service properties for change feed events." + }, + "restorePolicy": { + "$ref": "#/definitions/RestorePolicyProperties", + "description": "The blob service properties for blob restore policy." + }, + "containerDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for container soft delete." + }, + "lastAccessTimeTrackingPolicy": { + "$ref": "#/definitions/LastAccessTimeTrackingPolicy", + "description": "The blob service property to configure last access time based tracking policy." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "BlobServiceProperties", + "description": "The properties of a storage account’s Blob service." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Blob service." + }, + "BlobServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "List of blob services returned.", + "readOnly": true + } + } + }, + "ChangeFeed": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether change feed event logging is enabled for the Blob service." + } + }, + "description": "The blob service properties for change feed events." + }, + "RestorePolicyProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Blob restore is enabled if set to true." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days." + }, + "lastEnabledTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Deprecated in favor of minRestoreTime property." + }, + "minRestoreTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the minimum date and time that the restore can be started." + } + }, + "required": [ + "enabled" + ], + "description": "The blob service properties for blob restore policy" + }, + "LastAccessTimeTrackingPolicy": { + "properties": { + "enable": { + "type": "boolean", + "description": "When set to true last access time based tracking is enabled." + }, + "name": { + "type": "string", + "description": "Name of the policy. The valid value is AccessTimeTracking. This field is currently read only", + "enum": [ + "AccessTimeTracking" + ], + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + }, + "trackingGranularityInDays": { + "type": "integer", + "format": "int32", + "description": "The field specifies blob object tracking granularity in days, typically how often the blob object should be tracked.This field is currently read only with value as 1" + }, + "blobType": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently read only" + } + }, + "required": [ + "enable" + ], + "description": "The blob service properties for Last access time based tracking policy." + }, + "LeaseContainerRequest": { + "properties": { + "action": { + "type": "string", + "enum": [ + "Acquire", + "Renew", + "Change", + "Release", + "Break" + ], + "description": "Specifies the lease action. Can be one of the available actions." + }, + "leaseId": { + "type": "string", + "description": "Identifies the lease. Can be specified in any valid GUID string format." + }, + "breakPeriod": { + "type": "integer", + "description": "Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60." + }, + "leaseDuration": { + "type": "integer", + "description": "Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires." + }, + "proposedLeaseId": { + "type": "string", + "description": "Optional for acquire, required for change. Proposed lease ID, in a GUID string format." + } + }, + "required": [ + "action" + ], + "description": "Lease Container request schema." + }, + "LeaseContainerResponse": { + "properties": { + "leaseId": { + "type": "string", + "description": "Returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease." + }, + "leaseTimeSeconds": { + "type": "string", + "description": "Approximate time remaining in the lease period, in seconds." + } + }, + "description": "Lease Container response schema." + } + }, + "parameters": { + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ImmutabilityPolicyName": { + "name": "immutabilityPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "BlobServicesName": { + "name": "BlobServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob Service within the specified storage account. Blob Service Name must be 'default'", + "enum": [ + "default" + ], + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/common.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/common.json new file mode 100644 index 000000000000..2aaaf5dadb5a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/common.json @@ -0,0 +1,137 @@ +{ + "swagger": "2.0", + "info": { + "title": "Storage", + "description": "Storage Resource Provider API Common Types", + "version": "2020-08-01-preview" + }, + "paths": {}, + "definitions": { + "CorsRules": { + "properties": { + "corsRules": { + "type": "array", + "items": { + "description": "Specifies a CORS rule for the Blob service. ", + "$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": { + "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" + }, + "allowedMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DELETE", + "GET", + "HEAD", + "MERGE", + "POST", + "OPTIONS", + "PUT" + ] + }, + "description": "Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin." + }, + "maxAgeInSeconds": { + "type": "integer", + "description": "Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response." + }, + "exposedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of response headers to expose to CORS clients." + }, + "allowedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin request." + } + }, + "required": [ + "allowedOrigins", + "allowedMethods", + "maxAgeInSeconds", + "exposedHeaders", + "allowedHeaders" + ], + "description": "Specifies a CORS rule for the Blob service." + }, + "DeleteRetentionPolicy": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether DeleteRetentionPolicy is enabled." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and the maximum value can be 365." + } + }, + "description": "The service properties for soft delete." + }, + "Sku": { + "properties": { + "name": { + "$ref": "#/definitions/SkuName" + }, + "tier": { + "$ref": "#/definitions/Tier" + } + }, + "required": [ + "name" + ], + "description": "The SKU of the storage account." + }, + "SkuName": { + "type": "string", + "description": "The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType.", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS", + "Premium_ZRS", + "Standard_GZRS", + "Standard_RAGZRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "Tier": { + "readOnly": true, + "type": "string", + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersClearLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersClearLegalHold.json new file mode 100644 index 000000000000..10cb1f973985 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersClearLegalHold.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2020-08-01-preview", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": false, + "tags": [] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDelete.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDelete.json new file mode 100644 index 000000000000..1b458fc42fbf --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "containerName": "container9689", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDeleteImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDeleteImmutabilityPolicy.json new file mode 100644 index 000000000000..8e3c544f52ce --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersDeleteImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1581", + "accountName": "sto9621", + "containerName": "container4910", + "immutabilityPolicyName": "default", + "If-Match": "\"8d59f81a7fa7be0\"", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1581/providers/Microsoft.Storage/storageAccounts/sto9621/blobServices/default/containers/container4910/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f81a87b40c0\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 0, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersExtendImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersExtendImmutabilityPolicy.json new file mode 100644 index 000000000000..012711dc8900 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersExtendImmutabilityPolicy.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6238", + "accountName": "sto232", + "containerName": "container5023", + "If-Match": "\"8d59f830d0c3bf9\"", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 100 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6238/providers/Microsoft.Storage/storageAccounts/sto232/blobServices/default/containers/container5023/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8b2ff50332\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGet.json new file mode 100644 index 000000000000..fcd31bb5b494 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGet.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "containerName": "container1634", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/blobServices/default/containers/container1634", + "name": "container1634", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-26T05:06:14Z", + "immutabilityPolicy": { + "etag": "\"8d592d74cb3011a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + }, + "updateHistory": [ + { + "update": "put", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:11.431403Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "lock", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:13.0907641Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "extend", + "immutabilityPeriodSinceCreationInDays": 100, + "timestamp": "2018-03-26T05:06:14.7097716Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "legalHold": { + "hasLegalHold": true, + "tags": [ + { + "tag": "tag1", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag2", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag3", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "hasImmutabilityPolicy": true, + "hasLegalHold": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGetImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGetImmutabilityPolicy.json new file mode 100644 index 000000000000..a252a1fab23b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersGetImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res5221", + "accountName": "sto9177", + "containerName": "container3489", + "immutabilityPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res5221/providers/Microsoft.Storage/storageAccounts/sto9177/blobServices/default/containers/container3489/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f828e64b75c\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 5, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Acquire.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Acquire.json new file mode 100644 index 000000000000..06e750eed70a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Acquire.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "action": "Acquire", + "leaseId": null, + "breakPeriod": null, + "leaseDuration": -1, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Break.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Break.json new file mode 100644 index 000000000000..5478c1ddb953 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLease_Break.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "action": "Break", + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d", + "breakPeriod": null, + "leaseDuration": null, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseTimeSeconds": "0" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersList.json new file mode 100644 index 000000000000..f36181499495 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto1590/container5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLockImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLockImmutabilityPolicy.json new file mode 100644 index 000000000000..df3fe04ade92 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersLockImmutabilityPolicy.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res2702", + "accountName": "sto5009", + "containerName": "container1631", + "If-Match": "\"8d59f825b721dd3\"", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2702/providers/Microsoft.Storage/storageAccounts/sto5009/blobServices/default/containers/container1631/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8a5edb084a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPatch.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPatch.json new file mode 100644 index 000000000000..c72b4b1035f9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPatch.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": { + "properties": { + "publicAccess": "Container", + "metadata": { + "metadata": "true" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "metadata": { + "metadata": "true" + }, + "publicAccess": "Container", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPut.json new file mode 100644 index 000000000000..f5b3a3d5794b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutDefaultEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutDefaultEncryptionScope.json new file mode 100644 index 000000000000..a59517407b49 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutDefaultEncryptionScope.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": { + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutImmutabilityPolicy.json new file mode 100644 index 000000000000..27551892b1b6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersPutImmutabilityPolicy.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f830cb130e5\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersSetLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersSetLegalHold.json new file mode 100644 index 000000000000..6b1ab8d4b261 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobContainersSetLegalHold.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2020-08-01-preview", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": true, + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobRangesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobRangesRestore.json new file mode 100644 index 000000000000..f0734ba8bffe --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobRangesRestore.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2020-08-01-preview", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + }, + "responses": { + "200": { + "body": { + "status": "Complete", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + }, + "202": { + "body": { + "status": "InProgress", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesGet.json new file mode 100644 index 000000000000..2c798564c013 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesGet.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesList.json new file mode 100644 index 000000000000..ea401b4bdff1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesList.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPut.json new file mode 100644 index 000000000000..c9c5721201aa --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPut.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPutLastAccessTimeBasedTracking.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPutLastAccessTimeBasedTracking.json new file mode 100644 index 000000000000..a412fc28b489 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/BlobServicesPutLastAccessTimeBasedTracking.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountGet.json new file mode 100644 index 000000000000..ba101108e6a1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "deletedAccountName": "sto1125", + "location": "eastus", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountList.json new file mode 100644 index 000000000000..349a61b71f5f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedAccountList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1126", + "name": "sto1126", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1126", + "location": "eastus", + "restoreReference": "sto1126|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-19T15:10:21.5902165Z", + "deletionTime": "2020-08-20T06:11:55.1957302Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedBlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedBlobContainersList.json new file mode 100644 index 000000000000..07187362cf95 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedBlobContainersList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$include": "deleted", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Expired", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedFileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedFileSharesList.json new file mode 100644 index 000000000000..367bdc496aef --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/DeletedFileSharesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "deleted", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644_1234567890", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesGet.json new file mode 100644 index 000000000000..8eb74767f742 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesGet.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesList.json new file mode 100644 index 000000000000..35748bd6bbd9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut.json new file mode 100644 index 000000000000..4ec0318cbdb9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut_EnableSMBMultichannel.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut_EnableSMBMultichannel.json new file mode 100644 index 000000000000..4368652b23e3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileServicesPut_EnableSMBMultichannel.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesDelete.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesDelete.json new file mode 100644 index 000000000000..5c9c087b70bc --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "shareName": "share9689", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet.json new file mode 100644 index 000000000000..40249307aaa9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet_Stats.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet_Stats.json new file mode 100644 index 000000000000..1e1bcb64860f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesGet_Stats.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "$expand": "stats", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024, + "shareUsageBytes": 652945 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesList.json new file mode 100644 index 000000000000..c14b8688d0af --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto1590/share5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPatch.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPatch.json new file mode 100644 index 000000000000..874b847a9066 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPatch.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "metadata": { + "type": "image" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "metadata": { + "type": "image" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut.json new file mode 100644 index 000000000000..7e5874fbd6ec --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_AccessTier.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_AccessTier.json new file mode 100644 index 000000000000..60f4fcddcdbd --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_AccessTier.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "accessTier": "Hot" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_NFS.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_NFS.json new file mode 100644 index 000000000000..911098c05a16 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesPut_NFS.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesRestore.json new file mode 100644 index 000000000000..e7f3e769af29 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/FileSharesRestore.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share1249", + "deletedShare": { + "deletedShareName": "share1249", + "deletedShareVersion": "1234567890" + }, + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/OperationsList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..0cae850d4c35 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/OperationsList.json @@ -0,0 +1,473 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage/storageAccounts/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Storage Account", + "description": "Creates a storage account with the specified parameters or update the properties or tags or adds custom domain for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/delete", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Delete Storage Account", + "description": "Deletes an existing storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listkeys/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List Storage Account Keys", + "description": "Returns the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/regeneratekey/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Regenerate Storage Account Keys", + "description": "Regenerates the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/checknameavailability/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that account name is valid and is not in use." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List/Get Storage Account(s)", + "description": "Returns the list of storage accounts or gets the properties for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/usages/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Usage Metrics", + "operation": "Get Subscription Usages", + "description": "Returns the limit and the current usage count for resources in the specified subscription" + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listAccountSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Account SAS Token", + "operation": "Returns Storage Account SAS Token", + "description": "Returns the Account SAS token for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listServiceSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Returns the Service SAS token for the specified storage account.", + "operation": "Returns Storage Service SAS Token", + "description": "Storage Service SAS Token" + } + }, + { + "name": "Microsoft.Storage/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Location", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.Storage that virtual network or subnet is being deleted" + } + }, + { + "name": "Microsoft.Storage/operations/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Operations", + "operation": "Poll Asynchronous Operation", + "description": "Polls the status of an asynchronous operation." + } + }, + { + "name": "Microsoft.Storage/register/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Resource Provider", + "operation": "Registers the Storage Resource Provider", + "description": "Registers the subscription for the storage resource provider and enables the creation of storage accounts." + } + }, + { + "name": "Microsoft.Storage/skus/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Skus", + "operation": "List Skus", + "description": "Lists the Skus supported by Microsoft.Storage." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/services/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Diagnostic Settings", + "description": "Create/Update storage account diagnostic settings." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "UsedCapacity", + "displayName": "Used capacity", + "displayDescription": "Account used capacity", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity", + "resourceIdDimensionNameOverride": "AccountResourceId" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "BlobCapacity", + "displayName": "Blob Capacity", + "displayDescription": "The amount of storage used by the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobCount", + "displayName": "Blob Count", + "displayDescription": "The number of Blob in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "ContainerCount", + "displayName": "Blob Container Count", + "displayDescription": "The number of containers in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobProvisionedSize", + "displayName": "Blob Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "TableCapacity", + "displayName": "Table Capacity", + "displayDescription": "The amount of storage used by the storage account’s Table service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableCount", + "displayName": "Table Count", + "displayDescription": "The number of table in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableEntityCount", + "displayName": "Table Entity Count", + "displayDescription": "The number of table entities in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "QueueCapacity", + "displayName": "Queue Capacity", + "displayDescription": "The amount of storage used by the storage account’s Queue service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueCount", + "displayName": "Queue Count", + "displayDescription": "The number of queue in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueMessageCount", + "displayName": "Queue Message Count", + "displayDescription": "The approximate number of queue messages in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "FileCapacity", + "displayName": "File Capacity", + "displayDescription": "The amount of storage used by the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileProvisionedSize", + "displayName": "File Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileCount", + "displayName": "File Count", + "displayDescription": "The number of file in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileShareCount", + "displayName": "File Share Count", + "displayDescription": "The number of file shares in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationDelete.json new file mode 100644 index 000000000000..a5bdc3c353a4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationGet.json new file mode 100644 index 000000000000..9bdc029019f2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationList.json new file mode 100644 index 000000000000..a4d26ef075b0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6186", + "name": "queue6186", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto328/queue6187" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPatch.json new file mode 100644 index 000000000000..b662a6e6fc0b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPatch.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPut.json new file mode 100644 index 000000000000..b662a6e6fc0b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPut.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPutWithMetadata.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPutWithMetadata.json new file mode 100644 index 000000000000..715f0a90e034 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueOperationPutWithMetadata.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": { + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesGet.json new file mode 100644 index 000000000000..57674fe2aa55 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesList.json new file mode 100644 index 000000000000..9856b332de60 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesPut.json new file mode 100644 index 000000000000..19b5de24e288 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/QueueServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/SKUList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/SKUList.json new file mode 100644 index 000000000000..47724c855202 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/SKUList.json @@ -0,0 +1,6454 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "true" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCheckNameAvailability.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCheckNameAvailability.json new file mode 100644 index 000000000000..14dea4e1e9f8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "accountName": { + "name": "sto3363", + "type": "Microsoft.Storage/storageAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreate.json new file mode 100644 index 000000000000..220209545654 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreate.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2020-08-01-preview", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..921811358da9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..c651efb45d70 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDelete.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..0231254b70e7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteBlobInventoryPolicy.json new file mode 100644 index 000000000000..257bd12d0eb4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteBlobInventoryPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "blobInventoryPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteManagementPolicy.json new file mode 100644 index 000000000000..bc6a3dbaee8b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteManagementPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteObjectReplicationPolicy.json new file mode 100644 index 000000000000..db976a80fec2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeleteObjectReplicationPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeletePrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..2cb4619cc9f1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableAD.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableAD.json new file mode 100644 index 000000000000..609ddf8a2eaa --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableAD.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableCMK.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableCMK.json new file mode 100644 index 000000000000..cbc8b711edca --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEnableCMK.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEncryptionScopeList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEncryptionScopeList.json new file mode 100644 index 000000000000..6a71efff520e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountEncryptionScopeList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-1", + "name": "scope-1", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-2", + "name": "scope-2", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + }, + "creationTime": "2018-10-16T04:32:14.3355306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountFailover.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountFailover.json new file mode 100644 index 000000000000..d5633f6c53a5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountFailover.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetBlobInventoryPolicy.json new file mode 100644 index 000000000000..24e85d9cbabe --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetBlobInventoryPolicy.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "destination": "containerName", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + } + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetEncryptionScope.json new file mode 100644 index 000000000000..6ca8edf6f712 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetEncryptionScope.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encyrption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetManagementPolicy.json new file mode 100644 index 000000000000..59968b755c34 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetManagementPolicy.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T03:01:55.7168089Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetObjectReplicationPolicy.json new file mode 100644 index 000000000000..4418839a88e8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetObjectReplicationPolicy.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/{objectReplicationPolicy-Id}", + "name": "{objectReplicationPolicy-Id}", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "{objectReplicationPolicy-Id}", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1", + "rules": [ + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobC", + "blobD" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..a75298ddc6a7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetProperties.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetProperties.json new file mode 100644 index 000000000000..339fc0850970 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetProperties.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPropertiesCMKEnabled.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPropertiesCMKEnabled.json new file mode 100644 index 000000000000..8b8626bd2f10 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountGetPropertiesCMKEnabled.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountList.json new file mode 100644 index 000000000000..c0617cc2028f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountList.json @@ -0,0 +1,313 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2627/providers/Microsoft.Storage/storageAccounts/sto1125", + "kind": "Storage", + "location": "eastus", + "name": "sto1125", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:28:53.4540398Z", + "primaryEndpoints": { + "web": "https://sto1125.web.core.windows.net/", + "dfs": "https://sto1125.dfs.core.windows.net/", + "blob": "https://sto1125.blob.core.windows.net/", + "file": "https://sto1125.file.core.windows.net/", + "queue": "https://sto1125.queue.core.windows.net/", + "table": "https://sto1125.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto1125-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto1125-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto1125-microsoftrouting.blob.core.windows.net/", + "file": "https://sto1125-microsoftrouting.file.core.windows.net/", + "queue": "https://sto1125-microsoftrouting.queue.core.windows.net/", + "table": "https://sto1125-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto1125-internetrouting.web.core.windows.net/", + "dfs": "https://sto1125-internetrouting.dfs.core.windows.net/", + "blob": "https://sto1125-internetrouting.blob.core.windows.net/", + "file": "https://sto1125-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto3699", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto3699", + "properties": { + "creationTime": "2017-05-24T10:06:30.6093014Z", + "primaryEndpoints": { + "blob": "https://sto3699.blob.core.windows.net/", + "file": "https://sto3699.file.core.windows.net/", + "queue": "https://sto3699.queue.core.windows.net/", + "table": "https://sto3699.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto6637", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto6637", + "properties": { + "creationTime": "2017-05-24T10:09:39.5625175Z", + "primaryEndpoints": { + "blob": "https://sto6637.blob.core.windows.net/", + "file": "https://sto6637.file.core.windows.net/", + "queue": "https://sto6637.queue.core.windows.net/", + "table": "https://sto6637.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res8186/providers/Microsoft.Storage/storageAccounts/sto834", + "kind": "Storage", + "location": "eastus", + "name": "sto834", + "properties": { + "creationTime": "2017-05-24T13:28:20.8686541Z", + "primaryEndpoints": { + "blob": "https://sto834.blob.core.windows.net/", + "file": "https://sto834.file.core.windows.net/", + "queue": "https://sto834.queue.core.windows.net/", + "table": "https://sto834.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto9174", + "identity": { + "principalId": "933e3ddf-1802-4a51-9469-18a33b576f88", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto9174", + "properties": { + "creationTime": "2017-05-24T09:46:19.6556989Z", + "primaryEndpoints": { + "blob": "https://sto9174.blob.core.windows.net/", + "file": "https://sto9174.file.core.windows.net/", + "queue": "https://sto9174.queue.core.windows.net/", + "table": "https://sto9174.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListAccountSAS.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListAccountSAS.json new file mode 100644 index 000000000000..eaa3cc5ab9de --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListAccountSAS.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7985", + "accountName": "sto8588", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "signedServices": "b", + "signedResourceTypes": "s", + "signedPermission": "r", + "signedProtocol": "https,http", + "signedStart": "2017-05-24T10:42:03.1567373Z", + "signedExpiry": "2017-05-24T11:42:03.1567373Z", + "keyToSign": "key1" + } + }, + "responses": { + "200": { + "body": { + "accountSasToken": "sv=2015-04-05&ss=b&srt=s&sp=r&st=2017-05-24T10%3A42%3A03Z&se=2017-05-24T11%3A42%3A03Z&spr=https,http&sig=Z0I%2BEpM%2BPPlTC8ApfUf%2BcffO2aahMgZim3U0iArqsS0%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListBlobInventoryPolicy.json new file mode 100644 index 000000000000..657a525b6b8a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListBlobInventoryPolicy.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "destination": "containerName", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + } + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListByResourceGroup.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListByResourceGroup.json new file mode 100644 index 000000000000..0bda98930297 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6117", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4036", + "kind": "Storage", + "location": "eastus", + "name": "sto4036", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:24:47.818801Z", + "primaryEndpoints": { + "web": "https://sto4036.web.core.windows.net/", + "dfs": "https://sto4036.dfs.core.windows.net/", + "blob": "https://sto4036.blob.core.windows.net/", + "file": "https://sto4036.file.core.windows.net/", + "queue": "https://sto4036.queue.core.windows.net/", + "table": "https://sto4036.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4452", + "kind": "Storage", + "location": "eastus", + "name": "sto4452", + "properties": { + "creationTime": "2017-05-24T13:24:15.7068366Z", + "primaryEndpoints": { + "blob": "https://sto4452.blob.core.windows.net/", + "file": "https://sto4452.file.core.windows.net/", + "queue": "https://sto4452.queue.core.windows.net/", + "table": "https://sto4452.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListKeys.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListKeys.json new file mode 100644 index 000000000000..603fc8a5d4b7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListKeys.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res418", + "accountName": "sto2220", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "nVF7aKIvr9mV/RM5lOD0sYoi8ThXTRHQP7o66hvUmjCDkPKR3qxPu/otJcNciz2aQdqPuzJH3ECG4TU2yZjQ7Q==" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "dNJvKnULO586Ji3nFzB7987TJs4ovnGZhyGXeiVQ75HZGPhBmBfe8lXrI7EfyATff6S5ucxffCoEAQOWbmPK/Q==" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListLocationUsage.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListLocationUsage.json new file mode 100644 index 000000000000..9504459e58f4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListLocationUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "eastus2(stage)", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 55, + "limit": 250, + "name": { + "value": "StorageAccounts", + "localizedValue": "Storage Accounts" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListObjectReplicationPolicies.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListObjectReplicationPolicies.json new file mode 100644 index 000000000000..8941162c69e2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListObjectReplicationPolicies.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "name": "c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/objectReplicationPolicies/141d23dc-8958-4b48-b6e6-5a40bf1af116", + "name": "141d23dc-8958-4b48-b6e6-5a40bf1af116", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount2" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateEndpointConnections.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateEndpointConnections.json new file mode 100644 index 000000000000..053af0095007 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateEndpointConnections.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateLinkResources.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateLinkResources.json new file mode 100644 index 000000000000..a44e440a5776 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListPrivateLinkResources.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob", + "name": "blob", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob", + "requiredMembers": [ + "blob" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob_secondary", + "name": "blob_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob_secondary", + "requiredMembers": [ + "blob_secondary" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table", + "name": "table", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table", + "requiredMembers": [ + "table" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table_secondary", + "name": "table_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table_secondary", + "requiredMembers": [ + "table_secondary" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs", + "name": "dfs", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs", + "requiredMembers": [ + "dfs" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs_secondary", + "name": "dfs_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs_secondary", + "requiredMembers": [ + "dfs_secondary" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListServiceSAS.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListServiceSAS.json new file mode 100644 index 000000000000..d850c4c45187 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountListServiceSAS.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7439", + "accountName": "sto1299", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "canonicalizedResource": "/blob/sto1299/music", + "signedResource": "c", + "signedPermission": "l", + "signedExpiry": "2017-05-24T11:32:48.8457197Z" + } + }, + "responses": { + "200": { + "body": { + "serviceSasToken": "sv=2015-04-05&sr=c&se=2017-05-24T11%3A32%3A48Z&sp=l&sig=PoF8yBUGixsjzwroLmw7vG3VbGz4KB2woZC2D4C2oio%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPatchEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPatchEncryptionScope.json new file mode 100644 index 000000000000..79069549763c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPatchEncryptionScope.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "encryptionScope": { + "properties": { + "source": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + }, + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutEncryptionScope.json new file mode 100644 index 000000000000..1dacabc55490 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutEncryptionScope.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "encryptionScope": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutPrivateEndpointConnection.json new file mode 100644 index 000000000000..92a5d349a020 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountPutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKerbKey.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKerbKey.json new file mode 100644 index 000000000000..4534e7ec1c52 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKerbKey.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview", + "monitor": "true", + "regenerateKey": { + "keyName": "kerb1" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "7xl+yQ4MrVpZCHspveCfy4f8jgTY1wv42gHO8k4bAX+EPvN4hY5uPau/bpofgeye+K9FtgvjkadkLISPfOxlMw==" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "uC+kyJ9/gT81E/+9I1Go4xtOe8sW5rdIm3n6PNIyQ5kGO5OpFq69aWnrn3jLeFIyItzpln9P392U0353RYKvbg==" + }, + { + "keyName": "kerb1", + "permissions": "Full", + "value": "34EzDQuCw1lYBXCGioUybN9dCWSLLzQPdAbYRcLhM957Fy/6IlO/SkaeR9QXKhVgCt8anDq4wYmDcaZ5VXr2Tg==" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKey.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKey.json new file mode 100644 index 000000000000..48fe2f665419 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRegenerateKey.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview", + "monitor": "true", + "regenerateKey": { + "keyName": "key2" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "7xl+yQ4MrVpZCHspveCfy4f8jgTY1wv42gHO8k4bAX+EPvN4hY5uPau/bpofgeye+K9FtgvjkadkLISPfOxlMw==" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "uC+kyJ9/gT81E/+9I1Go4xtOe8sW5rdIm3n6PNIyQ5kGO5OpFq69aWnrn3jLeFIyItzpln9P392U0353RYKvbg==" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRevokeUserDelegationKeys.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRevokeUserDelegationKeys.json new file mode 100644 index 000000000000..0e5d655a4e97 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountRevokeUserDelegationKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetBlobInventoryPolicy.json new file mode 100644 index 000000000000..e97814f1b784 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetBlobInventoryPolicy.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "destination": "containerName", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "destination": "containerName", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + } + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy.json new file mode 100644 index 000000000000..485abbb70d31 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json new file mode 100644 index 000000000000..52c40ceacc81 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdate.json new file mode 100644 index 000000000000..1426ec2791e9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdate.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..f900fa375fe1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..6ab1f1a9d4d1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationDelete.json new file mode 100644 index 000000000000..3349b784dd1c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationGet.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationList.json new file mode 100644 index 000000000000..4e41c26c5639 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6186", + "name": "table6186", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6186" + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables?api-version=2020-08-01-preview&NextTableName=1!40!bXl0YWJsZXNoYzU0OAEwMWQ2MTI5ZTJmYjVmODFh" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPatch.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPatch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPut.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableOperationPut.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesGet.json new file mode 100644 index 000000000000..1d3fd0c6657f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesList.json new file mode 100644 index 000000000000..16ea1333e941 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesPut.json new file mode 100644 index 000000000000..4a1f0d2c93a3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/examples/TableServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/file.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/file.json new file mode 100644 index 000000000000..1f4729ed5ef9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/file.json @@ -0,0 +1,829 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01-preview", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices": { + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_List", + "x-ms-examples": { + "ListFileServices": { + "$ref": "./examples/FileServicesList.json" + } + }, + "description": "List all file services in storage accounts", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List file services operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileServiceItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}": { + "put": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_SetServiceProperties", + "x-ms-examples": { + "PutFileServices": { + "$ref": "./examples/FileServicesPut.json" + }, + "PutFileServices_EnableSMBMultichannel": { + "$ref": "./examples/FileServicesPut_EnableSMBMultichannel.json" + } + }, + "description": "Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "The properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s File service successfully.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_GetServiceProperties", + "x-ms-examples": { + "GetFileServices": { + "$ref": "./examples/FileServicesGet.json" + } + }, + "description": "Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s File service.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares": { + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_List", + "x-ms-examples": { + "ListShares": { + "$ref": "./examples/FileSharesList.json" + }, + "ListDeletedShares": { + "$ref": "./examples/DeletedFileSharesList.json" + } + }, + "description": "Lists all shares.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of shares that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only share names starting with the filter will be listed." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesExpand", + "modelAsString": false + }, + "description": "Optional, used to expand the properties within share's properties." + } + ], + "responses": { + "200": { + "description": "OK -- List Shares operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShareItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}": { + "put": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Create", + "x-ms-examples": { + "PutShares": { + "$ref": "./examples/FileSharesPut.json" + }, + "Create NFS Shares": { + "$ref": "./examples/FileSharesPut_NFS.json" + }, + "PutShares with Access Tier": { + "$ref": "./examples/FileSharesPut_AccessTier.json" + } + }, + "description": "Creates a new share under the specified account as described by request body. The share resource includes metadata and properties for that share. It does not include a list of the files contained by the share. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties of the file share to create." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "200": { + "description": "OK -- The Share is already created.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Update", + "x-ms-examples": { + "UpdateShares": { + "$ref": "./examples/FileSharesPatch.json" + } + }, + "description": "Updates share properties as specified in request body. Properties not mentioned in the request will not be changed. Update fails if the specified share does not already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties to update for the file share." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare", + "description": "Properties of the updated file share." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Get", + "x-ms-examples": { + "GetShares": { + "$ref": "./examples/FileSharesGet.json" + }, + "GetShareStats": { + "$ref": "./examples/FileSharesGet_Stats.json" + } + }, + "description": "Gets properties of a specified share.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "stats" + ], + "x-ms-enum": { + "name": "GetShareExpand", + "modelAsString": false + }, + "description": "Optional, used to expand the properties within share's properties." + } + ], + "responses": { + "200": { + "description": "OK -- Get Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Delete", + "x-ms-examples": { + "DeleteShares": { + "$ref": "./examples/FileSharesDelete.json" + } + }, + "description": "Deletes specified share under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete Share operation completed successfully." + }, + "204": { + "description": "No Content -- The Share not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Restore", + "x-ms-examples": { + "RestoreShares": { + "$ref": "./examples/FileSharesRestore.json" + } + }, + "description": "Restore a file share within a valid retention days if share soft delete is enabled", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "deletedShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedShare" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- The Share is successfully restored." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "FileServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "List of file services returned.", + "readOnly": true + } + } + }, + "FileServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the File 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 File service." + }, + "shareDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The file service properties for share soft delete." + }, + "protocolSettings": { + "$ref": "#/definitions/ProtocolSettings", + "description": "Protocol settings for file service" + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "FileServiceProperties", + "description": "The properties of File services in storage account." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of File services in storage account." + }, + "ProtocolSettings": { + "properties": { + "smb": { + "$ref": "#/definitions/SmbSetting", + "description": "Setting for SMB protocol" + } + }, + "description": "Protocol settings for file service" + }, + "SmbSetting": { + "properties": { + "multichannel": { + "$ref": "#/definitions/Multichannel", + "description": "Multichannel setting. Applies to Premium FileStorage only." + } + }, + "description": "Setting for SMB protocol" + }, + "Multichannel": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether multichannel is enabled" + } + }, + "description": "Multichannel setting. Applies to Premium FileStorage only." + }, + "FileShare": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "FileShareProperties", + "description": "Properties of the file share." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the file share, including Id, resource name, resource type, Etag." + }, + "DeletedShare": { + "properties": { + "deletedShareName": { + "type": "string", + "description": "Required. Identify the name of the deleted share that will be restored." + }, + "deletedShareVersion": { + "type": "string", + "description": "Required. Identify the version of the deleted share that will be restored." + } + }, + "required": [ + "deletedShareName", + "deletedShareVersion" + ], + "description": "The deleted share to be restored." + }, + "FileShareItem": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "description": "The file share properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The file share properties be listed out." + }, + "FileShareItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileShareItem" + }, + "description": "List of file shares returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of shares. Returned when total number of requested shares exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares." + }, + "FileShareProperties": { + "properties": { + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the share was last modified." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the share as metadata." + }, + "shareQuota": { + "type": "integer", + "minimum": 1, + "maximum": 102400, + "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400." + }, + "enabledProtocols": { + "type": "string", + "enum": [ + "SMB", + "NFS" + ], + "x-ms-enum": { + "name": "EnabledProtocols", + "modelAsString": true + }, + "description": "The authentication protocol that is used for the file share. Can only be specified when creating a share.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "rootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "RootSquashType", + "modelAsString": true + }, + "description": "The property is for NFS share only. The default is NoRootSquash." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the share." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the share was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The deleted time if the share was deleted." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for share that was soft deleted." + }, + "accessTier": { + "type": "string", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + }, + "description": "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium." + }, + "accessTierChangeTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Indicates the last modification time for share access tier." + }, + "accessTierStatus": { + "type": "string", + "readOnly": true, + "description": "Indicates if there is a pending transition for access tier." + }, + "shareUsageBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files." + } + }, + "description": "The properties of the file share." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Storage 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 Storage service." + } + }, + "parameters": { + "FileServicesName": { + "name": "FileServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file Service within the specified storage account. File Service Name must be \"default\"", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "ShareName": { + "name": "shareName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/privatelinks.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/privatelinks.json new file mode 100644 index 000000000000..1989c510b545 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/privatelinks.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01-preview", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/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": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "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." + }, + "actionRequired": { + "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": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "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": { + "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": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + } + }, + "parameters": { + "PrivateEndpointConnectionName": { + "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/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/queue.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/queue.json new file mode 100644 index 000000000000..96ba5c2f241d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/queue.json @@ -0,0 +1,560 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01-preview", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices": { + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_List", + "x-ms-examples": { + "QueueServicesList": { + "$ref": "./examples/QueueServicesList.json" + } + }, + "description": "List all queue services for the storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/ListQueueServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}": { + "put": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_SetServiceProperties", + "x-ms-examples": { + "QueueServicesPut": { + "$ref": "./examples/QueueServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "The properties of a storage account’s Queue service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Queue service successfully.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_GetServiceProperties", + "x-ms-examples": { + "QueueServicesGet": { + "$ref": "./examples/QueueServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}": { + "put": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Create", + "x-ms-examples": { + "QueueOperationPut": { + "$ref": "./examples/QueueOperationPut.json" + }, + "QueueOperationPutWithMetadata": { + "$ref": "./examples/QueueOperationPutWithMetadata.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Update", + "x-ms-examples": { + "QueueOperationPatch": { + "$ref": "./examples/QueueOperationPatch.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Get", + "x-ms-examples": { + "QueueOperationGet": { + "$ref": "./examples/QueueOperationGet.json" + } + }, + "description": "Gets the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Delete", + "x-ms-examples": { + "QueueOperationDelete": { + "$ref": "./examples/QueueOperationDelete.json" + } + }, + "description": "Deletes the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the queue with the specified queue name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues": { + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_List", + "x-ms-examples": { + "QueueOperationList": { + "$ref": "./examples/QueueOperationList.json" + } + }, + "description": "Gets a list of all the queues under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional, a maximum number of queues that should be included in a list queue response" + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional, When specified, only the queues with a name starting with the given filter will be listed." + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of queues successfully.", + "schema": { + "$ref": "#/definitions/ListQueueResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListQueueServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "List of queue services returned.", + "readOnly": true + } + } + }, + "QueueServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Queue 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 Queue service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueServiceProperties", + "description": "The properties of a storage account’s Queue service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Queue service." + }, + "StorageQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/QueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "QueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + }, + "approximateMessageCount": { + "type": "integer", + "readOnly": true, + "description": "Integer indicating an approximate number of messages in the queue. This number is not lower than the actual number of messages in the queue, but could be higher." + } + } + }, + "ListQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/ListQueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "List Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "ListQueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + } + } + }, + "ListQueueResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListQueue" + }, + "description": "List of queues returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to list next page of queues", + "readOnly": true + } + }, + "description": "Response schema. Contains list of queues returned" + } + }, + "parameters": { + "QueueServiceName": { + "name": "queueServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Queue Service within the specified storage account. Queue Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "QueueName": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "description": "A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, it should begin and end with an alphanumeric character and it cannot have two consecutive dash(-) characters.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/storage.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/storage.json new file mode 100644 index 000000000000..9b4b10b75728 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/storage.json @@ -0,0 +1,4259 @@ +{ + "swagger": "2.0", + "info": { + "title": "StorageManagementClient", + "description": "The Azure Storage Management API.", + "version": "2020-08-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Storage/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Storage Rest API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus": { + "get": { + "tags": [ + "Skus" + ], + "operationId": "Skus_List", + "description": "Lists the available SKUs supported by Microsoft.Storage for given subscription.", + "x-ms-examples": { + "SkuList": { + "$ref": "./examples/SKUList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage SKUs in the given subscription retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageSkuListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_CheckNameAvailability", + "description": "Checks that the storage account name is valid and is not already in use.", + "x-ms-examples": { + "StorageAccountCheckNameAvailability": { + "$ref": "./examples/StorageAccountCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCheckNameAvailabilityParameters" + }, + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the storage account name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}": { + "put": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Create", + "description": "Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.", + "x-ms-examples": { + "StorageAccountCreate": { + "$ref": "./examples/StorageAccountCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the storage account was already created from a previous request with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Delete", + "description": "Deletes a storage account in Microsoft Azure.", + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account deleted successfully." + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + } + } + }, + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_GetProperties", + "description": "Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys.", + "x-ms-examples": { + "StorageAccountGetProperties": { + "$ref": "./examples/StorageAccountGetProperties.json" + }, + "StorageAccountGetPropertiesCMKEnabled": { + "$ref": "./examples/StorageAccountGetPropertiesCMKEnabled.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "geoReplicationStats", + "blobRestoreStatus" + ], + "x-ms-enum": { + "name": "StorageAccountExpand", + "modelAsString": false + } + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved successfully for the storage account.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + }, + "patch": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Update", + "description": "The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation.", + "x-ms-examples": { + "StorageAccountUpdate": { + "$ref": "./examples/StorageAccountUpdate.json" + }, + "StorageAccountEnableAD": { + "$ref": "./examples/StorageAccountEnableAD.json" + }, + "StorageAccountEnableCMK": { + "$ref": "./examples/StorageAccountEnableCMK.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to provide for the updated account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account properties updated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_List", + "description": "Lists deleted accounts under the subscription.", + "x-ms-examples": { + "DeletedAccountList": { + "$ref": "./examples/DeletedAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of deleted accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/DeletedAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_Get", + "description": "Get properties of specified deleted account resource.", + "x-ms-examples": { + "DeletedAccountGet": { + "$ref": "./examples/DeletedAccountGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeletedAccountName" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved and returned successfully for the deleted account.", + "schema": { + "$ref": "#/definitions/DeletedAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_List", + "description": "Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountList": { + "$ref": "./examples/StorageAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListByResourceGroup", + "description": "Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountListByResourceGroup": { + "$ref": "./examples/StorageAccountListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts in the given resource group retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListKeys", + "description": "Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.", + "x-ms-examples": { + "StorageAccountListKeys": { + "$ref": "./examples/StorageAccountListKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "kerb" + ], + "x-ms-enum": { + "name": "ListKeyExpand" + }, + "description": "Specifies type of the key to be listed. Possible value is kerb." + } + ], + "responses": { + "200": { + "description": "OK -- list of keys retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RegenerateKey", + "description": "Regenerates one of the access keys or Kerberos keys for the specified storage account.", + "x-ms-examples": { + "StorageAccountRegenerateKey": { + "$ref": "./examples/StorageAccountRegenerateKey.json" + }, + "StorageAccountRegenerateKerbKey": { + "$ref": "./examples/StorageAccountRegenerateKerbKey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "regenerateKey", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerateKeyParameters" + }, + "description": "Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- specified key regenerated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages": { + "get": { + "tags": [ + "LocationUsage" + ], + "operationId": "Usages_ListByLocation", + "description": "Gets the current usage count and the limit for the resources of the location under the subscription.", + "x-ms-examples": { + "UsageList": { + "$ref": "./examples/StorageAccountListLocationUsage.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Azure Storage resource." + } + ], + "responses": { + "200": { + "description": "OK -- current usage count and limit retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListAccountSAS", + "description": "List SAS credentials of a storage account.", + "x-ms-examples": { + "StorageAccountListAccountSAS": { + "$ref": "./examples/StorageAccountListAccountSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountSasParameters" + }, + "description": "The parameters to provide to list SAS credentials for the storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the account SAS created for the storage account requested.", + "schema": { + "$ref": "#/definitions/ListAccountSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListServiceSAS", + "description": "List service SAS credentials of a specific resource.", + "x-ms-examples": { + "StorageAccountListServiceSAS": { + "$ref": "./examples/StorageAccountListServiceSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceSasParameters" + }, + "description": "The parameters to provide to list service SAS credentials." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the service SAS created for the storage service requested.", + "schema": { + "$ref": "#/definitions/ListServiceSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Failover", + "description": "Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.", + "x-ms-examples": { + "StorageAccountFailover": { + "$ref": "./examples/StorageAccountFailover.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account failover is completed, and the secondary cluster has become primary." + }, + "202": { + "description": "Accepted -- Failover request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RestoreBlobRanges", + "description": "Restore blobs in the specified blob ranges", + "x-ms-examples": { + "BlobRangesRestore": { + "$ref": "./examples/BlobRangesRestore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobRestoreParameters" + }, + "description": "The parameters to provide for restore blob ranges." + } + ], + "responses": { + "200": { + "description": "OK -- returned when blob ranges are restored completely with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + }, + "202": { + "description": "Accepted -- Blob restore request accepted; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}": { + "get": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Get", + "description": "Gets the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetManagementPolicies": { + "$ref": "./examples/StorageAccountGetManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "put": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_CreateOrUpdate", + "description": "Sets the managementpolicy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetManagementPolicies": { + "$ref": "./examples/StorageAccountSetManagementPolicy.json" + }, + "StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagementPolicy" + }, + "description": "The ManagementPolicy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "delete": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Delete", + "description": "Deletes the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteManagementPolicies": { + "$ref": "./examples/StorageAccountDeleteManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the managementpolicy successfully." + }, + "204": { + "description": "No Content -- The managementpolicy does not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Get", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountGetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_CreateOrUpdate", + "description": "Sets the blob inventory policy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "The blob inventory policy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Delete", + "description": "Deletes the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountDeleteBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the blob inventory policy successfully." + }, + "204": { + "description": "No Content -- The blob inventory policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_List", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountListBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policies successfully.", + "schema": { + "$ref": "#/definitions/ListBlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the storage account.", + "x-ms-examples": { + "StorageAccountListPrivateEndpointConnections": { + "$ref": "./examples/StorageAccountListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountGetPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountPutPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountPutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountDeletePrivateEndpointConnection": { + "$ref": "./examples/StorageAccountDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageAccount", + "description": "Gets the private link resources that need to be created for a storage account.", + "x-ms-examples": { + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/StorageAccountListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_List", + "description": "List the object replication policies associated with the storage account.", + "x-ms-examples": { + "StorageAccountListObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountListObjectReplicationPolicies.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List object replication policies successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Get", + "description": "Get the object replication policy of the storage account by policy ID.", + "x-ms-examples": { + "StorageAccountGetObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountGetObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Get the object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_CreateOrUpdate", + "description": "Create or update the object replication policy of the storage account.", + "x-ms-examples": { + "StorageAccountCreateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountCreateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnSource.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The object replication policy set to a storage account. A unique policy ID will be created if absent." + } + ], + "responses": { + "200": { + "description": "OK -- Put object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Delete", + "description": "Deletes the object replication policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountDeleteObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the object replication policy successfully." + }, + "204": { + "description": "No Content -- The object replication policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RevokeUserDelegationKeys", + "description": "Revoke user delegation keys.", + "x-ms-examples": { + "StorageAccountRevokeUserDelegationKeys": { + "$ref": "./examples/StorageAccountRevokeUserDelegationKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3 + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- revoke user delegation keys succeeded." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}": { + "put": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Put", + "description": "Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different properties, the encryption scope properties will be updated per the specified request.", + "x-ms-examples": { + "StorageAccountPutEncryptionScope": { + "$ref": "./examples/StorageAccountPutEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the create or update." + } + ], + "responses": { + "201": { + "description": "Created -- Create encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Patch", + "description": "Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist.", + "x-ms-examples": { + "StorageAccountPatchEncryptionScope": { + "$ref": "./examples/StorageAccountPatchEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the update." + } + ], + "responses": { + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Get", + "description": "Returns the properties for the specified encryption scope.", + "x-ms-examples": { + "StorageAccountGetEncryptionScope": { + "$ref": "./examples/StorageAccountGetEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + } + ], + "responses": { + "200": { + "description": "OK -- Get encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_List", + "description": "Lists all the encryption scopes available under the specified storage account.", + "x-ms-examples": { + "StorageAccountEncryptionScopeList": { + "$ref": "./examples/StorageAccountEncryptionScopeList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List encryption scopes operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScopeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Storage REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft Storage.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "StorageAccountCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The storage account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Storage/storageAccounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Storage/storageAccounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the storage account name." + }, + "SKUCapability": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "A string value to indicate states of given capability. Possibly 'true' or 'false'." + } + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction. As of now this can be \"QuotaId\" or \"NotAvailableForSubscription\". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The \"NotAvailableForSubscription\" is related to capacity at DC." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "StorageSkuListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "description": "Get the list result of storage SKUs and their properties." + } + }, + "description": "The response from the List Storage SKUs operation." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "SkuInformation": { + "properties": { + "name": { + "$ref": "./common.json#/definitions/SkuName" + }, + "tier": { + "$ref": "./common.json#/definitions/Tier" + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of the resource, usually it is 'storageAccounts'." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "required": [ + "name" + ], + "description": "Storage SKU and its properties" + }, + "CustomDomain": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source." + }, + "useSubDomainName": { + "type": "boolean", + "description": "Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates." + } + }, + "required": [ + "name" + ], + "description": "The custom domain assigned to this storage account. This can be set via Update." + }, + "EncryptionService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean indicating whether or not the service encrypts the data as it is stored." + }, + "lastEnabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a rough estimate." + }, + "keyType": { + "type": "string", + "description": "Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.", + "enum": [ + "Service", + "Account" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "A service that allows server-side encryption to be used." + }, + "EncryptionServices": { + "properties": { + "blob": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the blob storage service." + }, + "file": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the file storage service." + }, + "table": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the table storage service." + }, + "queue": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the queue storage service." + } + }, + "description": "A list of services that support encryption." + }, + "KeyVaultProperties": { + "description": "Properties of key vault.", + "properties": { + "keyname": { + "type": "string", + "description": "The name of KeyVault key.", + "x-ms-client-name": "KeyName" + }, + "keyversion": { + "type": "string", + "description": "The version of KeyVault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyvaulturi": { + "type": "string", + "description": "The Uri of KeyVault.", + "x-ms-client-name": "KeyVaultUri" + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use.", + "x-ms-client-name": "CurrentVersionedKeyIdentifier" + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key.", + "x-ms-client-name": "LastKeyRotationTimestamp" + } + } + }, + "Encryption": { + "properties": { + "services": { + "$ref": "#/definitions/EncryptionServices", + "description": "List of services which support encryption." + }, + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault", + "enum": [ + "Microsoft.Storage", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Microsoft.Storage" + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "x-ms-client-name": "RequireInfrastructureEncryption", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + }, + "keyvaultproperties": { + "$ref": "#/definitions/KeyVaultProperties", + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties provided by key vault." + } + }, + "required": [ + "keySource" + ], + "description": "The encryption settings on the storage account." + }, + "ResourceAccessRule": { + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id" + }, + "resourceId": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Resource Access Rule." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of virtual network rule." + }, + "state": { + "type": "string", + "enum": [ + "provisioning", + "deprovisioning", + "succeeded", + "failed", + "networkSourceDeleted" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": false + }, + "description": "Gets the state of virtual network rule." + } + }, + "required": [ + "id" + ], + "description": "Virtual Network rule." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of IP ACL rule." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "enum": [ + "None", + "Logging", + "Metrics", + "AzureServices" + ], + "x-ms-enum": { + "name": "Bypass", + "modelAsString": true + }, + "x-ms-client-name": "Bypass", + "default": "AzureServices", + "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, \"Logging, Metrics\"), or None to bypass none of those traffics." + }, + "resourceAccessRules": { + "type": "array", + "items": { + "description": "Resource Access Rules.", + "$ref": "#/definitions/ResourceAccessRule" + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "description": "Virtual Network rule.", + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Sets the virtual network rules" + }, + "ipRules": { + "type": "array", + "items": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "$ref": "#/definitions/IPRule" + }, + "description": "Sets the IP ACL rules" + }, + "defaultAction": { + "type": "string", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": false + }, + "default": "Allow", + "description": "Specifies the default action of allow or deny when no other rules match." + } + }, + "required": [ + "defaultAction" + ], + "description": "Network rule set" + }, + "AzureFilesIdentityBasedAuthentication": { + "properties": { + "directoryServiceOptions": { + "type": "string", + "description": "Indicates the directory service used.", + "enum": [ + "None", + "AADDS", + "AD" + ], + "x-ms-enum": { + "name": "DirectoryServiceOptions", + "modelAsString": true + } + }, + "activeDirectoryProperties": { + "$ref": "#/definitions/ActiveDirectoryProperties", + "description": "Required if choose AD." + } + }, + "required": [ + "directoryServiceOptions" + ], + "description": "Settings for Azure Files identity based authentication." + }, + "ActiveDirectoryProperties": { + "properties": { + "domainName": { + "type": "string", + "description": "Specifies the primary domain that the AD DNS server is authoritative for." + }, + "netBiosDomainName": { + "type": "string", + "description": "Specifies the NetBIOS domain name." + }, + "forestName": { + "type": "string", + "description": "Specifies the Active Directory forest to get." + }, + "domainGuid": { + "type": "string", + "description": "Specifies the domain GUID." + }, + "domainSid": { + "type": "string", + "description": "Specifies the security identifier (SID)." + }, + "azureStorageSid": { + "type": "string", + "description": "Specifies the security identifier (SID) for Azure Storage." + } + }, + "required": [ + "domainName", + "netBiosDomainName", + "forestName", + "domainGuid", + "domainSid", + "azureStorageSid" + ], + "description": "Settings properties for Active Directory (AD)." + }, + "StorageAccountPropertiesCreateParameters": { + "properties": { + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Not applicable. Azure Storage encryption is enabled for all storage accounts and cannot be disabled." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set" + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01." + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + } + }, + "description": "The parameters used to create the storage account." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "StorageAccountCreateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Required. Gets or sets the SKU name." + }, + "kind": { + "type": "string", + "description": "Required. Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "location": { + "type": "string", + "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesCreateParameters", + "description": "The parameters used to create the storage account." + } + }, + "required": [ + "sku", + "kind", + "location" + ], + "description": "The parameters used when creating a storage account." + }, + "Endpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + }, + "microsoftEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountMicrosoftEndpoints", + "description": "Gets the microsoft routing storage endpoints." + }, + "internetEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountInternetEndpoints", + "description": "Gets the internet routing storage endpoints" + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object." + }, + "StorageAccountMicrosoftEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint." + }, + "StorageAccountInternetEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint." + }, + "GeoReplicationStats": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.", + "enum": [ + "Live", + "Bootstrap", + "Unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatus", + "modelAsString": true + } + }, + "lastSyncTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap." + }, + "canFailover": { + "readOnly": true, + "type": "boolean", + "description": "A boolean flag which indicates whether or not account failover is supported for the account." + } + }, + "description": "Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account." + }, + "RoutingPreference": { + "properties": { + "routingChoice": { + "type": "string", + "description": "Routing Choice defines the kind of network routing opted by the user.", + "enum": [ + "MicrosoftRouting", + "InternetRouting" + ], + "x-ms-enum": { + "name": "RoutingChoice", + "modelAsString": true + } + }, + "publishMicrosoftEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether microsoft routing storage endpoints are to be published" + }, + "publishInternetEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether internet routing storage endpoints are to be published" + } + }, + "description": "Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing" + }, + "BlobRestoreStatus": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.", + "enum": [ + "InProgress", + "Complete", + "Failed" + ], + "x-ms-enum": { + "name": "BlobRestoreProgressStatus", + "modelAsString": true + } + }, + "failureReason": { + "readOnly": true, + "type": "string", + "description": "Failure reason when blob restore is failed." + }, + "restoreId": { + "readOnly": true, + "type": "string", + "description": "Id for tracking blob restore request." + }, + "parameters": { + "readOnly": true, + "$ref": "#/definitions/BlobRestoreParameters", + "description": "Blob restore request parameters." + } + }, + "description": "Blob restore status." + }, + "DeletedAccountProperties": { + "properties": { + "storageAccountResourceId": { + "readOnly": true, + "type": "string", + "description": "Full resource id of the original storage account." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the deleted account." + }, + "restoreReference": { + "readOnly": true, + "type": "string", + "description": "Can be used to attempt recovering this deleted account via PutStorageAccount API." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "description": "Creation time of the deleted account." + }, + "deletionTime": { + "readOnly": true, + "type": "string", + "description": "Deletion time of the deleted account." + } + } + }, + "StorageAccountProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the storage account at the time the operation was called.", + "enum": [ + "Creating", + "ResolvingDNS", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "primaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint." + }, + "primaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the primary data center for the storage account." + }, + "statusOfPrimary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "lastGeoFailoverTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "secondaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "statusOfSecondary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the storage account in UTC." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "readOnly": true, + "description": "Gets the custom domain the user assigned to this storage account." + }, + "secondaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "readOnly": true, + "description": "Gets the encryption settings on the account. If unspecified, the account is unencrypted." + }, + "accessTier": { + "readOnly": true, + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set", + "readOnly": true + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "geoReplicationStats": { + "$ref": "#/definitions/GeoReplicationStats", + "x-ms-client-name": "GeoReplicationStats", + "description": "Geo Replication Stats", + "readOnly": true + }, + "failoverInProgress": { + "type": "boolean", + "x-ms-client-name": "FailoverInProgress", + "description": "If the failover is in progress, the value will be true, otherwise, it will be null.", + "readOnly": true + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "blobRestoreStatus": { + "$ref": "#/definitions/BlobRestoreStatus", + "x-ms-client-name": "BlobRestoreStatus", + "description": "Blob restore status", + "readOnly": true + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + } + }, + "description": "Properties of the storage account." + }, + "DeletedAccount": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeletedAccountProperties", + "description": "Properties of the deleted account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Deleted storage account" + }, + "StorageAccount": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Gets the SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Gets the Kind.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountProperties", + "description": "Properties of the storage account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The storage account." + }, + "StorageAccountKey": { + "properties": { + "keyName": { + "readOnly": true, + "type": "string", + "description": "Name of the key." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "Base 64-encoded value of the key." + }, + "permissions": { + "readOnly": true, + "type": "string", + "description": "Permissions for the key -- read-only or full permissions.", + "enum": [ + "Read", + "Full" + ], + "x-ms-enum": { + "name": "KeyPermission", + "modelAsString": false + } + } + }, + "description": "An access key for the storage account." + }, + "StorageAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "Gets the list of storage accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Accounts operation." + }, + "DeletedAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DeletedAccount" + }, + "description": "Gets the list of deleted accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of deleted accounts. Returned when total number of requested deleted accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Deleted Accounts operation." + }, + "StorageAccountListKeysResult": { + "properties": { + "keys": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountKey" + }, + "description": "Gets the list of storage account keys and their properties for the specified storage account." + } + }, + "description": "The response from the ListKeys operation." + }, + "StorageAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2." + } + }, + "required": [ + "keyName" + ], + "description": "The parameters used to regenerate the storage account key." + }, + "StorageAccountPropertiesUpdateParameters": { + "properties": { + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Provides the encryption settings on the account. The default setting is unencrypted." + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "description": "Network rule set", + "x-ms-client-name": "NetworkRuleSet", + "$ref": "#/definitions/NetworkRuleSet" + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + } + }, + "description": "The parameters used when updating a storage account." + }, + "StorageAccountUpdateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesUpdateParameters", + "description": "The parameters used when updating a storage account." + }, + "kind": { + "type": "string", + "description": "Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "description": "The parameters that can be provided when updating the storage account properties." + }, + "BlobRestoreParameters": { + "properties": { + "timeToRestore": { + "type": "string", + "format": "date-time", + "description": "Restore blob to the specified time." + }, + "blobRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobRestoreRange" + }, + "description": "Blob ranges to restore." + } + }, + "required": [ + "timeToRestore", + "blobRanges" + ], + "description": "Blob restore parameters" + }, + "BlobRestoreRange": { + "properties": { + "startRange": { + "type": "string", + "description": "Blob start range. This is inclusive. Empty means account start." + }, + "endRange": { + "type": "string", + "description": "Blob end range. This is exclusive. Empty means account end." + } + }, + "required": [ + "startRange", + "endRange" + ], + "description": "Blob range" + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "Gets a string describing the resource name." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "Gets a localized string describing the resource name." + } + }, + "description": "The usage names that can be used; currently limited to StorageAccount." + }, + "Usage": { + "properties": { + "unit": { + "readOnly": true, + "type": "string", + "description": "Gets the unit of measurement.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountsPerSecond", + "BytesPerSecond" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the current count of the allocated resources in the subscription." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the maximum count of the resources that can be allocated in the subscription." + }, + "name": { + "$ref": "#/definitions/UsageName", + "readOnly": true, + "description": "Gets the name of the type of usage." + } + }, + "description": "Describes Storage Resource Usage." + }, + "UsageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "Gets or sets the list of Storage Resource Usages." + } + }, + "description": "The response from the List Usages operation." + }, + "AccountSasParameters": { + "properties": { + "signedServices": { + "type": "string", + "enum": [ + "b", + "q", + "t", + "f" + ], + "x-ms-enum": { + "name": "Services", + "modelAsString": true + }, + "x-ms-client-name": "Services", + "description": "The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f)." + }, + "signedResourceTypes": { + "type": "string", + "enum": [ + "s", + "c", + "o" + ], + "x-ms-enum": { + "name": "SignedResourceTypes", + "modelAsString": true + }, + "x-ms-client-name": "ResourceTypes", + "description": "The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + } + }, + "required": [ + "signedServices", + "signedResourceTypes", + "signedPermission", + "signedExpiry" + ], + "description": "The parameters to list SAS credentials of a storage account." + }, + "ListAccountSasResponse": { + "properties": { + "accountSasToken": { + "readOnly": true, + "type": "string", + "description": "List SAS credentials of storage account." + } + }, + "description": "The List SAS credentials operation response." + }, + "ServiceSasParameters": { + "properties": { + "canonicalizedResource": { + "type": "string", + "description": "The canonical path to the signed resource." + }, + "signedResource": { + "type": "string", + "enum": [ + "b", + "c", + "f", + "s" + ], + "x-ms-enum": { + "name": "signedResource", + "modelAsString": true + }, + "x-ms-client-name": "Resource", + "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "signedIdentifier": { + "type": "string", + "maxLength": 64, + "x-ms-client-name": "Identifier", + "description": "A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table." + }, + "startPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyStart", + "description": "The start of partition key." + }, + "endPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyEnd", + "description": "The end of partition key." + }, + "startRk": { + "type": "string", + "x-ms-client-name": "RowKeyStart", + "description": "The start of row key." + }, + "endRk": { + "type": "string", + "x-ms-client-name": "RowKeyEnd", + "description": "The end of row key." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + }, + "rscc": { + "type": "string", + "x-ms-client-name": "CacheControl", + "description": "The response header override for cache control." + }, + "rscd": { + "type": "string", + "x-ms-client-name": "ContentDisposition", + "description": "The response header override for content disposition." + }, + "rsce": { + "type": "string", + "x-ms-client-name": "ContentEncoding", + "description": "The response header override for content encoding." + }, + "rscl": { + "type": "string", + "x-ms-client-name": "ContentLanguage", + "description": "The response header override for content language." + }, + "rsct": { + "type": "string", + "x-ms-client-name": "ContentType", + "description": "The response header override for content type." + } + }, + "required": [ + "canonicalizedResource" + ], + "description": "The parameters to list service SAS credentials of a specific resource." + }, + "ListServiceSasResponse": { + "properties": { + "serviceSasToken": { + "readOnly": true, + "type": "string", + "description": "List service SAS credentials of specific resource." + } + }, + "description": "The List service SAS credentials operation response." + }, + "ManagementPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagementPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Data Policies Rules." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Get Storage Account ManagementPolicies operation response." + }, + "ManagementPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the date and time the ManagementPolicies was last modified." + }, + "policy": { + "$ref": "#/definitions/ManagementPolicySchema", + "description": "The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "policy" + ], + "description": "The Storage Account ManagementPolicy properties." + }, + "ManagementPolicySchema": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementPolicyRule" + }, + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "rules" + ], + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + }, + "ManagementPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled if set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "type": { + "type": "string", + "description": "The valid value is Lifecycle", + "enum": [ + "Lifecycle" + ], + "x-ms-enum": { + "name": "RuleType", + "modelAsString": true + } + }, + "definition": { + "$ref": "#/definitions/ManagementPolicyDefinition", + "description": "An object that defines the Lifecycle rule." + } + }, + "required": [ + "name", + "type", + "definition" + ], + "description": "An object that wraps the Lifecycle rule. Each rule is uniquely defined by name." + }, + "ManagementPolicyDefinition": { + "properties": { + "actions": { + "$ref": "#/definitions/ManagementPolicyAction", + "description": "An object that defines the action set." + }, + "filters": { + "$ref": "#/definitions/ManagementPolicyFilter", + "description": "An object that defines the filter set." + } + }, + "required": [ + "actions" + ], + "description": "An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set." + }, + "ManagementPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings for prefixes to be match." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Only blockBlob is supported." + }, + "blobIndexMatch": { + "type": "array", + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of blob index tag based filters, there can be at most 10 tag filters" + } + }, + "required": [ + "blobTypes" + ], + "description": "Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. " + }, + "TagFilter": { + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "This is the filter tag name, it can have 1 - 128 characters" + }, + "op": { + "type": "string", + "description": "This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported" + }, + "value": { + "type": "string", + "minLength": 0, + "maxLength": 256, + "description": "This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters" + } + }, + "required": [ + "name", + "op", + "value" + ], + "description": "Blob index tag based filtering for blob objects" + }, + "ManagementPolicyAction": { + "properties": { + "baseBlob": { + "$ref": "#/definitions/ManagementPolicyBaseBlob", + "description": "The management policy action for base blob" + }, + "snapshot": { + "$ref": "#/definitions/ManagementPolicySnapShot", + "description": "The management policy action for snapshot" + } + }, + "description": "Actions are applied to the filtered blobs when the execution condition is met." + }, + "ManagementPolicyBaseBlob": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to cool storage. Support blobs currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to delete the blob" + }, + "enableAutoTierToHotFromCool": { + "type": "boolean", + "description": "This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan." + } + }, + "description": "Management policy action for base blob." + }, + "ManagementPolicySnapShot": { + "properties": { + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob snapshot" + } + }, + "description": "Management policy action for snapshot." + }, + "DateAfterModification": { + "properties": { + "daysAfterModificationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last modification" + }, + "daysAfterLastAccessTimeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy" + } + }, + "description": "Object to define the number of days after last modification." + }, + "DateAfterCreation": { + "properties": { + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after creation" + } + }, + "required": [ + "daysAfterCreationGreaterThan" + ], + "description": "Object to define the number of days after creation." + }, + "EncryptionScope": { + "properties": { + "properties": { + "$ref": "#/definitions/EncryptionScopeProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "EncryptionScopeProperties", + "description": "Properties of the encryption scope." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Encryption Scope resource." + }, + "EncryptionScopeProperties": { + "properties": { + "source": { + "type": "string", + "enum": [ + "Microsoft.Storage", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "EncryptionScopeSource", + "modelAsString": true + }, + "description": "The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault." + }, + "state": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EncryptionScopeState", + "modelAsString": true + }, + "description": "The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the encryption scope in UTC." + }, + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the last modification date and time of the encryption scope in UTC." + }, + "keyVaultProperties": { + "$ref": "#/definitions/EncryptionScopeKeyVaultProperties", + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + } + }, + "description": "Properties of the encryption scope." + }, + "EncryptionScopeKeyVaultProperties": { + "properties": { + "keyUri": { + "type": "string", + "description": "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope." + } + }, + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "EncryptionScopeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "List of encryption scopes requested.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size.", + "readOnly": true + } + }, + "description": "List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes." + }, + "ObjectReplicationPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The replication policy between two storage accounts." + } + }, + "description": "List storage account object replication policies." + }, + "ObjectReplicationPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ObjectReplicationPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Object Replication Policy." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The replication policy between two storage accounts. Multiple rules can be defined in one policy." + }, + "ObjectReplicationPolicyProperties": { + "properties": { + "policyId": { + "readOnly": true, + "type": "string", + "description": "A unique id for object replication policy." + }, + "enabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Indicates when the policy is enabled on the source account." + }, + "sourceAccount": { + "type": "string", + "description": "Required. Source account name." + }, + "destinationAccount": { + "type": "string", + "description": "Required. Destination account name." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicyRule" + }, + "description": "The storage account object replication rules." + } + }, + "required": [ + "sourceAccount", + "destinationAccount" + ], + "description": "The Storage Account ObjectReplicationPolicy properties." + }, + "ObjectReplicationPolicyRule": { + "properties": { + "ruleId": { + "type": "string", + "description": "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account." + }, + "sourceContainer": { + "type": "string", + "description": "Required. Source container name." + }, + "destinationContainer": { + "type": "string", + "description": "Required. Destination container name." + }, + "filters": { + "$ref": "#/definitions/ObjectReplicationPolicyFilter", + "description": "Optional. An object that defines the filter set." + } + }, + "required": [ + "sourceContainer", + "destinationContainer" + ], + "description": "The replication policy rule between two containers." + }, + "ObjectReplicationPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Filters the results to replicate only blobs whose names begin with the specified prefix." + }, + "minCreationTime": { + "type": "string", + "description": "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z" + } + }, + "description": "Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters." + }, + "ListBlobInventoryPolicy": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "List of blob inventory policies.", + "readOnly": true + } + }, + "description": "List of blob inventory policies returned." + }, + "BlobInventoryPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/BlobInventoryPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the storage account blob inventory policy rules." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The storage account blob inventory policy." + }, + "BlobInventoryPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the last modified date and time of the blob inventory policy." + }, + "policy": { + "$ref": "#/definitions/BlobInventoryPolicySchema", + "description": "The storage account blob inventory policy object. It is composed of policy rules." + } + }, + "required": [ + "policy" + ], + "description": "The storage account blob inventory policy properties." + }, + "BlobInventoryPolicySchema": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Policy is enabled if set to true." + }, + "destination": { + "type": "string", + "description": "Container name where blob inventory files are stored. Must be pre-created." + }, + "type": { + "type": "string", + "description": "The valid value is Inventory", + "enum": [ + "Inventory" + ], + "x-ms-enum": { + "name": "InventoryRuleType", + "modelAsString": true + } + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicyRule" + }, + "description": "The storage account blob inventory policy rules. The rule is applied when it is enabled." + } + }, + "required": [ + "enabled", + "destination", + "type", + "rules" + ], + "description": "The storage account blob inventory policy rules." + }, + "BlobInventoryPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled when set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "definition": { + "$ref": "#/definitions/BlobInventoryPolicyDefinition", + "description": "An object that defines the blob inventory policy rule." + } + }, + "required": [ + "name", + "enabled", + "definition" + ], + "description": "An object that wraps the blob inventory rule. Each rule is uniquely defined by name." + }, + "BlobInventoryPolicyDefinition": { + "properties": { + "filters": { + "$ref": "#/definitions/BlobInventoryPolicyFilter", + "description": "An object that defines the filter set." + } + }, + "required": [ + "filters" + ], + "description": "An object that defines the blob inventory rule. Each definition consists of a set of filters." + }, + "BlobInventoryPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings for blob prefixes to be matched." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs." + }, + "includeBlobVersions": { + "type": "boolean", + "description": "Includes blob versions in blob inventory when value set to true." + }, + "includeSnapshots": { + "type": "boolean", + "description": "Includes blob snapshots in blob inventory when value set to true." + } + }, + "required": [ + "blobTypes" + ], + "description": "An object that defines the blob inventory rule filter conditions." + }, + "ErrorResponseBody": { + "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." + } + }, + "description": "Error response body contract." + }, + "ErrorResponse": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure Storage Resource Provider error response body." + } + }, + "description": "An error response from the storage resource provider." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "StorageAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DeletedAccountName": { + "name": "deletedAccountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the deleted storage account.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ManagementPolicyName": { + "name": "managementPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Storage Account Management Policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagementPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "EncryptionScopeName": { + "name": "encryptionScopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ObjectReplicationPolicyId": { + "name": "objectReplicationPolicyId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of object replication policy or 'default' if the policy ID is unknown.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "BlobInventoryPolicyName": { + "name": "blobInventoryPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account blob inventory policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobInventoryPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/table.json b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/table.json new file mode 100644 index 000000000000..be822d22757a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/preview/2020-08-01-preview/table.json @@ -0,0 +1,495 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01-preview", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices": { + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_List", + "x-ms-examples": { + "TableServicesList": { + "$ref": "./examples/TableServicesList.json" + } + }, + "description": "List all table services for the storage account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/ListTableServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}": { + "put": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_SetServiceProperties", + "x-ms-examples": { + "TableServicesPut": { + "$ref": "./examples/TableServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "The properties of a storage account’s Table service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Table service successfully.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_GetServiceProperties", + "x-ms-examples": { + "TableServicesGet": { + "$ref": "./examples/TableServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}": { + "put": { + "tags": [ + "TableService" + ], + "operationId": "Table_Create", + "x-ms-examples": { + "TableOperationPut": { + "$ref": "./examples/TableOperationPut.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "TableService" + ], + "operationId": "Table_Update", + "x-ms-examples": { + "TableOperationPatch": { + "$ref": "./examples/TableOperationPatch.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_Get", + "x-ms-examples": { + "TableOperationGet": { + "$ref": "./examples/TableOperationGet.json" + } + }, + "description": "Gets the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "TableService" + ], + "operationId": "Table_Delete", + "x-ms-examples": { + "TableOperationDelete": { + "$ref": "./examples/TableOperationDelete.json" + } + }, + "description": "Deletes the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the table with the specified table name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables": { + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_List", + "x-ms-examples": { + "TableOperationList": { + "$ref": "./examples/TableOperationList.json" + } + }, + "description": "Gets a list of all the tables under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of tables successfully.", + "schema": { + "$ref": "#/definitions/ListTableResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./file.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListTableServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "List of table services returned.", + "readOnly": true + } + } + }, + "TableServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Table 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 Table service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "TableServiceProperties", + "description": "The properties of a storage account’s Table service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Table service." + }, + "Table": { + "properties": { + "properties": { + "$ref": "#/definitions/TableProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "TableProperties", + "description": "Table resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Properties of the table, including Id, resource name, resource type." + }, + "TableProperties": { + "properties": { + "tableName": { + "type": "string", + "readOnly": true, + "description": "Table name under the specified account" + } + } + }, + "ListTableResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Table" + }, + "description": "List of tables returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of tables", + "readOnly": true + } + }, + "description": "Response schema. Contains list of tables returned" + } + }, + "parameters": { + "TableServiceName": { + "name": "tableServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Table Service within the specified storage account. Table Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "TableName": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "description": "A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin with a numeric character.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z][A-Za-z0-9]{2,62}$", + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/readme.azureresourceschema.md b/specification/storage/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6856d80a8a36 --- /dev/null +++ b/specification/storage/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,195 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storage-2020-08-01-preview + - tag: schema-storage-2019-06-01 + - tag: schema-storage-2019-04-01 + - tag: schema-storage-2018-11-01 + - tag: schema-storage-2018-07-01 + - tag: schema-storage-2018-03-01-preview + - tag: schema-storage-2018-02-01 + - tag: schema-storage-2017-10-01 + - tag: schema-storage-2017-06-01 + - tag: schema-storage-2016-12-01 + - tag: schema-storage-2016-05-01 + - tag: schema-storage-2016-01-01 + - tag: schema-storage-2015-06-15 + - tag: schema-storage-2015-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storage-2020-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2020-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/preview/2020-08-01-preview/storage.json + - Microsoft.Storage/preview/2020-08-01-preview/blob.json + - Microsoft.Storage/preview/2020-08-01-preview/file.json + - Microsoft.Storage/preview/2020-08-01-preview/queue.json + - Microsoft.Storage/preview/2020-08-01-preview/table.json + +``` + +### Tag: schema-storage-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +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 + +``` + +### Tag: schema-storage-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2019-04-01/storage.json + - Microsoft.Storage/stable/2019-04-01/blob.json + - Microsoft.Storage/stable/2019-04-01/file.json + +``` + +### Tag: schema-storage-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-11-01/storage.json + - Microsoft.Storage/stable/2018-11-01/blob.json + +``` + +### Tag: schema-storage-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-07-01/storage.json + - Microsoft.Storage/stable/2018-07-01/blob.json + +``` + +### Tag: schema-storage-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/preview/2018-03-01-preview/managementpolicy.json + - Microsoft.Storage/preview/2018-03-01-preview/storage.json + - Microsoft.Storage/preview/2018-03-01-preview/blob.json + +``` + +### Tag: schema-storage-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-02-01/storage.json + - Microsoft.Storage/stable/2018-02-01/blob.json + +``` + +### Tag: schema-storage-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2017-10-01/storage.json + +``` + +### Tag: schema-storage-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2017-06-01/storage.json + +``` + +### Tag: schema-storage-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-12-01/storage.json + +``` + +### Tag: schema-storage-2016-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-05-01/storage.json + +``` + +### Tag: schema-storage-2016-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-01-01/storage.json + +``` + +### Tag: schema-storage-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2015-06-15/storage.json + +``` + +### Tag: schema-storage-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/preview/2015-05-01-preview/storage.json + +``` diff --git a/specification/storage/resource-manager/readme.csharp.md b/specification/storage/resource-manager/readme.csharp.md index 5e96bc4de262..4e72310df959 100644 --- a/specification/storage/resource-manager/readme.csharp.md +++ b/specification/storage/resource-manager/readme.csharp.md @@ -70,3 +70,14 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.M batch: - tag: profile-hybrid-2019-03-01 ``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +```yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Storage +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.Management.Storage/src/Generated +batch: + - tag: profile-hybrid-2020-09-01 +``` diff --git a/specification/storage/resource-manager/readme.go.md b/specification/storage/resource-manager/readme.go.md index acb6147d8324..96bcfeb1d9fe 100644 --- a/specification/storage/resource-manager/readme.go.md +++ b/specification/storage/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-08-preview - tag: package-2019-06 - tag: package-2019-04 - tag: package-2018-11 @@ -28,6 +29,15 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2020-08-preview and go + +These settings apply only when `--tag=package-2020-08-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-preview/$(namespace) +``` + ### Tag: package-2019-06 and go These settings apply only when `--tag=package-2019-06 --go` is specified on the command line. @@ -61,7 +71,7 @@ These settings apply only when `--tag=package-2018-07 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2018-07' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-07-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-07-01-preview/$(namespace) ``` ### Tag: package-2018-03 and go diff --git a/specification/storage/resource-manager/readme.java.md b/specification/storage/resource-manager/readme.java.md index 5e4c2b9dcb42..186b449ec8b5 100644 --- a/specification/storage/resource-manager/readme.java.md +++ b/specification/storage/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storage ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-08-preview - tag: package-2019-06 - tag: package-2019-04 - tag: package-2018-07 @@ -25,6 +26,19 @@ batch: - tag: package-2016-01 ``` +### Tag: package-2020-08-preview and java + +These settings apply only when `--tag=package-2020-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.storage.v2019_08_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/storage/mgmt-v2019_08_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2019-06 and java These settings apply only when `--tag=package-2019-06 --java` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index 2e22b135e433..6bc239b38cda 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -29,6 +29,33 @@ openapi-type: arm tag: package-2019-06 ``` +### Tag: package-2020-08-preview + +These settings apply only when `--tag=package-2020-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-preview' +input-file: +- Microsoft.Storage/preview/2020-08-01-preview/storage.json +- Microsoft.Storage/preview/2020-08-01-preview/blob.json +- Microsoft.Storage/preview/2020-08-01-preview/file.json +- Microsoft.Storage/preview/2020-08-01-preview/queue.json +- Microsoft.Storage/preview/2020-08-01-preview/table.json + +directive: + - 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" + +``` + ### Tag: package-2019-06 These settings apply only when `--tag=package-2019-06` is specified on the command line. @@ -252,6 +279,15 @@ input-file: - Microsoft.Storage/preview/2015-05-01-preview/storage.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.Storage/stable/2019-06-01/storage.json +``` --- # Code Generation @@ -279,56 +315,16 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_storage'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storage/resource-manager ``` ## 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. +## AzureResourceSchema -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.Storage/stable/2019-06-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2019-06-01/blob.json - - $(this-folder)/Microsoft.Storage/stable/2019-06-01/file.json - - $(this-folder)/Microsoft.Storage/stable/2019-06-01/queue.json - - $(this-folder)/Microsoft.Storage/stable/2019-06-01/table.json - - $(this-folder)/Microsoft.Storage/stable/2019-04-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2019-04-01/blob.json - - $(this-folder)/Microsoft.Storage/stable/2019-04-01/file.json - - $(this-folder)/Microsoft.Storage/stable/2018-11-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2018-11-01/blob.json - - $(this-folder)/Microsoft.Storage/stable/2018-07-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2018-07-01/blob.json - - $(this-folder)/Microsoft.Storage/preview/2018-03-01-preview/managementpolicy.json - - $(this-folder)/Microsoft.Storage/preview/2018-03-01-preview/storage.json - - $(this-folder)/Microsoft.Storage/preview/2018-03-01-preview/blob.json - - $(this-folder)/Microsoft.Storage/stable/2018-02-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2018-02-01/blob.json - - $(this-folder)/Microsoft.Storage/stable/2017-10-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2017-06-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2016-12-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2016-05-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2016-01-01/storage.json - - $(this-folder)/Microsoft.Storage/stable/2015-06-15/storage.json - - $(this-folder)/Microsoft.Storage/preview/2015-05-01-preview/storage.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/storage/resource-manager/readme.python.md b/specification/storage/resource-manager/readme.python.md index 33cad3bd0119..655dfb68e8b2 100644 --- a/specification/storage/resource-manager/readme.python.md +++ b/specification/storage/resource-manager/readme.python.md @@ -17,6 +17,8 @@ azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-storage no-namespace-folders: true +modelerfour: + lenient-model-deduplication: true ``` ### Python multi-api @@ -25,6 +27,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-08-preview - tag: package-2019-06 - tag: package-2019-04 - tag: package-2018-11 @@ -41,6 +44,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-08-preview - tag: package-2019-06 - tag: package-2019-04 - tag: package-2018-11 @@ -61,6 +65,18 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-08-preview and python + +These settings apply only when `--tag=package-2020-08-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-08-preview' +namespace: azure.mgmt.storage.v2020_08_01_preview +output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/v2020_08_01_preview +python: + namespace: azure.mgmt.storage.v2020_08_01_preview + output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/v2020_08_01_preview +``` ### Tag: package-2019-06 and python These settings apply only when `--tag=package-2019-06 --python` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.ruby.md b/specification/storage/resource-manager/readme.ruby.md index 4b90796625f8..35da60027442 100644 --- a/specification/storage/resource-manager/readme.ruby.md +++ b/specification/storage/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-08-preview - tag: package-2018-02 - tag: package-2017-10 - tag: package-2017-06 @@ -21,6 +22,16 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2020-08-preview and ruby + +These settings apply only when `--tag=package-2020-08-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-08-preview' && $(ruby) +namespace: "Azure::Storage::Mgmt::V2020_08_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_storage/lib +``` + ### Tag: package-2018-02 and ruby These settings apply only when `--tag=package-2018-02 --ruby` is specified on the command line. diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json index 65ee658ffea2..c4d62942bf76 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json @@ -1434,6 +1434,7 @@ "StorageTarget": { "description": "A storage system being cached by a Cache.", "type": "object", + "discriminator": "targetType", "properties": { "name": { "description": "Name of the Storage Target.", @@ -1454,10 +1455,6 @@ "x-ms-client-flatten": true, "description": "Properties of the Storage Target.", "type": "object", - "discriminator": "targetType", - "required": [ - "targetType" - ], "properties": { "junctions": { "description": "List of Cache namespace junctions to target for namespace associations.", diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json index 972d7c1ec483..2be59318b6b7 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json @@ -1486,18 +1486,15 @@ "allOf": [ { "$ref": "#/definitions/StorageTargetResource" - }, - { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "StorageTarget properties", - "$ref": "#/definitions/StorageTargetProperties" - } - } } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "StorageTarget properties", + "$ref": "#/definitions/StorageTargetProperties" + } + } }, "StorageTargetResource": { "description": "Resource used by a Cache.", @@ -1523,12 +1520,11 @@ "StorageTargetProperties": { "type": "object", "description": "Properties of the Storage Target.", - "discriminator": "targetBaseType", + "discriminator": "targetType", + "required": [ + "targetType" + ], "properties": { - "targetBaseType": { - "description": "Type of the Storage Target.", - "$ref": "#/definitions/StorageTargetType" - }, "junctions": { "description": "List of Cache namespace junctions to target for namespace associations.", "type": "array", @@ -1538,6 +1534,15 @@ }, "targetType": { "description": "Type of the Storage Target.", + "enum": [ + "nfs3", + "clfs", + "unknown" + ], + "x-ms-enum": { + "name": "StorageTargetType", + "modelAsString": true + }, "type": "string" }, "provisioningState": { @@ -1568,22 +1573,6 @@ "description": "Properties when targetType is unknown.", "$ref": "#/definitions/UnknownTarget" } - }, - "required": [ - "targetBaseType" - ] - }, - "StorageTargetType": { - "type": "string", - "description": "Type of the Storage Target.", - "enum": [ - "nfs3", - "clfs", - "unknown" - ], - "x-ms-enum": { - "name": "StorageTargetType", - "modelAsString": true } }, "Nfs3TargetProperties": { diff --git a/specification/storagecache/resource-manager/readme.azureresourceschema.md b/specification/storagecache/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c394c65e7d10 --- /dev/null +++ b/specification/storagecache/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storagecache-2020-03-01 + - tag: schema-storagecache-2019-11-01 + - tag: schema-storagecache-2019-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storagecache-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/stable/2020-03-01/storagecache.json + +``` + +### Tag: schema-storagecache-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/stable/2019-11-01/storagecache.json + +``` + +### Tag: schema-storagecache-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/preview/2019-08-01-preview/storagecache.json + +``` diff --git a/specification/storagecache/resource-manager/readme.md b/specification/storagecache/resource-manager/readme.md index e6fe45a52294..f76c762192d0 100644 --- a/specification/storagecache/resource-manager/readme.md +++ b/specification/storagecache/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_storagecache'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storagecache/resource-manager ``` ## Python @@ -99,29 +102,7 @@ See configuration in [readme.typescript.md](./readme.typescript.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.StorageCache/stable/2020-03-01/storagecache.json - - $(this-folder)/Microsoft.StorageCache/stable/2019-11-01/storagecache.json - - $(this-folder)/Microsoft.StorageCache/preview/2019-08-01-preview/storagecache.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/storageimportexport/resource-manager/readme.azureresourceschema.md b/specification/storageimportexport/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0ede3bc1f2cb --- /dev/null +++ b/specification/storageimportexport/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-importexport-2020-08-01 + - tag: schema-importexport-2016-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-importexport-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-importexport-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json + +``` + +### Tag: schema-importexport-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-importexport-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json + +``` diff --git a/specification/storageimportexport/resource-manager/readme.md b/specification/storageimportexport/resource-manager/readme.md index dff85c194da0..7c5743419cc8 100644 --- a/specification/storageimportexport/resource-manager/readme.md +++ b/specification/storageimportexport/resource-manager/readme.md @@ -67,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storageimportexport/resource-manager ``` ## Go @@ -128,28 +131,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.ImportExport/stable/2016-11-01/storageimportexport.json - - $(this-folder)/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Create.json new file mode 100644 index 000000000000..c7286db17334 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-09-01", + "parameters": { + "properties": { + "storageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/tminienv59svc/providers/Microsoft.Storage/storageAccounts/tminienv59storage", + "azureFileShareName": "cvcloud-afscv-0719-058-a94a1354-a1fd-4e9a-9a50-919fad8c4ba4", + "storageAccountTenantId": "\"72f988bf-86f1-41af-91ab-2d7cd011db47\"", + "friendlyName": "ankushbsubscriptionmgmtmab" + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + }, + "body": { + "name": "SampleCloudEndpoint_1", + "properties": { + "backupEnabled": "false", + "provisioningState": "Succeeded", + "storageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/tminienv59svc/providers/Microsoft.Storage/storageAccounts/tminienv59storage", + "azureFileShareName": "cvcloud-afscv-0719-058-a94a1354-a1fd-4e9a-9a50-919fad8c4ba4", + "storageAccountTenantId": "\"72f988bf-86f1-41af-91ab-2d7cd011db47\"", + "friendlyName": "ankushbsubscriptionmgmtmab", + "lastWorkflowId": "storageSyncServices/GATest/workflows/24ba0c4a-348e-419b-8f7a-091d0d9f07a4", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8RjhDODcwQTItMkFGNi00NDUyLTgzMDgtRjJCQTZEQjI3RkEwfEdFTkVSSUN8NTJCOERBMkYtNjFFMC00QTFGLThEREUtMzM2OTExRjM2N0ZC", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/cloudEndpoints/SampleCloudEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncservice_1/workflows/c1d54be7-4738-4898-8212-cc36774314f8/operations/7ce689b2-0eca-48f5-86f0-0b8d6ceef14a?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncservice_1/workflows/c1d54be7-4738-4898-8212-cc36774314f8/operationresults/7ce689b2-0eca-48f5-86f0-0b8d6ceef14a?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Delete.json new file mode 100644 index 000000000000..b487abd29d5b --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Delete.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "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" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Get.json new file mode 100644 index 000000000000..aa12f906e412 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "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": { + "name": "SampleCloudEndpoint_1", + "properties": { + "provisioningState": "Succeeded", + "storageAccountResourceId": "", + "azureFileShareName": "", + "storageAccountTenantId": "\"a4d1b191-c1af-4cef-a14b-f670e0beea52\"", + "lastWorkflowId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/a377fdd5-949a-40ab-9629-06cd0e9852f9", + "friendlyName": "SampleAzureFileShareName_1", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5USEZTVjJ8MTkxNjYwQ0QtNkExQS00RjhDLTk3ODctQTZCRUQyMDZBMUREfEdFTkVSSUN8M0EwNDgyODMtMzM4Ri00MDAyLUE5REQtQTUwRkRBRENCMzky", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SyncGroup_Restore_08-08_Test112/cloudEndpoints/CEP_Restore_08-08_Test112", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_ListBySyncGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_ListBySyncGroup.json new file mode 100644 index 000000000000..d7ea0c467cb8 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_ListBySyncGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "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": { + "value": [ + { + "name": "CEP_Restore_08-08_Test112", + "properties": { + "provisioningState": "Succeeded", + "storageAccountResourceId": "", + "azureFileShareName": "", + "storageAccountTenantId": "\"a4d1b191-c1af-4cef-a14b-f670e0beea52\"", + "lastWorkflowId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/a377fdd5-949a-40ab-9629-06cd0e9852f9", + "friendlyName": "SampleAzureFileShareName_1", + "partnershipId": "1|U0VSVkVSQVNTWU5DQ0xJRU5Udfsdfdsfs8MTkxNjYwQ0QtNkExQS00RjhDLTk3ODctQTZCRUQyMDZBMUREfEdFTkVSSUN8M0EwNDgyODMtMzM4Ri00MDAyLUE5REQtQTUwRkRBRENCMzky", + "lastOperationName": "ICreateCloudEndpointWorkflow" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SyncGroup_Restore_08-08_Test112/cloudEndpoints/CEP_Restore_08-08_Test112", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/cloudEndpoints" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostBackup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostBackup.json new file mode 100644 index 000000000000..92c3e2894a3d --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostBackup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "azureFileShare": "https://sampleserver.file.core.test-cint.azure-test.net/sampleFileShare" + }, + "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": { + "backupMetadata": { + "cloudEndpointName": "subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/cloudEndpoints/SampleCloudEndpoint_1" + } + } + }, + "202": { + "headers": { + "x-ms-location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/baa40401-b043-4d1b-a80b-cb4e79fa1398?api-version=2020-09-01&resourcetype=PostBackupResourceType&ifxctx3=1847a938-7638-4d1b-943c-96ff2f8a2ec8", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostRestore.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostRestore.json new file mode 100644 index 000000000000..cb39f0bb3622 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PostRestore.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "azureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "sourceAzureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "status": "Succeeded", + "restoreFileSpec": [ + { + "path": "text1.txt", + "isdir": false + }, + { + "path": "MyDir", + "isdir": true + }, + { + "path": "MyDir/SubDir", + "isdir": false + }, + { + "path": "MyDir/SubDir/File1.pdf", + "isdir": false + } + ] + }, + "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" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-09-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreBackup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreBackup.json new file mode 100644 index 000000000000..8b480d7a4227 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreBackup.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-09-01", + "parameters": { + "azureFileShare": "https://sampleserver.file.core.test-cint.azure-test.net/sampleFileShare" + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-09-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreRestore.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreRestore.json new file mode 100644 index 000000000000..91062e6f90ad --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_PreRestore.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "api-version": "2020-09-01", + "parameters": { + "azureFileShareUri": "https://hfsazbackupdevintncus2.file.core.test-cint.azure-test.net/sampleFileShare", + "restoreFileSpec": [ + { + "path": "text1.txt", + "isdir": false + }, + { + "path": "MyDir", + "isdir": true + }, + { + "path": "MyDir/SubDir", + "isdir": false + }, + { + "path": "MyDir/SubDir/File1.pdf", + "isdir": false + } + ] + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-09-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_RestoreHeatbeat.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_RestoreHeatbeat.json new file mode 100644 index 000000000000..4f8c0fa23156 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_RestoreHeatbeat.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "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" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_TriggerChangeDetection.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_TriggerChangeDetection.json new file mode 100644 index 000000000000..57a15665b0a5 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/CloudEndpoints_TriggerChangeDetection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "parameters": { + "directoryPath": "NewDirectory", + "changeDetectionMode": "Recursive" + }, + "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" + } + }, + "202": { + "headers": { + "x-ms-location": "https: //management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/HfsMabFS1/syncGroups/HfsMabDS1/cloudEndpoints/HfsMabCE1/operationresults/d67cfb91-1b13-4710-8226-83467bb5b66d?api-version=2020-09-01&resourcetype=preBackupResourceType&ifxctx3=005909ad-d156-4514-a26e-dd1cc566db64", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/OperationStatus_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/OperationStatus_Get.json new file mode 100644 index 000000000000..a06342086b23 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/OperationStatus_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "locationName": "westus", + "workflowId": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "operationId": "14b50e24-f68d-4b29-a882-38be9dfb8bd1", + "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": { + "name": "14b50e24-f68d-4b29-a882-38be9dfb8bd1", + "status": "Succeeded", + "startTime": "2019-05-09T23:53:21.7328715Z", + "endTime": "2019-05-09T23:53:23.3735483Z", + "error": null + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Operations_List.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Operations_List.json new file mode 100644 index 000000000000..7925e43aefc6 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Operations_List.json @@ -0,0 +1,858 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.storagesync/register/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Provider", + "operation": "Registers the Storage Sync Provider", + "description": "Registers the subscription for the Storage Sync Provider" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/unregister/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Provider", + "operation": "Unregisters the Storage Sync Provider", + "description": "Unregisters the subscription for the Storage Sync Provider" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/operations/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Supported Operations", + "operation": "Gets the Supported Operations", + "description": "Gets a list of the Supported Operations" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Services", + "operation": "Read Storage Sync Services", + "description": "Read any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Services", + "operation": "Create or Update Storage Sync Services", + "description": "Create or Update any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Services", + "operation": "Delete Storage Sync Services", + "description": "Delete any Storage Sync Services" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Storage Sync Metrics", + "operation": "Read Storage Sync Services metric definitions", + "description": "Gets the available metrics for Storage Sync Services" + }, + "origin": "System", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "ServerSyncSessionResult", + "displayName": "Sync Session Result", + "displayDescription": "Metric that logs a value of 1 each time the Server Endpoint successfully completes a Sync Session with the Cloud Endpoint", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncSyncSessionAppliedFilesCount", + "displayName": "Files Synced", + "displayDescription": "Count of Files synced", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncSyncSessionPerItemErrorsCount", + "displayName": "Files not syncing", + "displayDescription": "Count of files failed to sync", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncBatchTransferredFileBytes", + "displayName": "Bytes synced", + "displayDescription": "Total file size transferred for Sync Sessions", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncServerHeartbeat", + "displayName": "Server Online Status", + "displayDescription": "Metric that logs a value of 1 each time the resigtered server successfully records a heartbeat with the Cloud Endpoint", + "unit": "Count", + "aggregationType": "Maximum", + "fillGapWithZero": true, + "dimensions": [ + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncRecallIOTotalSizeBytes", + "displayName": "Cloud tiering recall", + "displayDescription": "Total size of data recalled by the server", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncRecalledTotalNetworkBytes", + "displayName": "Cloud tiering recall size", + "displayDescription": "Size of data recalled", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncRecallThroughputBytesPerSecond", + "displayName": "Cloud tiering recall throughput", + "displayDescription": "Size of data recall throughput", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "StorageSyncRecalledNetworkBytesByApplication", + "displayName": "Cloud tiering recall size by application", + "displayDescription": "Size of data recalled by application", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + }, + { + "name": "ApplicationName", + "displayName": "Application Name", + "toBeExportedForShoebox": true + } + ] + } + ] + } + } + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateLinkResources/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Link Resources", + "operation": "Read Private Link Resources", + "description": "Read any Private Link Resources" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnections/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint Connections", + "operation": "Read Private Endpoint Connections", + "description": "Read any Private Endpoint Connections" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnections/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint Connections", + "operation": "Create or Update Private Endpoint Connections", + "description": "Create or Update any Private Endpoint Connections" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnections/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint Connections", + "operation": "Delete Private Endpoint Connections", + "description": "Delete any Private Endpoint Connections" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/validate/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint ConnectionProxies", + "operation": "Validate Private Endpoint ConnectionProxies", + "description": "Validate any Private Endpoint ConnectionProxies" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint ConnectionProxies", + "operation": "Read Private Endpoint ConnectionProxies", + "description": "Read any Private Endpoint ConnectionProxies" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint ConnectionProxies", + "operation": "Create or Update Private Endpoint ConnectionProxies", + "description": "Create or Update any Private Endpoint ConnectionProxies" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/privateEndpointConnectionProxies/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Private Endpoint ConnectionProxies", + "operation": "Delete Private Endpoint ConnectionProxies", + "description": "Delete any Private Endpoint ConnectionProxies" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Sync Groups", + "operation": "Read Sync Groups", + "description": "Read any Sync Groups" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Sync Groups", + "operation": "Create or Update Sync Groups", + "description": "Create or Update any Sync Groups" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Sync Groups", + "operation": "Delete Sync Groups", + "description": "Delete any Sync Groups" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Sync Group Metrics", + "operation": "Read Sync Groups metric definitions", + "description": "Gets the available metrics for Sync Groups" + }, + "origin": "System", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "SyncGroupSyncSessionAppliedFilesCount", + "displayName": "Files Synced", + "displayDescription": "Count of Files synced", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "SyncGroupSyncSessionPerItemErrorsCount", + "displayName": "Files not syncing", + "displayDescription": "Count of files failed to sync", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "SyncGroupBatchTransferredFileBytes", + "displayName": "Bytes synced", + "displayDescription": "Total file size transferred for Sync Sessions", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "SyncGroupName", + "displayName": "Sync Group Name", + "toBeExportedForShoebox": true + }, + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + } + ] + } + } + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "Read Cloud Endpoints", + "description": "Read any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "Create or Update Cloud Endpoints", + "description": "Create or Update any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "Delete Cloud Endpoints", + "description": "Delete any Cloud Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/prebackup/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "prebackup", + "description": "Call this action before backup" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/postbackup/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "postbackup", + "description": "Call this action after backup" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/prerestore/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "prerestore", + "description": "Call this action before restore" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/postrestore/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "postrestore", + "description": "Call this action after restore" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/restoreheartbeat/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "restoreheartbeat", + "description": "Restore heartbeat" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/operationresults/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "Read cloudEndpoints/operationresults", + "description": "Gets the status of an asynchronous backup/restore operation" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/cloudEndpoints/triggerChangeDetection/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Cloud Endpoints", + "operation": "triggerChangeDetection", + "description": "Call this action to trigger detection of changes on a cloud endpoint's file share" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Server Endpoints", + "operation": "Read Server Endpoints", + "description": "Read any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Server Endpoints", + "operation": "Create or Update Server Endpoints", + "description": "Create or Update any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Server Endpoints", + "operation": "Delete Server Endpoints", + "description": "Delete any Server Endpoints" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/recallAction/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Server Endpoints", + "operation": "recallAction", + "description": "Call this action to recall files to a server" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/syncGroups/serverEndpoints/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Server Endpoint Metrics", + "operation": "Read Server Endpoints metric definitions", + "description": "Gets the available metrics for Server Endpoints" + }, + "origin": "System", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "ServerEndpointSyncSessionAppliedFilesCount", + "displayName": "Files Synced", + "displayDescription": "Count of Files synced", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "ServerEndpointSyncSessionPerItemErrorsCount", + "displayName": "Files not syncing", + "displayDescription": "Count of files failed to sync", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "ServerEndpointBatchTransferredFileBytes", + "displayName": "Bytes synced", + "displayDescription": "Total file size transferred for Sync Sessions", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerEndpointName", + "displayName": "Server Endpoint Name", + "toBeExportedForShoebox": true + }, + { + "name": "SyncDirection", + "displayName": "Sync Direction", + "toBeExportedForShoebox": true + } + ] + } + ] + } + } + }, + { + "name": "microsoft.storagesync/storageSyncServices/registeredServers/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Registered Server", + "operation": "Read Registered Server", + "description": "Read any Registered Server" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/registeredServers/write", + "display": { + "provider": "microsoft.storagesync", + "resource": "Registered Server", + "operation": "Create or Update Registered Server", + "description": "Create or Update any Registered Server" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/registeredServers/delete", + "display": { + "provider": "microsoft.storagesync", + "resource": "Registered Server", + "operation": "Delete Registered Server", + "description": "Delete any Registered Server" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/registeredServers/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Registered Server Metrics", + "operation": "Read Registered Server metric definitions", + "description": "Gets the available metrics for Registered Server" + }, + "origin": "System", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "ServerHeartbeat", + "displayName": "Server Online Status", + "displayDescription": "Metric that logs a value of 1 each time the resigtered server successfully records a heartbeat with the Cloud Endpoint", + "unit": "Count", + "aggregationType": "Maximum", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerResourceId", + "displayName": "Registered Server Id", + "toBeExportedForShoebox": true + }, + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "ServerRecallIOTotalSizeBytes", + "displayName": "Cloud tiering recall", + "displayDescription": "Total size of data recalled by the server", + "unit": "Bytes", + "aggregationType": "Total", + "fillGapWithZero": false, + "dimensions": [ + { + "name": "ServerResourceId", + "displayName": "Registered Server Id", + "toBeExportedForShoebox": true + }, + { + "name": "ServerName", + "displayName": "Server Name", + "toBeExportedForShoebox": true + } + ] + } + ] + } + } + }, + { + "name": "microsoft.storagesync/storageSyncServices/workflows/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Workflow", + "operation": "Read Workflows", + "description": "Read Workflows" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/workflows/operationresults/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Workflow", + "operation": "Read workflows/operationresults", + "description": "Gets the status of an asynchronous operation" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/storageSyncServices/workflows/operations/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Workflow", + "operation": "Read workflows/operations", + "description": "Gets the status of an asynchronous operation" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/locations/checkNameAvailability/action", + "display": { + "provider": "microsoft.storagesync", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that storage sync service name is valid and is not in use." + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/locations/workflows/operations/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "Workflow", + "operation": "Read locations/workflows/operations", + "description": "Gets the status of an asynchronous operation" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/locations/operationresults/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "operationresults", + "operation": "Read locations/operationresults", + "description": "Gets the result for an asynchronous operation" + }, + "origin": "User" + }, + { + "name": "microsoft.storagesync/locations/operations/read", + "display": { + "provider": "microsoft.storagesync", + "resource": "operations", + "operation": "Read locations/operations", + "description": "Gets the status for an azure asynchronous operation" + }, + "origin": "User" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Create.json new file mode 100644 index 000000000000..9c1a989f3e26 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Create.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-09-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..c6410fa5f083 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-09-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operations/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/78a71465-77ef-4509-a026-2c0cd8b30208/operationresults/2d7f573a-7acd-4a3c-9425-fed7d029c69d?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..07048c36b7dc --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-09-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json new file mode 100644 index 000000000000..f82166720521 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateEndpointConnections_ListByStorageSyncService.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-09-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.StorageSync/storageSyncServices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateLinkResources_List.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateLinkResources_List.json new file mode 100644 index 000000000000..56d373b01187 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/PrivateLinkResources_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "storageSyncServiceName": "sss2527", + "api-version": "2020-09-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.StorageSync/storageSyncServices/sss2527/privateLinkResources/afs", + "name": "afs", + "type": "Microsoft.StorageSync/storageSyncServices/privateLinkResources", + "properties": { + "groupId": "afs", + "requiredMembers": [ + "management", + "sync.primary", + "sync.secondary" + ], + "requiredZoneNames": [ + "privatelink.afs.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Create.json new file mode 100644 index 000000000000..f857a9b4e81c --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Create.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "parameters": { + "properties": { + "serverRole": "Standalone", + "serverCertificate": "MIIDFjCCAf6gAwIBAgIQQS+DS8uhc4VNzUkTw7wbRjANBgkqhkiG9w0BAQ0FADAzMTEwLwYDVQQDEyhhbmt1c2hiLXByb2QzLnJlZG1vbmQuY29ycC5taWNyb3NvZnQuY29tMB4XDTE3MDgwMzE3MDQyNFoXDTE4MDgwNDE3MDQyNFowMzExMC8GA1UEAxMoYW5rdXNoYi1wcm9kMy5yZWRtb25kLmNvcnAubWljcm9zb2Z0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDRvV4gmsIy6jGDPiHsXmvgVP749NNP7DopdlbHaNhjFmYINHl0uWylyaZmgJrROt2mnxN/zEyJtGnqYHlzUr4xvGq/qV5pqgdB9tag/sw9i22gfe9PRZ0FmSOZnXMbLYgLiDFqLtut5gHcOuWMj03YnkfoBEKlFBxWbagvW2yxz/Sxi9OVSJOKCaXra0RpcIHrO/KFl6ho2eE1/7Ykmfa8hZvSdoPd5gHdLiQcMB/pxq+mWp1fI6c8vFZoDu7Atn+NXTzYPKUxKzaisF12TsaKpohUsJpbB3Wocb0F5frn614D2pg14ERB5otjAMWw1m65csQWPI6dP8KIYe0+QPkCAwEAAaMmMCQwIgYDVR0lAQH/BBgwFgYIKwYBBQUHAwIGCisGAQQBgjcKAwwwDQYJKoZIhvcNAQENBQADggEBAA4RhVIBkw34M1RwakJgHvtjsOFxF1tVQA941NtLokx1l2Z8+GFQkcG4xpZSt+UN6wLerdCbnNhtkCErWUDeaT0jxk4g71Ofex7iM04crT4iHJr8mi96/XnhnkTUs+GDk12VgdeeNEczMZz+8Mxw9dJ5NCnYgTwO0SzGlclRsDvjzkLo8rh2ZG6n/jKrEyNXXo+hOqhupij0QbRP2Tvexdfw201kgN1jdZify8XzJ8Oi0bTS0KpJf2pNPOlooK2bjMUei9ANtEdXwwfVZGWvVh6tJjdv6k14wWWJ1L7zhA1IIVb1J+sQUzJji5iX0DrezjTz1Fg+gAzITaA/WsuujlM=", + "serverOSVersion": "10.0.14393.0", + "agentVersion": "1.0.277.0", + "friendlyName": "afscv-2304-139", + "serverId": "080d4133-bdb5-40a0-96a0-71a6057bfe9a" + } + }, + "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/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/530a0384-50ac-456d-8240-9d6621404151", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers", + "name": "ankushb-prod3.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "agentVersionStatus": "Ok", + "agentVersionExpirationDate": "2018-06-11T21:50:40.5840543Z", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "2018-06-11T21:50:40.5840543Z", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "00000000-0000-0000-0000-000000000000", + "clusterName": "", + "serverId": "3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64", + "storageSyncServiceUid": "4aa14534-1c61-483b-b6a6-9630a76f109a", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "serverName": "afscv-2304-139", + "managementEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "monitoringEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "discoveryEndpointUri": "https://kailanitest99.one.microsoft.com:443", + "resourceLocation": "westus", + "serviceLocation": "westus" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/63e554fd-4d27-4b91-8249-2fc697de7c69/operations/d4b00aa1-7ae0-47f0-9fa7-7ed3ea527bc9?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/63e554fd-4d27-4b91-8249-2fc697de7c69/operationresults/d4b00aa1-7ae0-47f0-9fa7-7ed3ea527bc9?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Delete.json new file mode 100644 index 000000000000..21b501c31b59 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "41166691-ab03-43e9-ab3e-0330eda162ac", + "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" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/cdb963fd-ea36-457e-9222-f85754ff398c/operations/20675646-8111-4158-954b-6b637e922cbf?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/cdb963fd-ea36-457e-9222-f85754ff398c/operationresults/20675646-8111-4158-954b-6b637e922cbf?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Get.json new file mode 100644 index 000000000000..cdfa55cf7cea --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "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": { + "name": "SampleRegisteredServer_1.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "agentVersionStatus": "Ok", + "agentVersionExpirationDate": "2018-06-11T21:50:40.5840543Z", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "2018-06-11T21:50:40.5840543Z", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "00000000-0000-0000-0000-000000000000", + "clusterName": "", + "serverId": "3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64", + "storageSyncServiceUid": "4aa14534-1c61-483b-b6a6-9630a76f109a", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "serverName": "afscv-2304-139", + "managementEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "monitoringEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "discoveryEndpointUri": "https://kailanitest99.one.microsoft.com:443", + "resourceLocation": "westus", + "serviceLocation": "westus" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_ListByStorageSyncService.json new file mode 100644 index 000000000000..8c39e81b2ebd --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_ListByStorageSyncService.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "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": { + "value": [ + { + "name": "SampleRegisteredServer_1.redmond.corp.microsoft.com", + "properties": { + "agentVersion": "3.1.5.0", + "agentVersionStatus": "Ok", + "agentVersionExpirationDate": "2018-06-11T21:50:40.5840543Z", + "serverOSVersion": "10.0.14393.0", + "serverManagementErrorCode": 0, + "lastHeartBeat": "2018-06-11T21:50:40.5840543Z", + "provisioningState": "Succeeded", + "serverRole": "Standalone", + "clusterId": "00000000-0000-0000-0000-000000000000", + "clusterName": "", + "serverId": "3635ca8b-5cc8-4a5c-bd43-c2de5ad8dc64", + "storageSyncServiceUid": "4aa14534-1c61-483b-b6a6-9630a76f109a", + "lastWorkflowId": "storageSyncServices/CV_FileStore_F1D485AA/workflows/4eecfbcf-9537-4b61-8fee-aaa3ace11c44", + "lastOperationName": "ICreateRegisteredServerWorkflow", + "friendlyName": "afscv-2304-139", + "serverName": "afscv-2304-139", + "managementEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "monitoringEndpointUri": "https://kailanitest99.one.microsoft.com:443/", + "discoveryEndpointUri": "https://kailanitest99.one.microsoft.com:443", + "resourceLocation": "westus", + "serviceLocation": "westus" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "type": "Microsoft.StorageSync/storageSyncServices/registeredServers" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_TriggerRollover.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_TriggerRollover.json new file mode 100644 index 000000000000..649faa8b0888 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/RegisteredServers_TriggerRollover.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "serverId": "d166ca76-dad2-49df-b409-12345642d730", + "parameters": { + "serverCertificate": "\"MIIDFjCCAf6gAwIBAgIQQS+DS8uhc4VNzUkTw7wbRjANBgkqhkiG9w0BAQ0FADAzMTEwLwYDVQQDEyhhbmt1c2hiLXByb2QzLnJlZG1vbmQuY29ycC5taWNyb3NvZnQuY29tMB4XDTE3MDgwMzE3MDQyNFoXDTE4MDgwNDE3MDQyNFowMzExMC8GA1UEAxMoYW5rdXNoYi1wcm9kMy5yZWRtb25kLmNvcnAubWljcm9zb2Z0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDRvV4gmsIy6jGDPiHsXmvgVP749NNP7DopdlbHaNhjFmYINHl0uWylyaZmgJrROt2mnxN/zEyJtGnqYHlzUr4xvGq/qV5pqgdB9tag/sw9i22gfe9PRZ0FmSOZnXMbLYgLiDFqLtut5gHcOuWMj03YnkfoBEKlFBxWbagvW2yxz/Sxi9OVSJOKCaXra0RpcIHrO/KFl6ho2eE1/7Ykmfa8hZvSdoPd5gHdLiQcMB/pxq+mWp1fI6c8vFZoDu7Atn+NXTzYPKUxKzaisF12TsaKpohUsJpbB3Wocb0F5frn614D2pg14ERB5otjAMWw1m65csQWPI6dP8KIYe0+QPkCAwEAAaMmMCQwIgYDVR0lAQH/BBgwFgYIKwYBBQUHAwIGCisGAQQBgjcKAwwwDQYJKoZIhvcNAQENBQADggEBAA4RhVIBkw34M1RwakJgHvtjsOFxF1tVQA941NtLokx1l2Z8+GFQkcG4xpZSt+UN6wLerdCbnNhtkCErWUDeaT0jxk4g71Ofex7iM04crT4iHJr8mi96/XnhnkTUs+GDk12VgdeeNEczMZz+8Mxw9dJ5NCnYgTwO0SzGlclRsDvjzkLo8rh2ZG6n/jKrEyNXXo+hOqhupij0QbRP2Tvexdfw201kgN1jdZify8XzJ8Oi0bTS0KpJf2pNPOlooK2bjMUei9ANtEdXwwfVZGWvVh6tJjdv6k14wWWJ1L7zhA1IIVb1J+sQUzJji5iX0DrezjTz1Fg+gAzITaA/WsuujlM=\"" + }, + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47222", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d222" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Create.json new file mode 100644 index 000000000000..25a3b2868d2c --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "parameters": { + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "tierFilesOlderThanDays": 0, + "offlineDataTransfer": "on", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + } + }, + "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": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": null, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "cloudTieringStatus": null, + "recallStatus": null, + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Delete.json new file mode 100644 index 000000000000..cf7ebd290c61 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "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" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/9122d971-147b-4dba-bada-1ceb7c9311e5/operations/6dce076b-1df5-4449-829b-69b24f38b5a1?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/9122d971-147b-4dba-bada-1ceb7c9311e5/operationresults/6dce076b-1df5-4449-829b-69b24f38b5a1?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Get.json new file mode 100644 index 000000000000..67a99648af47 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Get.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "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": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "on", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": "UploadAndDownload", + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": -2134351810, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": null, + "lastSyncPerItemErrorCount": 1000, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 300, + "appliedItemCount": 1000, + "totalItemCount": 2300, + "appliedBytes": 57348983, + "totalBytes": 1958367412 + }, + "downloadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 0, + "appliedItemCount": 100, + "totalItemCount": 300, + "appliedBytes": 94805587, + "totalBytes": 19583674 + }, + "offlineDataTransferStatus": "InProgress" + }, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles", + "cloudTieringStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "health": "Error", + "healthLastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastCloudTieringResult": -2134347771, + "lastSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "spaceSavings": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "volumeSizeBytes": 922337203685477580, + "totalSizeCloudBytes": 100000000, + "cachedSizeBytes": 50000000, + "spaceSavingsPercent": 50, + "spaceSavingsBytes": 50000000 + }, + "cachePerformance": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "cacheHitBytes": 922337203685477580, + "cacheMissBytes": 922337203685477580, + "cacheHitBytesPercent": 50 + }, + "filesNotTiering": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "totalFileCount": 60, + "errors": [ + { + "errorCode": -2134347771, + "fileCount": 10 + }, + { + "errorCode": -2134347770, + "fileCount": 20 + }, + { + "errorCode": -2134347769, + "fileCount": 30 + } + ] + }, + "volumeFreeSpacePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "effectiveVolumeFreeSpacePolicy": 30, + "currentVolumeFreeSpacePercent": 5 + }, + "datePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "tieredFilesMostRecentAccessTimestamp": "2019-04-17T19:04:59.1959227Z" + } + }, + "recallStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "totalRecallErrorsCount": 30, + "recallErrors": [ + { + "errorCode": -2134347775, + "count": 5 + }, + { + "errorCode": -2134347774, + "count": 10 + }, + { + "errorCode": -2134347773, + "count": 15 + } + ] + } + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_ListBySyncGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_ListBySyncGroup.json new file mode 100644 index 000000000000..7b1f1e3acb73 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_ListBySyncGroup.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "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": { + "value": [ + { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_1", + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "friendlyName": "somemachine.redmond.corp.microsoft.com", + "serverName": "somemachine.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/080d4133-bdb5-40a0-96a0-71a6057bfe9a", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 0, + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": null, + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 1000, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": null, + "downloadActivity": null, + "offlineDataTransferStatus": "Complete" + }, + "offlineDataTransfer": "on", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + }, + { + "name": "SampleServerEndpoint_2", + "properties": { + "serverLocalPath": "D:\\SampleServerEndpoint_2", + "cloudTiering": "on", + "volumeFreeSpacePercent": 80, + "friendlyName": "somemachine2.redmond.corp.microsoft.com", + "serverName": "somemachine2.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/registeredServers/f94e2944-b48d-4e5b-bdc7-c48ab3712659", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/40b1dc00-d7d9-4721-a1e9-ab60139b830a", + "lastOperationName": "ICreateServerEndpointWorkflow", + "tierFilesOlderThanDays": 5, + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles", + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Healthy", + "combinedHealth": "Healthy", + "syncActivity": "Upload", + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": { + "timestamp": "2018-06-11T23:32:51.1057915Z", + "perItemErrorCount": 300, + "appliedItemCount": 1000, + "totalItemCount": 2300, + "appliedBytes": 57348983, + "totalBytes": 1958367412 + }, + "downloadActivity": null, + "offlineDataTransferStatus": "NotRunning" + }, + "offlineDataTransfer": "off", + "cloudTieringStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "health": "Error", + "healthLastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastCloudTieringResult": -2134347771, + "lastSuccessTimestamp": "2018-06-11T23:32:51.1057915Z", + "spaceSavings": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "volumeSizeBytes": 922337203685477580, + "totalSizeCloudBytes": 100000000, + "cachedSizeBytes": 50000000, + "spaceSavingsPercent": 50, + "spaceSavingsBytes": 50000000 + }, + "cachePerformance": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "cacheHitBytes": 922337203685477580, + "cacheMissBytes": 922337203685477580, + "cacheHitBytesPercent": 50 + }, + "filesNotTiering": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "totalFileCount": 60, + "errors": [ + { + "errorCode": -2134347771, + "fileCount": 10 + }, + { + "errorCode": -2134347770, + "fileCount": 20 + }, + { + "errorCode": -2134347769, + "fileCount": 30 + } + ] + }, + "volumeFreeSpacePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "effectiveVolumeFreeSpacePolicy": 30, + "currentVolumeFreeSpacePercent": 5 + }, + "datePolicyStatus": { + "lastUpdatedTimestamp": "2019-04-17T19:04:59.1959227Z", + "tieredFilesMostRecentAccessTimestamp": "2019-04-17T19:04:59.1959227Z" + } + }, + "recallStatus": { + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "totalRecallErrorsCount": 30, + "recallErrors": [ + { + "errorCode": -2134347775, + "count": 5 + }, + { + "errorCode": -2134347774, + "count": 10 + }, + { + "errorCode": -2134347773, + "count": 15 + } + ] + } + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_2", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Recall.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Recall.json new file mode 100644 index 000000000000..c4098d71cb89 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Recall.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "api-version": "2020-09-01", + "parameters": { + "pattern": "", + "recallPath": "" + } + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Update.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Update.json new file mode 100644 index 000000000000..9f1970e01f07 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/ServerEndpoints_Update.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "cloudEndpointName": "SampleCloudEndpoint_1", + "syncGroupName": "SampleSyncGroup_1", + "serverEndpointName": "SampleServerEndpoint_1", + "parameters": { + "properties": { + "cloudTiering": "off", + "volumeFreeSpacePercent": 100, + "tierFilesOlderThanDays": 0, + "offlineDataTransfer": "off", + "localCacheMode": "UpdateLocallyCachedFiles" + } + }, + "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": { + "name": "SampleServerEndpoint_1", + "properties": { + "serverLocalPath": "C:\\data_quota2", + "cloudTiering": "off", + "volumeFreeSpacePercent": 20, + "tierFilesOlderThanDays": 0, + "friendlyName": "somemachine2.redmond.corp.microsoft.com", + "serverName": "somemachine2.redmond.corp.microsoft.com", + "serverResourceId": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/anpintDemoRG/providers/kailanitest07.one.microsoft.com/storageSyncServices/healthdemo1/registeredServers/f94e2944-b48d-4e5b-bdc7-c48ab3712659", + "provisioningState": "Succeeded", + "lastWorkflowId": "storageSyncServices/healthDemo1/workflows/569afb5c-7172-4cf8-a8ea-d987f727f11b", + "lastOperationName": "ICreateServerEndpointWorkflow", + "syncStatus": { + "downloadHealth": "Healthy", + "uploadHealth": "Error", + "combinedHealth": "Error", + "syncActivity": null, + "totalPersistentFilesNotSyncingCount": null, + "lastUpdatedTimestamp": "2018-06-11T23:32:51.1057915Z", + "uploadStatus": { + "lastSyncResult": -2134351810, + "lastSyncTimestamp": "2018-06-11T23:32:51.1057915Z", + "lastSyncSuccessTimestamp": null, + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "downloadStatus": { + "lastSyncResult": 0, + "lastSyncTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncSuccessTimestamp": "2018-06-11T23:28:33.9217334Z", + "lastSyncPerItemErrorCount": 0, + "persistentFilesNotSyncingCount": null, + "transientFilesNotSyncingCount": null, + "filesNotSyncingErrors": null + }, + "uploadActivity": null, + "downloadActivity": null, + "offlineDataTransferStatus": "Stopping" + }, + "offlineDataTransfer": "off", + "offlineDataTransferStorageAccountResourceId": "/subscriptions/744f4d70-6d17-4921-8970-a765d14f763f/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/mysa", + "offlineDataTransferStorageAccountTenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "offlineDataTransferShareName": "myfileshare", + "initialDownloadPolicy": "NamespaceThenModifiedFiles", + "localCacheMode": "UpdateLocallyCachedFiles" + }, + "id": "/subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1/serverEndpoints/SampleServerEndpoint_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups/serverEndpoints" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Swagger_08-09_Test212/workflows/3af798a9-26fd-44e7-a121-a4ad65f451bd/operations/ef2a30f4-9bb8-40e7-b403-5d6d3dc67a3c?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Swagger_08-09_Test212/workflows/3af798a9-26fd-44e7-a121-a4ad65f451bd/operationresults/ef2a30f4-9bb8-40e7-b403-5d6d3dc67a3c?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..81403bd74522 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "5c6bc8e1-1eaf-4192-94d8-58ce463ac86c", + "locationName": "westus", + "parameters": { + "name": "newstoragesyncservicename", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "An account named 'newstoragesyncservicename' is already in use." + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_Available.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_Available.json new file mode 100644 index 000000000000..c996ca88dc7b --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServiceCheckNameAvailability_Available.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "5c6bc8e1-1eaf-4192-94d8-58ce463ac86c", + "locationName": "westus", + "parameters": { + "name": "newstoragesyncservicename", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Create.json new file mode 100644 index 000000000000..a5ba8a0da848 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Create.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "parameters": { + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "location": "WestUS", + "tags": {} + }, + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": {}, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Delete.json new file mode 100644 index 000000000000..d213969cc0f3 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Delete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Get.json new file mode 100644 index 000000000000..e20d1009c05d --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "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": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"", + "privateEndpointConnections": [ + { + "id": "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/{resource}/{resourceName}/privateEndpointConnections/SampleStorageSyncService_1.cd99f12ba6f3483f9292229e4f822258", + "properties": { + "privateEndpoint": { + "id": "subscriptions/52b8da2f-61e0-4a1f-8dde-336911f367fb/resourceGroups/SampleResourceGroup_2/providers/Microsoft.Network/privateEndpoints/testpe01" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request, thanks." + } + } + } + ] + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListByResourceGroup.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListByResourceGroup.json new file mode 100644 index 000000000000..febc889077bb --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "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": { + "value": [ + { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"3d1bf292-0f2a-4cc1-a3e1-60f35800e40c\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_2", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_2", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_3", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"b2c58ee5-933e-462c-8a9e-b30f2bdd8fa3\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_3", + "type": "Microsoft.StorageSync/storageSyncServices" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListBySubscription.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListBySubscription.json new file mode 100644 index 000000000000..568500faeac6 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_ListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "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": { + "value": [ + { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"3d1bf292-0f2a-4cc1-a3e1-60f35800e40c\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_2", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"2de01144-72da-4d7f-9d0c-e858855114a8\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_2", + "type": "Microsoft.StorageSync/storageSyncServices" + }, + { + "name": "SampleStorageSyncService_3", + "location": "WestUS", + "tags": {}, + "properties": { + "storageSyncServiceStatus": 0, + "incomingTrafficPolicy": "AllowAllTraffic", + "storageSyncServiceUid": "\"b2c58ee5-933e-462c-8a9e-b30f2bdd8fa3\"" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_3", + "type": "Microsoft.StorageSync/storageSyncServices" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Update.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Update.json new file mode 100644 index 000000000000..b5c846d0f8ca --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/StorageSyncServices_Update.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "parameters": { + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": { + "Environment": "Test", + "Dept": "IT" + } + }, + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "name": "SampleStorageSyncService_1", + "location": "WestUS", + "properties": { + "incomingTrafficPolicy": "AllowAllTraffic" + }, + "tags": { + "Environment": "Test", + "Dept": "IT" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1", + "type": "Microsoft.StorageSync/storageSyncServices" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operations/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75/operationresults/fe680c98-5725-49c8-b0dc-5e29745f752b?api-version=2020-09-01", + "Retry-After": "10", + "x-ms-request-id": "74e55a4d-1c6f-46de-9a8d-278e53a47403", + "x-ms-correlation-request-id": "d166ca76-dad2-49df-b409-d2acfd42d730" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Create.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Create.json new file mode 100644 index 000000000000..d06976ee1f44 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Create.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "api-version": "2020-09-01", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "7868e4ee-8ddd-4a2d-941b-0041f6052a8a" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Delete.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Delete.json new file mode 100644 index 000000000000..ccea7daf7689 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "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" + } + }, + "204": {} + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Get.json new file mode 100644 index 000000000000..0f13de87dfb7 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "syncGroupName": "SampleSyncGroup_1", + "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": { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "191660cd-6a1a-4f8c-9787-a6bed206a1dd", + "syncGroupStatus": "0" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Restore_08-08_Test112/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_ListByStorageSyncService.json new file mode 100644 index 000000000000..d385682f66b8 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/SyncGroups_ListByStorageSyncService.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "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": { + "value": [ + { + "name": "SampleSyncGroup_1", + "properties": { + "uniqueId": "191660cd-6a1a-4f8c-9787-a6bed206a1dd", + "syncGroupStatus": "0" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SSS_Restore_08-08_Test112/syncGroups/SampleSyncGroup_1", + "type": "Microsoft.StorageSync/storageSyncServices/syncGroups" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Abort.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Abort.json new file mode 100644 index 000000000000..0880db1c7ae3 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Abort.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "workflowId": "7ffd50b3-5574-478d-9ff2-9371bc42ce68", + "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" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Get.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Get.json new file mode 100644 index 000000000000..97767e2e5f66 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "workflowId": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "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": { + "name": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "properties": { + "status": "succeeded", + "lastOperationId": "\"fe680c98-5725-49c8-b0dc-5e29745f752b\"", + "operation": "do", + "lastStepName": "runServerJob", + "steps": "[{\"name\":\"validateInput\",\"friendlyName\":\"validateInput\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"newServerEndpoint\",\"friendlyName\":\"newServerEndpoint\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"updateReplicaGroupCertificates\",\"friendlyName\":\"updateReplicaGroupCertificates\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"runServerJob\",\"friendlyName\":\"runServerJob\",\"status\":\"Succeeded\",\"error\":null}]", + "commandName": "ICreateServerEndpointWorkflow", + "createdTimestamp": "2019-04-17T19:04:59.1959227Z", + "lastStatusTimestamp": "2019-04-17T19:04:59.1959227Z" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75", + "type": "Microsoft.StorageSync/storageSyncServices/workflows" + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_ListByStorageSyncService.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_ListByStorageSyncService.json new file mode 100644 index 000000000000..841dcbcf146d --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/examples/Workflows_ListByStorageSyncService.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "52b8da2f-61e0-4a1f-8dde-336911f367fb", + "resourceGroupName": "SampleResourceGroup_1", + "storageSyncServiceName": "SampleStorageSyncService_1", + "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": { + "value": [ + { + "name": "828219ea-083e-48b5-89ea-8fd9991b2e75", + "properties": { + "status": "succeeded", + "lastOperationId": "\"fe680c98-5725-49c8-b0dc-5e29745f752b\"", + "operation": "do", + "lastStepName": "runServerJob", + "steps": "[{\"name\":\"validateInput\",\"friendlyName\":\"validateInput\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"newServerEndpoint\",\"friendlyName\":\"newServerEndpoint\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"updateReplicaGroupCertificates\",\"friendlyName\":\"updateReplicaGroupCertificates\",\"status\":\"Succeeded\",\"error\":null},{\"name\":\"runServerJob\",\"friendlyName\":\"runServerJob\",\"status\":\"Succeeded\",\"error\":null}]" + }, + "id": "/subscriptions/3a048283-338f-4002-a9dd-a50fdadcb392/resourceGroups/SampleResourceGroup_1/providers/Microsoft.StorageSync/storageSyncServices/SampleStorageSyncService_1/workflows/828219ea-083e-48b5-89ea-8fd9991b2e75", + "type": "Microsoft.StorageSync/storageSyncServices/workflows" + } + ] + } + } + } +} diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/storagesync.json new file mode 100644 index 000000000000..14a65f0b4501 --- /dev/null +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2020-09-01/storagesync.json @@ -0,0 +1,5195 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Storage Sync", + "description": "Microsoft Storage Sync Service API", + "version": "2020-09-01", + "x-ms-code-generation-settings": { + "name": "StorageSyncManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.StorageSync/operations": { + "get": { + "tags": [ + "ResourceProvider", + "Operations" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "Lists all of the available Storage Sync Rest API operations.", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "responses": { + "200": { + "description": "Array of operations resources in the Resource Provider", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + }, + "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" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/locations/{locationName}/checkNameAvailability": { + "post": { + "tags": [ + "StorageSyncService" + ], + "operationId": "StorageSyncServices_CheckNameAvailability", + "x-ms-examples": { + "StorageSyncServiceCheckNameAvailability_Available": { + "$ref": "./examples/StorageSyncServiceCheckNameAvailability_Available.json" + }, + "StorageSyncServiceCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/StorageSyncServiceCheckNameAvailability_AlreadyExists.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region for the name check." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}": { + "put": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Storage Sync Service resource name.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageSyncServiceCreateParameters" + } + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Create", + "description": "Create a new StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Create": { + "$ref": "./examples/StorageSyncServices_Create.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object created/updated", + "schema": { + "$ref": "#/definitions/StorageSyncService" + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Get", + "description": "Get a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Get": { + "$ref": "./examples/StorageSyncServices_Get.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object", + "schema": { + "$ref": "#/definitions/StorageSyncService" + }, + "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" + } + } + } + }, + "patch": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Storage Sync Service resource.", + "schema": { + "$ref": "#/definitions/StorageSyncServiceUpdateParameters" + } + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Update", + "description": "Patch a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Update": { + "$ref": "./examples/StorageSyncServices_Update.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object created/updated", + "schema": { + "$ref": "#/definitions/StorageSyncService" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_Delete", + "description": "Delete a given StorageSyncService.", + "x-ms-examples": { + "StorageSyncServices_Delete": { + "$ref": "./examples/StorageSyncServices_Delete.json" + } + }, + "responses": { + "200": { + "description": "Storage Sync Service object was deleted.", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Storage Sync Service Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices": { + "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" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_ListByResourceGroup", + "description": "Get a StorageSyncService list by Resource group name.", + "x-ms-examples": { + "StorageSyncServices_ListByResourceGroup": { + "$ref": "./examples/StorageSyncServices_ListByResourceGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of registered Storage Sync Service resources in the Resource Group", + "schema": { + "$ref": "#/definitions/StorageSyncServiceArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageSync/storageSyncServices": { + "get": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "StorageSyncServices Resource" + ], + "operationId": "StorageSyncServices_ListBySubscription", + "description": "Get a StorageSyncService list by subscription.", + "x-ms-examples": { + "StorageSyncServices_ListBySubscription": { + "$ref": "./examples/StorageSyncServices_ListBySubscription.json" + } + }, + "responses": { + "200": { + "description": "Array of registered Storage Sync Service resources in the subscription.", + "schema": { + "$ref": "#/definitions/StorageSyncServiceArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageSyncService", + "description": "Gets the private link resources that need to be created for a storage sync service.", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/PrivateLinkResources_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Create", + "description": "Update the state of specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Create": { + "$ref": "./examples/PrivateEndpointConnections_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage sync service.", + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageSyncServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "PrivateEndpointConnection Resource" + ], + "operationId": "PrivateEndpointConnections_ListByStorageSyncService", + "description": "Get a PrivateEndpointConnection List.", + "x-ms-examples": { + "PrivateEndpointConnections_ListByStorageSyncService": { + "$ref": "./examples/PrivateEndpointConnections_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Sync Group resources in Storage Sync Service", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_ListByStorageSyncService", + "description": "Get a SyncGroup List.", + "x-ms-examples": { + "SyncGroups_ListByStorageSyncService": { + "$ref": "./examples/SyncGroups_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Sync Group resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/SyncGroupArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}": { + "put": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Sync Group Body", + "required": true, + "schema": { + "$ref": "#/definitions/SyncGroupCreateParameters" + } + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Create", + "description": "Create a new SyncGroup.", + "x-ms-examples": { + "SyncGroups_Create": { + "$ref": "./examples/SyncGroups_Create.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object", + "schema": { + "$ref": "#/definitions/SyncGroup" + }, + "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" + } + } + } + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Get", + "description": "Get a given SyncGroup.", + "x-ms-examples": { + "SyncGroups_Get": { + "$ref": "./examples/SyncGroups_Get.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object", + "schema": { + "$ref": "#/definitions/SyncGroup" + }, + "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" + } + } + } + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "SyncGroup Resource" + ], + "operationId": "SyncGroups_Delete", + "description": "Delete a given SyncGroup.", + "x-ms-examples": { + "SyncGroups_Delete": { + "$ref": "./examples/SyncGroups_Delete.json" + } + }, + "responses": { + "200": { + "description": "Sync Group object was deleted", + "headers": { + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}": { + "put": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint resource.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudEndpointCreateParameters" + } + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Create", + "description": "Create a new CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Create": { + "$ref": "./examples/CloudEndpoints_Create.json" + } + }, + "responses": { + "200": { + "description": "Cloud Endpoint object", + "schema": { + "$ref": "#/definitions/CloudEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Get", + "description": "Get a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Get": { + "$ref": "./examples/CloudEndpoints_Get.json" + } + }, + "responses": { + "200": { + "description": "Cloud Endpoint object", + "schema": { + "$ref": "#/definitions/CloudEndpoint" + }, + "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" + } + } + } + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_Delete", + "description": "Delete a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_Delete": { + "$ref": "./examples/CloudEndpoints_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Retry-After": { + "description": "Retry After", + "type": "string" + }, + "x-ms-request-id": { + "description": "Request id", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource" + ], + "operationId": "CloudEndpoints_ListBySyncGroup", + "description": "Get a CloudEndpoint List.", + "x-ms-examples": { + "CloudEndpoints_ListBySyncGroup": { + "$ref": "./examples/CloudEndpoints_ListBySyncGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of Cloud Endpoint resources in Sync Group", + "schema": { + "$ref": "#/definitions/CloudEndpointArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prebackup": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PreBackup", + "description": "Pre Backup a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PreBackup": { + "$ref": "./examples/CloudEndpoints_PreBackup.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postbackup": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PostBackup", + "description": "Post Backup a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PostBackup": { + "$ref": "./examples/CloudEndpoints_PostBackup.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/PostBackupResponse" + }, + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/prerestore": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/PreRestoreRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PreRestore", + "description": "Pre Restore a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PreRestore": { + "$ref": "./examples/CloudEndpoints_PreRestore.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/restoreheartbeat": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_restoreheartbeat", + "description": "Restore Heartbeat a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_restoreheartbeat": { + "$ref": "./examples/CloudEndpoints_RestoreHeatbeat.json" + } + }, + "responses": { + "200": { + "description": "Restore Heartbeat Operation has ran successfully.", + "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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/postrestore": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Cloud Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/PostRestoreRequest" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Backup Restore" + ], + "operationId": "CloudEndpoints_PostRestore", + "description": "Post Restore a given CloudEndpoint.", + "x-ms-examples": { + "CloudEndpoints_PostRestore": { + "$ref": "./examples/CloudEndpoints_PostRestore.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/cloudEndpoints/{cloudEndpointName}/triggerChangeDetection": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "cloudEndpointName", + "in": "path", + "description": "Name of Cloud Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger Change Detection Action parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerChangeDetectionParameters" + } + } + ], + "tags": [ + "CloudEndpoint Resource", + "Actions", + "Change Detection" + ], + "operationId": "CloudEndpoints_TriggerChangeDetection", + "description": "Triggers detection of changes performed on Azure File share connected to the specified Azure File Sync Cloud Endpoint.", + "x-ms-examples": { + "CloudEndpoints_TriggerChangeDetection": { + "$ref": "./examples/CloudEndpoints_TriggerChangeDetection.json" + } + }, + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}": { + "put": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Server Endpoint object.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerEndpointCreateParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Create", + "description": "Create a new ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Create": { + "$ref": "./examples/ServerEndpoints_Create.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Any of the properties applicable in PUT request.", + "schema": { + "$ref": "#/definitions/ServerEndpointUpdateParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Update", + "description": "Patch a given ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Update": { + "$ref": "./examples/ServerEndpoints_Update.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Get", + "description": "Get a ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Get": { + "$ref": "./examples/ServerEndpoints_Get.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "schema": { + "$ref": "#/definitions/ServerEndpoint" + }, + "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" + } + } + } + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_Delete", + "description": "Delete a given ServerEndpoint.", + "x-ms-examples": { + "ServerEndpoints_Delete": { + "$ref": "./examples/ServerEndpoints_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "ServerEndpoint Resource" + ], + "operationId": "ServerEndpoints_ListBySyncGroup", + "description": "Get a ServerEndpoint list.", + "x-ms-examples": { + "ServerEndpoints_ListBySyncGroup": { + "$ref": "./examples/ServerEndpoints_ListBySyncGroup.json" + } + }, + "responses": { + "200": { + "description": "Array of Server Endpoint resources in Sync Group", + "schema": { + "$ref": "#/definitions/ServerEndpointArray" + }, + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/syncGroups/{syncGroupName}/serverEndpoints/{serverEndpointName}/recallAction": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "syncGroupName", + "in": "path", + "description": "Name of Sync Group resource.", + "required": true, + "type": "string" + }, + { + "name": "serverEndpointName", + "in": "path", + "description": "Name of Server Endpoint object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Recall Action object.", + "required": true, + "schema": { + "$ref": "#/definitions/RecallActionParameters" + } + } + ], + "tags": [ + "ServerEndpoint Resource", + "Actions" + ], + "operationId": "ServerEndpoints_recallAction", + "description": "Recall a server endpoint.", + "x-ms-examples": { + "ServerEndpoints_recallAction": { + "$ref": "./examples/ServerEndpoints_Recall.json" + } + }, + "responses": { + "200": { + "description": "Server Endpoint object", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_ListByStorageSyncService", + "description": "Get a given registered server list.", + "x-ms-examples": { + "RegisteredServers_ListByStorageSyncService": { + "$ref": "./examples/RegisteredServers_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Registered Server resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/RegisteredServerArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Get", + "description": "Get a given registered server.", + "x-ms-examples": { + "RegisteredServers_Get": { + "$ref": "./examples/RegisteredServers_Get.json" + } + }, + "responses": { + "200": { + "description": "Registered Server resources in Sync Group", + "schema": { + "$ref": "#/definitions/RegisteredServer" + }, + "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" + } + } + } + }, + "put": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Registered Server object.", + "required": true, + "schema": { + "$ref": "#/definitions/RegisteredServerCreateParameters" + } + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Create", + "description": "Add a new registered server.", + "x-ms-examples": { + "RegisteredServers_Create": { + "$ref": "./examples/RegisteredServers_Create.json" + } + }, + "responses": { + "200": { + "description": "Registered Server resources in Sync Group", + "schema": { + "$ref": "#/definitions/RegisteredServer" + }, + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Azure-AsyncOperation": { + "description": "Operation Status Location URI", + "type": "string" + }, + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + }, + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "GUID identifying the on-premises server.", + "required": true, + "type": "string" + } + ], + "tags": [ + "RegisteredServer Resource" + ], + "operationId": "RegisteredServers_Delete", + "description": "Delete the given registered server.", + "x-ms-examples": { + "RegisteredServers_Delete": { + "$ref": "./examples/RegisteredServers_Delete.json" + } + }, + "responses": { + "200": { + "description": "Ok", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "204": { + "description": "Resource doesn't exist" + }, + "default": { + "description": "Error message indicating why the operation failed.", + "schema": { + "$ref": "#/definitions/StorageSyncError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/registeredServers/{serverId}/triggerRollover": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "serverId", + "in": "path", + "description": "Server Id", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Body of Trigger Rollover request.", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerRolloverRequest" + } + } + ], + "tags": [ + "RegisteredServer Resource", + "Actions" + ], + "operationId": "RegisteredServers_triggerRollover", + "description": "Triggers Server certificate rollover.", + "x-ms-examples": { + "RegisteredServers_triggerRollover": { + "$ref": "./examples/RegisteredServers_TriggerRollover.json" + } + }, + "responses": { + "200": { + "description": "Trigger Rollover success status", + "headers": { + "x-ms-request-id": { + "description": "request id.", + "type": "string" + }, + "x-ms-correlation-request-id": { + "description": "correlation request id.", + "type": "string" + } + } + }, + "202": { + "description": "Asynchronous Operation Status Location", + "headers": { + "Location": { + "description": "Operation Status Location URI", + "type": "string" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource" + ], + "operationId": "Workflows_ListByStorageSyncService", + "description": "Get a Workflow List", + "x-ms-examples": { + "Workflows_ListByStorageSyncService": { + "$ref": "./examples/Workflows_ListByStorageSyncService.json" + } + }, + "responses": { + "200": { + "description": "Array of Workflow resources in Storage Sync Service", + "schema": { + "$ref": "#/definitions/WorkflowArray" + }, + "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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}": { + "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" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource" + ], + "operationId": "Workflows_Get", + "description": "Get Workflows resource", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/Workflows_Get.json" + } + }, + "responses": { + "200": { + "description": "Workflow object", + "schema": { + "$ref": "#/definitions/Workflow" + }, + "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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/storageSyncServices/{storageSyncServiceName}/workflows/{workflowId}/abort": { + "post": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageSyncServiceName", + "in": "path", + "description": "Name of Storage Sync Service resource.", + "required": true, + "type": "string" + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Workflow Resource", + "Actions" + ], + "operationId": "Workflows_Abort", + "description": "Abort the given workflow.", + "x-ms-examples": { + "Workflows_Abort": { + "$ref": "./examples/Workflows_Abort.json" + } + }, + "responses": { + "200": { + "description": "success", + "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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageSync/locations/{locationName}/workflows/{workflowId}/operations/{operationId}": { + "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" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region to obtain information from." + }, + { + "name": "workflowId", + "in": "path", + "description": "workflow Id", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "tags": [ + "Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Operation status", + "x-ms-examples": { + "Workflows_Get": { + "$ref": "./examples/OperationStatus_Get.json" + } + }, + "responses": { + "200": { + "description": "Operation Status", + "schema": { + "$ref": "#/definitions/OperationStatus" + }, + "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": { + "StorageSyncError": { + "type": "object", + "description": "Error type", + "properties": { + "error": { + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details of the given entry." + }, + "innererror": { + "$ref": "#/definitions/StorageSyncApiError", + "description": "Error details of the given entry." + } + } + }, + "StorageSyncApiError": { + "type": "object", + "description": "Error type", + "properties": { + "code": { + "type": "string", + "description": "Error code of the given entry." + }, + "message": { + "type": "string", + "description": "Error message of the given entry." + }, + "target": { + "type": "string", + "description": "Target of the given error entry." + }, + "details": { + "$ref": "#/definitions/StorageSyncErrorDetails", + "description": "Error details of the given entry." + }, + "innerError": { + "$ref": "#/definitions/StorageSyncInnerErrorDetails", + "description": "Inner error details of the given entry." + } + } + }, + "StorageSyncErrorDetails": { + "type": "object", + "description": "Error Details object.", + "properties": { + "code": { + "type": "string", + "description": "Error code of the given entry." + }, + "message": { + "type": "string", + "description": "Error message of the given entry." + }, + "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." + } + } + }, + "SubscriptionState": { + "type": "object", + "description": "Subscription State object.", + "properties": { + "state": { + "type": "string", + "description": "State of Azure Subscription", + "enum": [ + "Registered", + "Unregistered", + "Warned", + "Suspended", + "Deleted" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "istransitioning": { + "type": "boolean", + "description": "Is Transitioning", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionStateProperties", + "description": "Subscription state properties." + } + } + }, + "StorageSyncService": { + "type": "object", + "description": "Storage Sync Service object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceProperties", + "description": "Storage Sync Service properties." + } + } + }, + "SyncGroup": { + "type": "object", + "description": "Sync Group object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SyncGroupProperties", + "description": "SyncGroup properties." + } + } + }, + "CloudEndpoint": { + "type": "object", + "description": "Cloud Endpoint object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CloudEndpointProperties", + "description": "Cloud Endpoint properties." + } + } + }, + "TriggerChangeDetectionParameters": { + "properties": { + "directoryPath": { + "type": "string", + "description": "Relative path to a directory Azure File share for which change detection is to be performed." + }, + "changeDetectionMode": { + "type": "string", + "description": "Change Detection Mode. Applies to a directory specified in directoryPath parameter.", + "enum": [ + "Default", + "Recursive" + ], + "x-ms-enum": { + "name": "changeDetectionMode", + "modelAsString": true + } + }, + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of relative paths on the Azure File share to be included in the change detection. Can be files and directories." + } + }, + "description": "The parameters used when calling trigger change detection action on cloud endpoint." + }, + "RecallActionParameters": { + "properties": { + "pattern": { + "type": "string", + "description": "Pattern of the files." + }, + "recallPath": { + "type": "string", + "description": "Recall path." + } + }, + "description": "The parameters used when calling recall action on server endpoint." + }, + "StorageSyncServiceCreateParameters": { + "properties": { + "location": { + "type": "string", + "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceCreateParametersProperties", + "description": "The parameters used to create the storage sync service." + } + }, + "required": [ + "location" + ], + "description": "The parameters used when creating a storage sync service." + }, + "SyncGroupCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SyncGroupCreateParametersProperties", + "description": "The parameters used to create the sync group" + } + }, + "description": "The parameters used when creating a sync group." + }, + "SyncGroupCreateParametersProperties": { + "type": "object", + "description": "Sync Group Create Properties object.", + "properties": {} + }, + "CloudEndpointCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CloudEndpointCreateParametersProperties", + "description": "The parameters used to create the cloud endpoint." + } + }, + "description": "The parameters used when creating a cloud endpoint." + }, + "StorageSyncServiceCreateParametersProperties": { + "description": "StorageSyncService Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + } + } + }, + "CloudEndpointCreateParametersProperties": { + "description": "CloudEndpoint Properties object.", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Storage Account Resource Id" + }, + "azureFileShareName": { + "type": "string", + "description": "Azure file share name" + }, + "storageAccountTenantId": { + "type": "string", + "description": "Storage Account Tenant Id" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + } + } + }, + "ServerEndpointCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointCreateParametersProperties", + "description": "The parameters used to create the server endpoint." + } + }, + "description": "The parameters used when creating a server endpoint." + }, + "ServerEndpointCreateParametersProperties": { + "description": "ServerEndpoint Properties object.", + "properties": { + "serverLocalPath": { + "$ref": "#/definitions/PhysicalPath", + "description": "Server Local path." + }, + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "serverResourceId": { + "$ref": "#/definitions/ResourceId", + "description": "Server Resource Id." + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "initialDownloadPolicy": { + "$ref": "#/definitions/InitialDownloadPolicy", + "description": "Policy for how namespace and files are recalled during FastDr." + }, + "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." + } + } + }, + "TriggerRolloverRequest": { + "type": "object", + "description": "Trigger Rollover Request.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Certificate Data" + } + } + }, + "RegisteredServerCreateParameters": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegisteredServerCreateParametersProperties", + "description": "The parameters used to create the registered server." + } + }, + "description": "The parameters used when creating a registered server." + }, + "RegisteredServerCreateParametersProperties": { + "description": "RegisteredServer Create Properties object.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Registered Server Certificate" + }, + "agentVersion": { + "type": "string", + "description": "Registered Server Agent Version" + }, + "serverOSVersion": { + "type": "string", + "description": "Registered Server OS Version" + }, + "lastHeartBeat": { + "type": "string", + "description": "Registered Server last heart beat" + }, + "serverRole": { + "type": "string", + "description": "Registered Server serverRole" + }, + "clusterId": { + "type": "string", + "description": "Registered Server clusterId" + }, + "clusterName": { + "type": "string", + "description": "Registered Server clusterName" + }, + "serverId": { + "type": "string", + "description": "Registered Server serverId" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + } + } + }, + "ServerEndpointUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointUpdateProperties", + "description": "The properties of the server endpoint." + } + }, + "description": "Parameters for updating an Server Endpoint." + }, + "ServerEndpoint": { + "type": "object", + "description": "Server Endpoint object.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServerEndpointProperties", + "description": "Server Endpoint properties." + } + } + }, + "RegisteredServer": { + "type": "object", + "description": "Registered Server resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegisteredServerProperties", + "description": "RegisteredServer properties." + } + } + }, + "ResourcesMoveInfo": { + "type": "object", + "description": "Resource Move Info.", + "properties": { + "targetResourceGroup": { + "type": "string", + "description": "Target resource group." + }, + "resources": { + "type": "array", + "description": "Collection of Resources.", + "items": { + "$ref": "#/definitions/ResourceId" + } + } + } + }, + "Workflow": { + "type": "object", + "description": "Workflow resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowProperties", + "description": "Workflow properties." + } + } + }, + "OperationEntityListResult": { + "description": "The list of storage sync operations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + } + } + }, + "OperationEntity": { + "description": "The operation supported by storage sync.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by storage sync." + }, + "origin": { + "type": "string", + "description": "The origin." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operations resource." + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by storage sync.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft StorageSync.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "OperationDisplayResource": { + "type": "object", + "description": "Operation Display Resource object.", + "properties": { + "provider": { + "type": "string", + "description": "Operation Display Resource Provider." + }, + "resource": { + "type": "string", + "description": "Operation Display Resource." + }, + "operation": { + "type": "string", + "description": "Operation Display Resource Operation." + }, + "description": { + "type": "string", + "description": "Operation Display Resource Description." + } + } + }, + "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": { + "type": "string", + "description": "The name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.StorageSync/storageSyncServices" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The resource type. Must be set to Microsoft.StorageSync/storageSyncServices" + } + }, + "required": [ + "name", + "type" + ], + "description": "Parameters for a check name availability request." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false + }, + "description": "Gets the reason that a Storage Sync Service name could not be used. The Reason element is only returned if NameAvailable is false." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "PostRestoreRequest": { + "type": "object", + "description": "Post Restore Request", + "properties": { + "partition": { + "type": "string", + "description": "Post Restore partition." + }, + "replicaGroup": { + "type": "string", + "description": "Post Restore replica group." + }, + "requestId": { + "type": "string", + "description": "Post Restore request id." + }, + "azureFileShareUri": { + "type": "string", + "description": "Post Restore Azure file share uri." + }, + "status": { + "type": "string", + "description": "Post Restore Azure status." + }, + "sourceAzureFileShareUri": { + "type": "string", + "description": "Post Restore Azure source azure file share uri." + }, + "failedFileList": { + "type": "string", + "description": "Post Restore Azure failed file list." + }, + "restoreFileSpec": { + "type": "array", + "description": "Post Restore restore file spec array.", + "items": { + "$ref": "#/definitions/RestoreFileSpec", + "description": "Post Restore restore file spec items array." + } + } + } + }, + "PreRestoreRequest": { + "type": "object", + "description": "Pre Restore request object.", + "properties": { + "partition": { + "type": "string", + "description": "Pre Restore partition." + }, + "replicaGroup": { + "type": "string", + "description": "Pre Restore replica group." + }, + "requestId": { + "type": "string", + "description": "Pre Restore request id." + }, + "azureFileShareUri": { + "type": "string", + "description": "Pre Restore Azure file share uri." + }, + "status": { + "type": "string", + "description": "Pre Restore Azure status." + }, + "sourceAzureFileShareUri": { + "type": "string", + "description": "Pre Restore Azure source azure file share uri." + }, + "backupMetadataPropertyBag": { + "type": "string", + "description": "Pre Restore backup metadata property bag." + }, + "restoreFileSpec": { + "type": "array", + "description": "Pre Restore restore file spec array.", + "items": { + "$ref": "#/definitions/RestoreFileSpec", + "description": "Pre Restore restore file spec items array." + } + }, + "pauseWaitForSyncDrainTimePeriodInSeconds": { + "type": "integer", + "description": "Pre Restore pause wait for sync drain time period in seconds." + } + } + }, + "BackupRequest": { + "type": "object", + "description": "Backup request", + "properties": { + "azureFileShare": { + "type": "string", + "description": "Azure File Share." + } + } + }, + "PostBackupResponse": { + "type": "object", + "description": "Post Backup Response", + "properties": { + "backupMetadata": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PostBackupResponseProperties", + "description": "Post Backup Response Properties" + } + } + }, + "RestoreFileSpec": { + "type": "object", + "description": "Restore file spec.", + "properties": { + "path": { + "type": "string", + "description": "Restore file spec path" + }, + "isdir": { + "type": "boolean", + "description": "Restore file spec isdir" + } + } + }, + "StorageSyncServiceArray": { + "type": "object", + "description": "Array of StorageSyncServices", + "properties": { + "value": { + "type": "array", + "description": "Collection of StorageSyncServices.", + "items": { + "$ref": "#/definitions/StorageSyncService" + } + } + } + }, + "SyncGroupArray": { + "type": "object", + "description": "Array of SyncGroup", + "properties": { + "value": { + "type": "array", + "description": "Collection of SyncGroup.", + "items": { + "$ref": "#/definitions/SyncGroup" + } + } + } + }, + "CloudEndpointArray": { + "type": "object", + "description": "Array of CloudEndpoint", + "properties": { + "value": { + "type": "array", + "description": "Collection of CloudEndpoint.", + "items": { + "$ref": "#/definitions/CloudEndpoint" + } + } + } + }, + "ServerEndpointArray": { + "description": "Array of ServerEndpoint", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of ServerEndpoint.", + "items": { + "$ref": "#/definitions/ServerEndpoint" + } + } + } + }, + "RegisteredServerArray": { + "description": "Array of RegisteredServer", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of Registered Server.", + "items": { + "$ref": "#/definitions/RegisteredServer" + } + } + } + }, + "WorkflowArray": { + "description": "Array of Workflow", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Collection of workflow items.", + "items": { + "$ref": "#/definitions/Workflow" + } + } + } + }, + "SubscriptionStateProperties": { + "type": "object", + "description": "Subscription State properties." + }, + "PostBackupResponseProperties": { + "type": "object", + "description": "Post Backup Response Properties object.", + "properties": { + "cloudEndpointName": { + "type": "string", + "description": "cloud endpoint Name.", + "readOnly": true + } + } + }, + "StorageSyncServiceUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the storage sync service." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageSyncServiceUpdateProperties", + "description": "The properties of the server endpoint." + } + }, + "description": "Parameters for updating an Storage sync service." + }, + "StorageSyncServiceUpdateProperties": { + "type": "object", + "description": "StorageSyncService Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + } + } + }, + "StorageSyncServiceProperties": { + "type": "object", + "description": "Storage Sync Service Properties object.", + "properties": { + "incomingTrafficPolicy": { + "$ref": "#/definitions/IncomingTrafficPolicy", + "description": "Incoming Traffic Policy" + }, + "storageSyncServiceStatus": { + "type": "integer", + "description": "Storage Sync service status.", + "readOnly": true + }, + "storageSyncServiceUid": { + "type": "string", + "description": "Storage Sync service Uid", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "StorageSyncService Provisioning State" + }, + "lastWorkflowId": { + "readOnly": true, + "type": "string", + "description": "StorageSyncService lastWorkflowId" + }, + "lastOperationName": { + "readOnly": true, + "type": "string", + "description": "Resource Last Operation Name" + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage sync service" + } + } + }, + "WorkflowProperties": { + "type": "object", + "description": "Workflow Properties object.", + "properties": { + "lastStepName": { + "type": "string", + "description": "last step name", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "workflow status.", + "readOnly": true + }, + "operation": { + "$ref": "#/definitions/OperationDirection", + "description": "operation direction.", + "readOnly": true + }, + "steps": { + "type": "string", + "description": "workflow steps", + "readOnly": true + }, + "lastOperationId": { + "type": "string", + "description": "workflow last operation identifier.", + "readOnly": true + }, + "commandName": { + "type": "string", + "description": "workflow command name.", + "readOnly": true + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "workflow created timestamp.", + "readOnly": true + }, + "lastStatusTimestamp": { + "type": "string", + "format": "date-time", + "description": "workflow last status timestamp.", + "readOnly": true + } + } + }, + "SyncGroupProperties": { + "type": "object", + "description": "SyncGroup Properties object.", + "properties": { + "uniqueId": { + "type": "string", + "description": "Unique Id", + "readOnly": true + }, + "syncGroupStatus": { + "type": "string", + "description": "Sync group status", + "readOnly": true + } + } + }, + "RegisteredServerProperties": { + "type": "object", + "description": "RegisteredServer Properties object.", + "properties": { + "serverCertificate": { + "type": "string", + "description": "Registered Server Certificate" + }, + "agentVersion": { + "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" + }, + "serverManagementErrorCode": { + "type": "integer", + "description": "Registered Server Management Error Code", + "readOnly": true + }, + "lastHeartBeat": { + "type": "string", + "format": "date-time", + "description": "Registered Server last heart beat", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "Registered Server Provisioning State", + "readOnly": true + }, + "serverRole": { + "type": "string", + "description": "Registered Server serverRole" + }, + "clusterId": { + "type": "string", + "description": "Registered Server clusterId" + }, + "clusterName": { + "type": "string", + "description": "Registered Server clusterName" + }, + "serverId": { + "type": "string", + "description": "Registered Server serverId" + }, + "storageSyncServiceUid": { + "type": "string", + "description": "Registered Server storageSyncServiceUid", + "readOnly": true + }, + "lastWorkflowId": { + "type": "string", + "description": "Registered Server lastWorkflowId", + "readOnly": true + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name", + "readOnly": true + }, + "discoveryEndpointUri": { + "type": "string", + "description": "Resource discoveryEndpointUri", + "readOnly": true + }, + "resourceLocation": { + "type": "string", + "description": "Resource Location", + "readOnly": true + }, + "serviceLocation": { + "type": "string", + "description": "Service Location", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "managementEndpointUri": { + "type": "string", + "description": "Management Endpoint Uri", + "readOnly": true + }, + "monitoringEndpointUri": { + "type": "string", + "description": "Telemetry Endpoint Uri", + "readOnly": true + }, + "monitoringConfiguration": { + "type": "string", + "description": "Monitoring Configuration", + "readOnly": true + }, + "serverName": { + "type": "string", + "description": "Server name", + "readOnly": true + } + } + }, + "CloudEndpointProperties": { + "type": "object", + "description": "CloudEndpoint Properties object.", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Storage Account Resource Id" + }, + "azureFileShareName": { + "type": "string", + "description": "Azure file share name" + }, + "storageAccountTenantId": { + "type": "string", + "description": "Storage Account Tenant Id" + }, + "partnershipId": { + "type": "string", + "description": "Partnership Id" + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "backupEnabled": { + "type": "string", + "description": "Backup Enabled", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "CloudEndpoint Provisioning State" + }, + "lastWorkflowId": { + "type": "string", + "description": "CloudEndpoint lastWorkflowId" + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name" + } + } + }, + "ServerEndpointUpdateProperties": { + "type": "object", + "description": "ServerEndpoint Update Properties object.", + "properties": { + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "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." + } + } + }, + "ServerEndpointProperties": { + "type": "object", + "description": "ServerEndpoint Properties object.", + "properties": { + "serverLocalPath": { + "$ref": "#/definitions/PhysicalPath", + "description": "Server Local path." + }, + "cloudTiering": { + "$ref": "#/definitions/FeatureStatus", + "description": "Cloud Tiering." + }, + "volumeFreeSpacePercent": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + }, + "tierFilesOlderThanDays": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Tier files older than days." + }, + "friendlyName": { + "type": "string", + "description": "Friendly Name" + }, + "serverResourceId": { + "$ref": "#/definitions/ResourceId", + "description": "Server Resource Id." + }, + "provisioningState": { + "type": "string", + "description": "ServerEndpoint Provisioning State", + "readOnly": true + }, + "lastWorkflowId": { + "type": "string", + "description": "ServerEndpoint lastWorkflowId", + "readOnly": true + }, + "lastOperationName": { + "type": "string", + "description": "Resource Last Operation Name", + "readOnly": true + }, + "syncStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointSyncStatus", + "description": "Server Endpoint sync status", + "readOnly": true + }, + "offlineDataTransfer": { + "$ref": "#/definitions/FeatureStatus", + "description": "Offline data transfer" + }, + "offlineDataTransferStorageAccountResourceId": { + "type": "string", + "description": "Offline data transfer storage account resource ID", + "readOnly": true + }, + "offlineDataTransferStorageAccountTenantId": { + "type": "string", + "description": "Offline data transfer storage account tenant ID", + "readOnly": true + }, + "offlineDataTransferShareName": { + "type": "string", + "description": "Offline data transfer share name" + }, + "cloudTieringStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointCloudTieringStatus", + "description": "Cloud tiering status. Only populated if cloud tiering is enabled.", + "readOnly": true + }, + "recallStatus": { + "type": "object", + "$ref": "#/definitions/ServerEndpointRecallStatus", + "description": "Recall status. Only populated if cloud tiering is enabled.", + "readOnly": true + }, + "initialDownloadPolicy": { + "$ref": "#/definitions/InitialDownloadPolicy", + "description": "Policy for how namespace and files are recalled during FastDr." + }, + "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." + }, + "serverName": { + "type": "string", + "description": "Server name", + "readOnly": true + } + } + }, + "ServerEndpointSyncStatus": { + "type": "object", + "description": "Server Endpoint sync status", + "properties": { + "downloadHealth": { + "$ref": "#/definitions/ServerEndpointHealthState", + "description": "Download Health Status.", + "readOnly": true + }, + "uploadHealth": { + "$ref": "#/definitions/ServerEndpointHealthState", + "description": "Upload Health Status.", + "readOnly": true + }, + "combinedHealth": { + "$ref": "#/definitions/ServerEndpointHealthState", + "description": "Combined Health Status.", + "readOnly": true + }, + "syncActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityState", + "description": "Sync activity", + "readOnly": true + }, + "totalPersistentFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total count of persistent files not syncing (combined upload + download).", + "readOnly": true + }, + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last Updated Timestamp", + "readOnly": true + }, + "uploadStatus": { + "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "description": "Upload Status", + "readOnly": true + }, + "downloadStatus": { + "$ref": "#/definitions/ServerEndpointSyncSessionStatus", + "description": "Download Status", + "readOnly": true + }, + "uploadActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "description": "Upload sync activity", + "readOnly": true + }, + "downloadActivity": { + "$ref": "#/definitions/ServerEndpointSyncActivityStatus", + "description": "Download sync activity", + "readOnly": true + }, + "offlineDataTransferStatus": { + "$ref": "#/definitions/ServerEndpointOfflineDataTransferState", + "description": "Offline Data Transfer State", + "readOnly": true + }, + "backgroundDataDownloadActivity": { + "$ref": "#/definitions/ServerEndpointBackgroundDataDownloadActivity", + "description": "Background data download activity", + "readOnly": true + } + } + }, + "ServerEndpointSyncSessionStatus": { + "type": "object", + "description": "Sync Session status object.", + "properties": { + "lastSyncResult": { + "type": "integer", + "format": "int32", + "description": "Last sync result (HResult)", + "readOnly": true + }, + "lastSyncTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last sync timestamp", + "readOnly": true + }, + "lastSyncSuccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last sync success timestamp", + "readOnly": true + }, + "lastSyncPerItemErrorCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Last sync per item error count.", + "readOnly": true + }, + "persistentFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of persistent files not syncing.", + "readOnly": true + }, + "transientFilesNotSyncingCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of transient files not syncing.", + "readOnly": true + }, + "filesNotSyncingErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEndpointFilesNotSyncingError" + }, + "description": "Array of per-item errors coming from the last sync session.", + "readOnly": true + }, + "lastSyncMode": { + "$ref": "#/definitions/ServerEndpointSyncMode", + "description": "Sync mode", + "readOnly": true + } + } + }, + "ServerEndpointSyncActivityStatus": { + "type": "object", + "description": "Sync Session status object.", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Timestamp when properties were updated", + "readOnly": true + }, + "perItemErrorCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Per item error count", + "readOnly": true + }, + "appliedItemCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Applied item count.", + "readOnly": true + }, + "totalItemCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total item count (if available)", + "readOnly": true + }, + "appliedBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Applied bytes", + "readOnly": true + }, + "totalBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total bytes (if available)", + "readOnly": true + }, + "syncMode": { + "$ref": "#/definitions/ServerEndpointSyncMode", + "description": "Sync mode", + "readOnly": true + } + } + }, + "ServerEndpointFilesNotSyncingError": { + "type": "object", + "description": "Files not syncing error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "persistentCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of persistent files not syncing with the specified error code", + "readOnly": true + }, + "transientCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of transient files not syncing with the specified error code", + "readOnly": true + } + } + }, + "ServerEndpointBackgroundDataDownloadActivity": { + "type": "object", + "description": "Background data download activity object", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Timestamp when properties were updated", + "readOnly": true + }, + "percentProgress": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Progress percentage", + "readOnly": true + }, + "downloadedBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Running count of bytes downloaded", + "readOnly": true + } + } + }, + "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" + }, + "ResourceId": { + "type": "string", + "description": "Arm resource identifier." + }, + "TagsObject": { + "type": "object", + "description": "Tags object." + }, + "FeatureStatus": { + "type": "string", + "description": "Type of the Feature Status", + "enum": [ + "on", + "off" + ], + "x-ms-enum": { + "name": "FeatureStatus", + "modelAsString": true + } + }, + "IncomingTrafficPolicy": { + "type": "string", + "description": "Type of the Incoming Traffic Policy", + "enum": [ + "AllowAllTraffic", + "AllowVirtualNetworksOnly" + ], + "x-ms-enum": { + "name": "IncomingTrafficPolicy", + "modelAsString": true + } + }, + "LocalCacheMode": { + "type": "string", + "description": "Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access.", + "enum": [ + "DownloadNewAndModifiedFiles", + "UpdateLocallyCachedFiles" + ], + "x-ms-enum": { + "name": "LocalCacheMode", + "modelAsString": true + } + }, + "InitialDownloadPolicy": { + "type": "string", + "description": "Policy for how namespace and files are recalled during FastDr", + "enum": [ + "NamespaceOnly", + "NamespaceThenModifiedFiles", + "AvoidTieredFiles" + ], + "x-ms-enum": { + "name": "InitialDownloadPolicy", + "modelAsString": true + } + }, + "ServerEndpointHealthState": { + "type": "string", + "description": "Type of the server endpoint health state", + "enum": [ + "Unavailable", + "Healthy", + "Error" + ], + "x-ms-enum": { + "name": "ServerEndpointHealthState", + "modelAsString": true + } + }, + "ServerEndpointSyncActivityState": { + "type": "string", + "description": "Type of the sync activity state", + "enum": [ + "Upload", + "Download", + "UploadAndDownload" + ], + "x-ms-enum": { + "name": "ServerEndpointSyncActivityState", + "modelAsString": true + } + }, + "ServerEndpointOfflineDataTransferState": { + "type": "string", + "description": "Type of the Health state", + "enum": [ + "InProgress", + "Stopping", + "NotRunning", + "Complete" + ], + "x-ms-enum": { + "name": "ServerEndpointOfflineDataTransferState", + "modelAsString": true + } + }, + "WorkflowStatus": { + "type": "string", + "description": "Type of the Workflow Status", + "enum": [ + "active", + "expired", + "succeeded", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "WorkflowStatus", + "modelAsString": true + } + }, + "OperationDirection": { + "type": "string", + "description": "Type of the Operation Direction", + "enum": [ + "do", + "undo", + "cancel" + ], + "x-ms-enum": { + "name": "OperationDirection", + "modelAsString": true + } + }, + "ProgressType": { + "type": "string", + "description": "Type of the ProgressType", + "enum": [ + "none", + "initialize", + "download", + "upload", + "recall" + ], + "x-ms-enum": { + "name": "ProgressType", + "modelAsString": true + } + }, + "OperationStatus": { + "type": "object", + "properties": { + "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." + } + }, + "description": "Operation status object" + }, + "ServerEndpointCloudTieringStatus": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "health": { + "$ref": "#/definitions/ServerEndpointHealthState", + "description": "Cloud tiering health state.", + "readOnly": true + }, + "healthLastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "The last updated timestamp of health state", + "readOnly": true + }, + "lastCloudTieringResult": { + "type": "integer", + "format": "int32", + "description": "Last cloud tiering result (HResult)", + "readOnly": true + }, + "lastSuccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last cloud tiering success timestamp", + "readOnly": true + }, + "spaceSavings": { + "$ref": "#/definitions/CloudTieringSpaceSavings", + "description": "Information regarding how much local space cloud tiering is saving.", + "readOnly": true + }, + "cachePerformance": { + "$ref": "#/definitions/CloudTieringCachePerformance", + "description": "Information regarding how well the local cache on the server is performing.", + "readOnly": true + }, + "filesNotTiering": { + "$ref": "#/definitions/CloudTieringFilesNotTiering", + "description": "Information regarding files that failed to be tiered", + "readOnly": true + }, + "volumeFreeSpacePolicyStatus": { + "$ref": "#/definitions/CloudTieringVolumeFreeSpacePolicyStatus", + "description": "Status of the volume free space policy", + "readOnly": true + }, + "datePolicyStatus": { + "$ref": "#/definitions/CloudTieringDatePolicyStatus", + "description": "Status of the date policy", + "readOnly": true + } + } + }, + "CloudTieringSpaceSavings": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "volumeSizeBytes": { + "type": "integer", + "format": "int64", + "description": "Volume size", + "readOnly": true, + "minimum": 0 + }, + "totalSizeCloudBytes": { + "type": "integer", + "format": "int64", + "description": "Total size of content in the azure file share", + "readOnly": true, + "minimum": 0 + }, + "cachedSizeBytes": { + "type": "integer", + "format": "int64", + "description": "Cached content size on the server", + "readOnly": true, + "minimum": 0 + }, + "spaceSavingsPercent": { + "type": "integer", + "format": "int32", + "description": "Percentage of cached size over total size", + "readOnly": true, + "minimum": 0, + "maximum": 100 + }, + "spaceSavingsBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes saved on the server", + "readOnly": true, + "minimum": 0 + } + } + }, + "CloudTieringCachePerformance": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "cacheHitBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes that were served from the local server", + "readOnly": true, + "minimum": 0 + }, + "cacheMissBytes": { + "type": "integer", + "format": "int64", + "description": "Count of bytes that were served from the cloud", + "readOnly": true, + "minimum": 0 + }, + "cacheHitBytesPercent": { + "type": "integer", + "format": "int32", + "description": "Percentage of total bytes (hit + miss) that were served from the local server", + "readOnly": true, + "minimum": 0, + "maximum": 100 + } + } + }, + "CloudTieringFilesNotTiering": { + "type": "object", + "description": "Server endpoint cloud tiering status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "totalFileCount": { + "type": "integer", + "format": "int64", + "description": "Last cloud tiering result (HResult)", + "readOnly": true, + "minimum": 0 + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/FilesNotTieringError" + }, + "description": "Array of tiering errors", + "readOnly": true + } + } + }, + "FilesNotTieringError": { + "type": "object", + "description": "Files not tiering error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "fileCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of files with this error", + "readOnly": true + } + } + }, + "CloudTieringVolumeFreeSpacePolicyStatus": { + "type": "object", + "description": "Status of the volume free space policy", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "effectiveVolumeFreeSpacePolicy": { + "type": "integer", + "format": "int32", + "description": "In the case where multiple server endpoints are present in a volume, an effective free space policy is applied.", + "readOnly": true, + "minimum": 0, + "maximum": 100 + }, + "currentVolumeFreeSpacePercent": { + "type": "integer", + "format": "int32", + "description": "Current volume free space percentage.", + "readOnly": true, + "minimum": 0, + "maximum": 100 + } + } + }, + "CloudTieringDatePolicyStatus": { + "type": "object", + "description": "Status of the date policy", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "tieredFilesMostRecentAccessTimestamp": { + "type": "string", + "format": "date-time", + "description": "Most recent access time of tiered files", + "readOnly": true + } + } + }, + "ServerEndpointRecallStatus": { + "type": "object", + "description": "Server endpoint recall status object.", + "properties": { + "lastUpdatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Last updated timestamp", + "readOnly": true + }, + "totalRecallErrorsCount": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Total count of recall errors.", + "readOnly": true + }, + "recallErrors": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEndpointRecallError" + }, + "description": "Array of recall errors", + "readOnly": true + } + } + }, + "ServerEndpointRecallError": { + "type": "object", + "description": "Server endpoint recall error object", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code (HResult)", + "readOnly": true + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0, + "description": "Count of occurences of the error", + "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": { + "StorageSyncServiceNameParameter": { + "name": "storageSyncServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage sync service name within the specified resource group.", + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storagesync/resource-manager/readme.azureresourceschema.md b/specification/storagesync/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f5a8e5da5bbb --- /dev/null +++ b/specification/storagesync/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storagesync-2020-03-01 + - tag: schema-storagesync-2019-10-01 + - tag: schema-storagesync-2019-06-01 + - tag: schema-storagesync-2019-03-01 + - tag: schema-storagesync-2019-02-01 + - tag: schema-storagesync-2018-10-01 + - tag: schema-storagesync-2018-07-01 + - tag: schema-storagesync-2018-04-02 + - tag: schema-storagesync-2017-06-05-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storagesync-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2020-03-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-10-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-06-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-03-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-02-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-10-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-07-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-04-02/storagesync.json + +``` + +### Tag: schema-storagesync-2017-06-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2017-06-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/preview/2017-06-05-preview/storagesync.json + +``` diff --git a/specification/storagesync/resource-manager/readme.md b/specification/storagesync/resource-manager/readme.md index 425ca4443e60..c1e76d40a214 100644 --- a/specification/storagesync/resource-manager/readme.md +++ b/specification/storagesync/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the Storage Sync API. ``` yaml openapi-type: arm -tag: package-2020-03-01 +tag: package-preview-2020-09-01 ``` +### Tag: package-preview-2020-09-01 + +These settings apply only when `--tag=package-preview-2020-09-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-09-01' +input-file: + - Microsoft.StorageSync/preview/2020-09-01/storagesync.json +``` ### Tag: package-2020-03-01 These settings apply only when `--tag=package-2020-03-01` is specified on the command line. -```yaml $(tag) == 'package-2020-03-01' +``` yaml $(tag) == 'package-2020-03-01' input-file: - Microsoft.StorageSync/stable/2020-03-01/storagesync.json ``` + ### Tag: package-2019-10-01 These settings apply only when `--tag=package-2019-10-01` is specified on the command line. @@ -128,6 +137,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storagesync/resource-manager ``` ## C# @@ -183,34 +195,7 @@ 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! +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.StorageSync/stable/2020-03-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2019-10-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2019-06-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2019-03-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2019-02-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2018-10-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2018-07-01/storagesync.json - - $(this-folder)/Microsoft.StorageSync/stable/2018-04-02/storagesync.json - - $(this-folder)/Microsoft.StorageSync/preview/2017-06-05-preview/storagesync.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/storsimple8000series/resource-manager/readme.azureresourceschema.md b/specification/storsimple8000series/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c0317855bfca --- /dev/null +++ b/specification/storsimple8000series/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-storsimple-2017-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storsimple-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storsimple-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorSimple/stable/2017-06-01/storsimple.json + +``` diff --git a/specification/storsimple8000series/resource-manager/readme.md b/specification/storsimple8000series/resource-manager/readme.md index 70ee42ce0c32..f717e6b9e303 100644 --- a/specification/storsimple8000series/resource-manager/readme.md +++ b/specification/storsimple8000series/resource-manager/readme.md @@ -61,6 +61,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stor_simple8000_series'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storsimple8000series/resource-manager ``` @@ -118,27 +121,7 @@ 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.StorSimple/stable/2017-06-01/storsimple.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json new file mode 100644 index 000000000000..cdc06f254b09 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json @@ -0,0 +1,198 @@ +{ + "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": "v1", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "AuthenticationMode": { + "type": "string", + "description": "Authentication Mode. Valid modes are `ConnectionString`, `Msi` and 'UserToken'.", + "enum": [ + "Msi", + "UserToken", + "ConnectionString" + ], + "x-ms-enum": { + "name": "AuthenticationMode", + "modelAsString": true + } + }, + "Resource": { + "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. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "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" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "Error": { + "properties": { + "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." + } + }, + "description": "Error definition properties." + } + }, + "description": "Common error representation." + }, + "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." + } + }, + "parameters": { + "IfMatchHeader": { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The ETag of the resource. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchHeader": { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new resource to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response.", + "x-ms-parameter-location": "method" + }, + "StreamingJobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the streaming job.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json new file mode 100644 index 000000000000..834492126f1c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Function_Create_AzureMLService.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureMLService.json new file mode 100644 index 000000000000..9a1dcd7de31b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-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": "sj9093", + "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/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.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/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/2017-04-01-preview/examples/Function_Create_CSharp.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_CSharp.json new file mode 100644 index 000000000000..ba236b1a8618 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-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": "sj9093", + "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/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.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/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.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json new file mode 100644 index 000000000000..3755ce7a0a97 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Function_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Delete.json new file mode 100644 index 000000000000..5cfa1cbee2bc --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json new file mode 100644 index 000000000000..654077725b00 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Function_Get_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_JavaScript.json new file mode 100644 index 000000000000..1213c594bc8e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_JavaScript.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Function_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_ListByStreamingJob.json new file mode 100644 index 000000000000..55eb3da1573a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_ListByStreamingJob.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/sjrg/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/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json new file mode 100644 index 000000000000..0b7993c40a65 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/2017-04-01-preview/examples/Function_Test_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_AzureML.json new file mode 100644 index 000000000000..eb79404a8f6b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_AzureML.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json new file mode 100644 index 000000000000..d97c3be651c7 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/2017-04-01-preview/examples/Function_Update_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_AzureML.json new file mode 100644 index 000000000000..0711d61c402c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_AzureML.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Function_Update_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_JavaScript.json new file mode 100644 index 000000000000..47c53e90bdad --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_JavaScript.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json new file mode 100644 index 000000000000..41d4a65a51ed --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json new file mode 100644 index 000000000000..fdc482aa5569 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..b73ee46ff860 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..cc86b7bcc8b5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Input_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Delete.json new file mode 100644 index 000000000000..efc786d71416 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json new file mode 100644 index 000000000000..d560b90d6d16 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json new file mode 100644 index 000000000000..083c30bbb96a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6695", + "inputName": "input8899" + }, + "responses": { + "200": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..44f137054ef4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj197", + "inputName": "input7425" + }, + "responses": { + "200": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..cb639630e138 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9742", + "inputName": "input7970" + }, + "responses": { + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Input_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob.json new file mode 100644 index 000000000000..e0165148a5c2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/sjrg/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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json new file mode 100644 index 000000000000..cbe3348e4459 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7804", + "$select": "*" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Input_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Test.json new file mode 100644 index 000000000000..d72cf2c0372c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json new file mode 100644 index 000000000000..6f9b28c8db9b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Input_Update_Stream_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_Blob.json new file mode 100644 index 000000000000..de4b602ffb0a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_Blob.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json new file mode 100644 index 000000000000..362ae7631e6e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json new file mode 100644 index 000000000000..96fda55e9a86 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Operation_List.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Operation_List.json new file mode 100644 index 000000000000..442cff126fb4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-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/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..f070987e133d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureSQL.json new file mode 100644 index 000000000000..0e008ff6f410 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureSQL.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "someUser", + "password": "somePassword", + "table": "someTable" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureTable.json new file mode 100644 index 000000000000..1a65e7b04e91 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureTable.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_Blob_CSV.json new file mode 100644 index 000000000000..fbe36e19d632 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_Blob_CSV.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DocumentDB.json new file mode 100644 index 000000000000..0f9365a8a609 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DocumentDB.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json new file mode 100644 index 000000000000..4f2caaef48e9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_PowerBI.json new file mode 100644 index 000000000000..0d132fa48f13 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_PowerBI.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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", + "authenticationMode": "ConnectionString" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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", + "authenticationMode": "ConnectionString" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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", + "authenticationMode": "ConnectionString" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..893b2e566ae2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj5095", + "outputName": "output3456", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ] + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..b24a002925cf --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Delete.json new file mode 100644 index 000000000000..3225777c59d9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..10978f4f6365 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json new file mode 100644 index 000000000000..109b2fb683ed --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-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": "sj2790", + "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/2017-04-01-preview/examples/Output_Get_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureSQL.json new file mode 100644 index 000000000000..5c0f053b613d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureSQL.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureTable.json new file mode 100644 index 000000000000..e67c48756bdb --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureTable.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "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/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/2017-04-01-preview/examples/Output_Get_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_Blob_CSV.json new file mode 100644 index 000000000000..d7c7cdde7b4d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_Blob_CSV.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj900", + "outputName": "output1623" + }, + "responses": { + "200": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json new file mode 100644 index 000000000000..dcd8f0581443 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "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/2017-04-01-preview/examples/Output_Get_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DocumentDB.json new file mode 100644 index 000000000000..37063497ee26 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DocumentDB.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json new file mode 100644 index 000000000000..5680a436242d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_PowerBI.json new file mode 100644 index 000000000000..e62d3ed60f41 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_PowerBI.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..539338506799 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj5095", + "outputName": "output3456" + }, + "responses": { + "200": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..d53758411faf --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7094", + "outputName": "output7886" + }, + "responses": { + "200": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Output_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_ListByStreamingJob.json new file mode 100644 index 000000000000..59cc2c0332a2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_ListByStreamingJob.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Output_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Test.json new file mode 100644 index 000000000000..1531796e0c22 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json new file mode 100644 index 000000000000..ee70b388781b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureSQL.json new file mode 100644 index 000000000000..70282bbc7b3c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureSQL.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureTable.json new file mode 100644 index 000000000000..6f0872407e77 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureTable.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_Blob.json new file mode 100644 index 000000000000..e0e87d50eea4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_Blob.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DocumentDB.json new file mode 100644 index 000000000000..2e3924da160a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DocumentDB.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_EventHub.json new file mode 100644 index 000000000000..efceb3b456c6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_EventHub.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_PowerBI.json new file mode 100644 index 000000000000..914d53994c1c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_PowerBI.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json new file mode 100644 index 000000000000..22f059c8dce6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json new file mode 100644 index 000000000000..8853725cd6ea --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json new file mode 100644 index 000000000000..9bbde5a6f337 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json @@ -0,0 +1,261 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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": "userName", + "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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/sjrg/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/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json new file mode 100644 index 000000000000..cf031d95636c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/StreamingJob_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Delete.json new file mode 100644 index 000000000000..56c140778005 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json new file mode 100644 index 000000000000..fe008830a054 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json new file mode 100644 index 000000000000..7f0d65339cec --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/DO_NOT_DELETE/providers/Microsoft.StreamAnalytics/streamingjobs/wrm-test-vs-job", + "name": "wrm-test-vs-job", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "Japan East", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "37936929-58fc-4c06-900b-18d110d87fe8", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-06-24T07:41:10.94Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "jobType": "Cloud", + "cluster": null + }, + "identity": { + "principalId": "c10a9ec7-7136-441f-9e90-d17cd1a51b94", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json new file mode 100644 index 000000000000..ead3c7ffb2f9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json @@ -0,0 +1,504 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/HistoricalTrafficData", + "name": "HistoricalTrafficData", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "container1", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + }, + "etag": "8ffd285f-cc45-4a0a-9e0b-a7cfd7f7130c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "1", + "eventHubName": "input", + "serviceBusNamespace": "azuremlbugbash", + "sharedAccessPolicyName": "inputpolicy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "d62c06ad-343b-4631-81cc-2c63c4081869" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "-- input refers to the alias of your event hub \r\n\r\nWITH  \r\n\r\nTripData AS ( \r\n\r\n    SELECT TRY_CAST(pickupLat AS float) as pickupLat, \r\n\r\n    TRY_CAST(pickupLon AS float) as pickupLon, \r\n\r\n    passengerCount, TripTimeinSeconds,  \r\n\r\n    pickupTime, VendorID, tripDistanceInMiles \r\n\r\n    FROM input timestamp by pickupTime \r\n\r\n    WHERE pickupLat > -90 AND pickupLat < 90 AND pickupLon > -180 AND pickupLon < 180 \r\n\r\n) \r\n\r\n \r\n\r\n--query 1 \r\n\r\nSELECT count(*), system.timestamp as timestamps \r\n\r\nINTO output \r\n\r\nFROM TripData \r\n\r\nGroup by hoppingwindow(second,60,5) \r\n\r\n \r\n\r\n \r\n\r\n--query 2 where HistoricalTrafficData is the alias of your reference data \r\n\r\nSELECT count(TripData.VendorID) as NbTrips, avg(TripData.passengerCount) as AvgPassenger, avg(TripData.TripTimeinSeconds) as TripTimeinSeconds, System.Timestamp as timestamps, TRY_CAST(HistoricalTrafficData.avgTraffic as bigint) as historicalTraffic \r\n\r\nINTO PBI \r\n\r\nFROM TripData \r\n\r\nJOIN HistoricalTrafficData ON \r\n\r\ndatepart(hour,TripData.pickupTime) = TRY_CAST(HistoricalTrafficData.hour as bigint) \r\n\r\nGroup By TripData.VendorID, HistoricalTrafficData.avgTraffic, hoppingwindow(second,60,5) ", + "etag": "cc14703e-4d5f-489c-97e4-adf75698b20d" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/outputs/output", + "name": "output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "output", + "pathPattern": "", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "timeWindow": "01:59:00", + "sizeWindow": 1, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "3632dbc3-1a8c-49dc-838d-1f84b709c667" + } + } + ], + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus" + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "34dcf5e8-d33e-4de3-b413-580fa9316f4b" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": null, + "query": " SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))\r\n INTO Output\r\n FROM Input", + "etag": "29beb753-10cb-4627-91df-09dbfea9ac77" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/functions/ASAEdgeUDFDemo_Class1_SquareFunction", + "name": "ASAEdgeUDFDemo_Class1_SquareFunction", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "any", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + }, + "etag": "c3f6f31b-6b42-42c9-8cb1-1d12d6ab448a" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/outputs/Output", + "name": "Output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + }, + "etag": "c6ba3df6-13af-40af-992f-9317e8537590" + } + } + ], + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json new file mode 100644 index 000000000000..e56d3b9c58f8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json new file mode 100644 index 000000000000..bf17ca0995be --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json @@ -0,0 +1,503 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/HistoricalTrafficData", + "name": "HistoricalTrafficData", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "container1", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + }, + "etag": "8ffd285f-cc45-4a0a-9e0b-a7cfd7f7130c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "1", + "eventHubName": "input", + "serviceBusNamespace": "azuremlbugbash", + "sharedAccessPolicyName": "inputpolicy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "d62c06ad-343b-4631-81cc-2c63c4081869" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "-- input refers to the alias of your event hub \r\n\r\nWITH  \r\n\r\nTripData AS ( \r\n\r\n    SELECT TRY_CAST(pickupLat AS float) as pickupLat, \r\n\r\n    TRY_CAST(pickupLon AS float) as pickupLon, \r\n\r\n    passengerCount, TripTimeinSeconds,  \r\n\r\n    pickupTime, VendorID, tripDistanceInMiles \r\n\r\n    FROM input timestamp by pickupTime \r\n\r\n    WHERE pickupLat > -90 AND pickupLat < 90 AND pickupLon > -180 AND pickupLon < 180 \r\n\r\n) \r\n\r\n \r\n\r\n--query 1 \r\n\r\nSELECT count(*), system.timestamp as timestamps \r\n\r\nINTO output \r\n\r\nFROM TripData \r\n\r\nGroup by hoppingwindow(second,60,5) \r\n\r\n \r\n\r\n \r\n\r\n--query 2 where HistoricalTrafficData is the alias of your reference data \r\n\r\nSELECT count(TripData.VendorID) as NbTrips, avg(TripData.passengerCount) as AvgPassenger, avg(TripData.TripTimeinSeconds) as TripTimeinSeconds, System.Timestamp as timestamps, TRY_CAST(HistoricalTrafficData.avgTraffic as bigint) as historicalTraffic \r\n\r\nINTO PBI \r\n\r\nFROM TripData \r\n\r\nJOIN HistoricalTrafficData ON \r\n\r\ndatepart(hour,TripData.pickupTime) = TRY_CAST(HistoricalTrafficData.hour as bigint) \r\n\r\nGroup By TripData.VendorID, HistoricalTrafficData.avgTraffic, hoppingwindow(second,60,5) ", + "etag": "cc14703e-4d5f-489c-97e4-adf75698b20d" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/outputs/output", + "name": "output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "output", + "pathPattern": "", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "timeWindow": "01:59:00", + "sizeWindow": 1, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "3632dbc3-1a8c-49dc-838d-1f84b709c667" + } + } + ], + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus" + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "34dcf5e8-d33e-4de3-b413-580fa9316f4b" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": null, + "query": " SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))\r\n INTO Output\r\n FROM Input", + "etag": "29beb753-10cb-4627-91df-09dbfea9ac77" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/functions/ASAEdgeUDFDemo_Class1_SquareFunction", + "name": "ASAEdgeUDFDemo_Class1_SquareFunction", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "any", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + }, + "etag": "c3f6f31b-6b42-42c9-8cb1-1d12d6ab448a" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/outputs/Output", + "name": "Output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + }, + "etag": "c6ba3df6-13af-40af-992f-9317e8537590" + } + } + ], + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json new file mode 100644 index 000000000000..ba64bea75a82 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json new file mode 100644 index 000000000000..0e20a536d73b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "CustomTime", + "outputStartTime": "2012-12-12T12:12:12Z" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json new file mode 100644 index 000000000000..165fd2b75266 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "JobStartTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json new file mode 100644 index 000000000000..5be70fd3794f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "LastOutputEventTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json new file mode 100644 index 000000000000..bd959439dd1b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json new file mode 100644 index 000000000000..4cdadcf92e28 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags", + "name": "abdasPartitionCountTags", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":1}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "6d2b662c-a8b1-4a19-b3bb-8314adfa7ec3", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-10T18:03:00.21Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "abdasPartitionCountTags_input_consumer_group", + "eventHubName": "anothereh", + "serviceBusNamespace": "another-new-ns", + "sharedAccessPolicyName": "abdasPartitionCountTags_input_policy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "26fb1bf7-f153-4bb9-a1e8-5ca32d9489be" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "SELECT\r\n *\r\nINTO\r\n [YourOutputAlias]\r\nFROM\r\n [YourInputAlias]", + "etag": "57f64482-3663-49d1-b29f-cd74a9a7e211" + } + }, + "functions": [], + "outputs": [], + "jobType": "Cloud", + "cluster": null + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json new file mode 100644 index 000000000000..0b8dbdad3cc5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "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/2017-04-01-preview/examples/Transformation_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Create.json new file mode 100644 index 000000000000..865c80472b38 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Create.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/sjrg/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/2017-04-01-preview/examples/Transformation_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Get.json new file mode 100644 index 000000000000..02d8fc5d7197 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8374", + "transformationName": "transformation952" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/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/2017-04-01-preview/examples/Transformation_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Update.json new file mode 100644 index 000000000000..365598c160ca --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "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/sjrg/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/2017-04-01-preview/functions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json new file mode 100644 index 000000000000..b33a07742e00 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json @@ -0,0 +1,977 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.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" + } + } + } + } + }, + "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" + } + } + } + } + }, + "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." + } + } + }, + "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" + } + } + } + } + } + }, + "/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" + } + } + }, + "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." + } + }, + "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" + } + } + } + } + } + }, + "definitions": { + "Function": { + "description": "A function object, containing all information associated with the named function. All functions are contained under a streaming job.", + "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.", + "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": { + "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.", + "x-ms-discriminator-value": "Scalar", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + }, + "FunctionInput": { + "description": "Describes one input parameter of a function.", + "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.", + "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.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the function binding type." + } + }, + "required": [ + "type" + ] + }, + "AzureMachineLearningStudioFunctionBinding": { + "description": "The binding to an Azure Machine Learning Studio.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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.", + "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": { + "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." + } + }, + "description": "Object containing a list of functions under a streaming job." + }, + "UdfType": { + "type": "string", + "description": "The function type.", + "enum": [ + "Scalar" + ], + "x-ms-enum": { + "name": "UdfType", + "modelAsString": false + } + }, + "SubResource": { + "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 + }, + "AggregateFunctionProperties": { + "description": "The properties that are associated with an aggregate function.", + "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/2017-04-01-preview/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json new file mode 100644 index 000000000000..51178cc6130c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json @@ -0,0 +1,1079 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.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" + } + } + } + } + }, + "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" + } + } + } + } + }, + "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." + } + } + }, + "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" + } + } + } + } + } + }, + "/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" + } + } + }, + "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." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Input": { + "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": { + "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" + }, + "partitionKey": { + "type": "string", + "description": "partitionKey Describes a key in the input data which is used for partitioning the input data" + } + }, + "required": [ + "type" + ] + }, + "StreamInputProperties": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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." + }, + "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.)." + } + } + }, + "ReferenceInputDataSource": { + "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": { + "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": { + "description": "The properties that are associated with a blob input containing reference data.", + "allOf": [ + { + "$ref": "#/definitions/BlobDataSourceProperties" + } + ], + "properties": {} + }, + "BlobDataSourceProperties": { + "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." + } + } + }, + "StorageAccount": { + "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." + } + } + }, + "ServiceBusDataSourceProperties": { + "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." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "EventHubDataSourceProperties": { + "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": { + "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": { + "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": { + "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": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output.", + "discriminator": "type", + "properties": { + "type": { + "$ref": "#/definitions/EventSerializationType" + } + }, + "required": [ + "type" + ] + }, + "ParquetSerialization": { + "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": { + "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.", + "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.", + "properties": { + "serializationDllPath": { + "type": "string", + "description": "The serialization library path." + }, + "serializationClassName": { + "type": "string", + "description": "The serialization class name." + } + } + }, + "CsvSerialization": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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": { + "description": "Describes how input data is compressed", + "properties": { + "type": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "Identity": { + "description": "Describes how identity is verified", + "properties": { + "tenantId": { + "type": "string" + }, + "principalId": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "AzureSqlReferenceInputDataSource": { + "description": "Describes an Azure SQL database reference input data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/Database", + "allOf": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSqlReferenceInputDataSourceProperties" + } + } + }, + "AzureSqlReferenceInputDataSourceProperties": { + "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" + }, + "table": { + "description": "This element is associated with the datasource element. The name of the table in the Azure SQL database..", + "type": "string" + }, + "refreshType": { + "description": "This element is associated with the datasource element. This element is of enum type. It indicates what kind of data refresh option do we want to use:Static/RefreshPeriodicallyWithFull/RefreshPeriodicallyWithDelta", + "type": "string" + }, + "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" + } + } + }, + "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 + } + } + }, + "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/2017-04-01-preview/operations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json new file mode 100644 index 000000000000..1272302df934 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json @@ -0,0 +1,124 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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": { + "/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" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "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 + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json new file mode 100644 index 000000000000..0e2134ff78df --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json @@ -0,0 +1,1074 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.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" + } + } + } + } + }, + "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" + } + } + } + } + }, + "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." + } + } + }, + "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" + } + } + } + } + } + }, + "/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" + } + } + }, + "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." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Output": { + "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": { + "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" + }, + "sizeWindow": { + "type": "number" + }, + "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": { + "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" + ] + }, + "BlobOutputDataSource": { + "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": { + "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": { + "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": { + "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." + }, + "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": { + "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": { + "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": { + "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", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlDatabaseOutputDataSource": { + "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": { + "description": "The properties that are associated with an Azure SQL database output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseDataSourceProperties" + } + ], + "properties": {} + }, + "AzureSynapseOutputDataSource": { + "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": { + "description": "The properties that are associated with an Azure Synapse output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseDataSourceProperties" + } + ], + "properties": {} + }, + "AzureSynapseDataSourceProperties": { + "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." + } + } + }, + "DocumentDbOutputDataSource": { + "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": { + "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." + }, + "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", + "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.", + "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": { + "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": { + "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", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ServiceBusTopicOutputDataSource": { + "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": { + "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", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PowerBIOutputDataSource": { + "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": { + "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": { + "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": { + "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": { + "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": { + "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 Write r 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": { + "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": { + "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/2017-04-01-preview/streamingjobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json new file mode 100644 index 000000000000..b023c743b867 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json @@ -0,0 +1,789 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.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" + } + } + } + }, + "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" + } + } + } + } + }, + "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." + } + }, + "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" + } + } + } + } + } + }, + "/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" + } + } + }, + "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" + } + } + }, + "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." + } + }, + "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." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "External": { + "description": "The storage account where the custom code artifacts are located.", + "properties": { + "storageAccount": { + "$ref": "./inputs.json#/definitions/StorageAccount" + }, + "container": { + "type": "string" + }, + "path": { + "type": "string" + } + } + }, + "OperationListResult": { + "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 + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "StreamingJob": { + "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": "./inputs.json#/definitions/Identity", + "description": "Describes the system-assigned managed identity assigned to this job that can be used to authenticate with inputs and outputs." + } + } + }, + "StreamingJobProperties": { + "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/StreamingJobSku" + }, + "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": { + "$ref": "#/definitions/JobStorageAccount" + }, + "contentStoragePolicy": { + "readOnly": true, + "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": { + "description": "The properties associated with a Stream Analytics cluster.", + "properties": { + "id": { + "description": "The resource id of cluster.", + "type": "string" + } + } + }, + "StreamingJobSku": { + "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": "StreamingJobSkuName", + "modelAsString": true + } + } + } + }, + "StreamingJobListResult": { + "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": { + "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 + } + }, + "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" + ], + "x-ms-enum": { + "name": "CompatibilityLevel", + "modelAsString": true + } + }, + "JobStorageAccount": { + "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." + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json new file mode 100644 index 000000000000..e20939d8ed25 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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}/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": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region in which to retrieve the subscription's quota information. You can find out which regions Azure Stream Analytics is supported in here: https://azure.microsoft.com/en-us/regions/" + }, + { + "$ref": "../../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" + } + } + } + } + } + }, + "definitions": { + "SubscriptionQuotasListResult": { + "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 + } + } + }, + "SubResource": { + "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/2017-04-01-preview/transformations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json new file mode 100644 index 000000000000..9543efbc90a1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json @@ -0,0 +1,288 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.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" + } + } + } + } + }, + "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" + } + } + } + } + }, + "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" + } + } + } + } + } + } + }, + "definitions": { + "Transformation": { + "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": { + "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." + }, + "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": { + "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/preview/2020-03-01-preview/clusters.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json new file mode 100644 index 000000000000..c06405bb7968 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json @@ -0,0 +1,612 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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": { + "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": { + "description": "The properties associated with a Stream Analytics cluster.", + "$ref": "#/definitions/ClusterProperties" + } + } + }, + "ClusterProperties": { + "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": { + "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": { + "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": { + "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": { + "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/preview/2020-03-01-preview/examples/Cluster_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Create.json new file mode 100644 index 000000000000..308a5ce95830 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Delete.json new file mode 100644 index 000000000000..2bfbcd63c495 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Get.json new file mode 100644 index 000000000000..d9151089861c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_ListByResourceGroup.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListByResourceGroup.json new file mode 100644 index 000000000000..3bc8733d9133 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_ListBySubscription.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListBySubscription.json new file mode 100644 index 000000000000..b612acc8c5ab --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_ListStreamingJobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListStreamingJobs.json new file mode 100644 index 000000000000..af0878044e31 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/Cluster_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Update.json new file mode 100644 index 000000000000..631d277249e4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/PrivateEndpoint_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Create.json new file mode 100644 index 000000000000..977b24febe2f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/PrivateEndpoint_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Delete.json new file mode 100644 index 000000000000..e219248ac76e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/PrivateEndpoint_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Get.json new file mode 100644 index 000000000000..0b3909921a47 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/examples/PrivateEndpoint_ListByCluster.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_ListByCluster.json new file mode 100644 index 000000000000..b4d2fe7c6cfa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/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/preview/2020-03-01-preview/privateEndpoints.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json new file mode 100644 index 000000000000..f090e917309e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json @@ -0,0 +1,358 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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": { + "description": "Complete information about the private endpoint.", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "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": { + "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": { + "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": { + "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" + }, + "privateLinkServiceConnectionState": { + "description": "A collection of read-only information about the state of the connection to the private remote resource.", + "$ref": "#/definitions/PrivateLinkConnectionState" + } + } + }, + "PrivateLinkConnectionState": { + "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": { + "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/readme.az.md b/specification/streamanalytics/resource-manager/readme.az.md new file mode 100644 index 000000000000..34bd207b4dd1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: streamanalytics + package-name: azure-mgmt-streamanalytics + namespace: azure.mgmt.streamanalytics +az-output-folder: $(azure-cli-extension-folder)/src/streamanalytics +python-sdk-output-folder: "$(az-output-folder)/azext_streamanalytics/vendored_sdks/streamanalytics" +``` diff --git a/specification/streamanalytics/resource-manager/readme.azureresourceschema.md b/specification/streamanalytics/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d144db4a64a1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-streamanalytics-2020-03-01-preview + - tag: schema-streamanalytics-2017-04-01-preview + - tag: schema-streamanalytics-2016-03-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-streamanalytics-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-streamanalytics-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json + +``` + +### Tag: schema-streamanalytics-2017-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-streamanalytics-2017-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json + +``` + +### Tag: schema-streamanalytics-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-streamanalytics-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StreamAnalytics/stable/2016-03-01/streamingjobs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/outputs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/transformations.json + - Microsoft.StreamAnalytics/stable/2016-03-01/functions.json + - Microsoft.StreamAnalytics/stable/2016-03-01/subscriptions.json + +``` diff --git a/specification/streamanalytics/resource-manager/readme.cli.md b/specification/streamanalytics/resource-manager/readme.cli.md new file mode 100644 index 000000000000..4b69b6bf3ba9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/readme.cli.md @@ -0,0 +1,10 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +cli: + cli-name: streamanalytics + package-name: azure-mgmt-streamanalytics + namespace: azure.mgmt.streamanalytics +``` diff --git a/specification/streamanalytics/resource-manager/readme.go.md b/specification/streamanalytics/resource-manager/readme.go.md index 443818eee8dd..59234232de73 100644 --- a/specification/streamanalytics/resource-manager/readme.go.md +++ b/specification/streamanalytics/resource-manager/readme.go.md @@ -13,14 +13,31 @@ go: ``` yaml $(go) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and go +### Tag: package-pure-2016-03 and go -These settings apply only when `--tag=package-2016-03 --go` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(go) +``` yaml $(tag) == 'package-pure-2016-03' && $(go) output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2016-03-01/$(namespace) ``` + +### Tag: package-pure-2017-04-preview and go + +These settings apply only when `--tag=package-pure-2017-04-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-04-01-preview/$(namespace) +``` + +### Tag: package-2020-03-preview and go + +These settings apply only when `--tag=package-2020-03-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace) \ No newline at end of file diff --git a/specification/streamanalytics/resource-manager/readme.md b/specification/streamanalytics/resource-manager/readme.md index 7c4e3a7d48bf..9770af90a658 100644 --- a/specification/streamanalytics/resource-manager/readme.md +++ b/specification/streamanalytics/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for StreamAnalytics. - - --- + ## Getting Started + To build the SDK for StreamAnalytics, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,28 +15,75 @@ To build the SDK for StreamAnalytics, simply [Install AutoRest](https://aka.ms/a To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the StreamAnalytics API. ``` yaml title: Stream Analytics Management Client description: Stream Analytics Client openapi-type: arm -tag: package-2016-03 +tag: package-2020-03-preview +``` + +### Tag: package-2020-03-preview + +These settings apply only when `--tag=package-2020-03-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 2017-04-01-preview version. + +```yaml $(tag) == 'package-2020-03-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json ``` +### Tag: package-pure-2020-03-preview -### Tag: package-2016-03 +These settings apply only when `--tag=package-pure-2020-03-preview` is specified on the command line. -These settings apply only when `--tag=package-2016-03` is specified on the command line. +This section only contains input swagger files for version 2020-03-01-preview, including Stream Analytics Cluster and Private Endpoint related APIs. -``` yaml $(tag) == 'package-2016-03' +```yaml $(tag) == 'package-pure-2020-03-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json +``` + +### Tag: package-pure-2017-04-preview + +These settings apply only when `--tag=package-pure-2017-04-preview` is specified on the command line. + +This section only contains input swagger files for version 2017-04-01-preview, including streamingjobs related APIs. + +```yaml $(tag) == 'package-pure-2017-04-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json +``` + +### Tag: package-pure-2016-03 + +These settings apply only when `--tag=package-pure-2016-03` is specified on the command line. + +``` yaml $(tag) == 'package-pure-2016-03' input-file: - Microsoft.StreamAnalytics/stable/2016-03-01/streamingjobs.json - Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json @@ -46,10 +93,9 @@ input-file: - Microsoft.StreamAnalytics/stable/2016-03-01/subscriptions.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -59,15 +105,19 @@ 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-go - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stream_analytics'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js streamanalytics/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -104,15 +154,15 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-streamanalytics ``` yaml $(java) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and java +### Tag: package-pure-2016-03 and java -These settings apply only when `--tag=package-2016-03 --java` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-pure-2016-03' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.streamanalytics.v2016_03_01 output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2016_03_01 @@ -120,6 +170,31 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-pure-2017-04-preview and java + +These settings apply only when `--tag=package-pure-2017-04-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.streamanalytics.v2017_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2017_04_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-03-preview and java + +These settings apply only when `--tag=package-2020-03-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.streamanalytics.v2020_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2020_03_01_preview +regenerate-manager: true +generate-interface: true +``` # Suppression @@ -149,34 +224,12 @@ directive: where: $.definitions.SubscriptionQuota from: subscriptions.json reason: Need the “name” property to be writable on nested resources so that our RP can support a DEEP PUT scenario which at the time, ARM did not have a native way to support. -``` - -## 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.StreamAnalytics/stable/2016-03-01/streamingjobs.json - - $(this-folder)/Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json - - $(this-folder)/Microsoft.StreamAnalytics/stable/2016-03-01/outputs.json - - $(this-folder)/Microsoft.StreamAnalytics/stable/2016-03-01/transformations.json - - $(this-folder)/Microsoft.StreamAnalytics/stable/2016-03-01/functions.json - - $(this-folder)/Microsoft.StreamAnalytics/stable/2016-03-01/subscriptions.json + - suppress: R3023 # Operations API must be implemented for '/providers/Microsoft.StreamAnalytics/operations'. + reason: Operations API under 2017-04-01-preview is the super-set of all RPs operations (across all API-versions). ``` -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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/streamanalytics/resource-manager/readme.python.md b/specification/streamanalytics/resource-manager/readme.python.md new file mode 100644 index 000000000000..a74b0b5aaff2 --- /dev/null +++ b/specification/streamanalytics/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 !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.streamanalytics + package-name: azure-mgmt-streamanalytics + package-version: 0.1.0 + clear-output-folder: true +``` + +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-streamanalytics +no-namespace-folders: true +``` + +``` yaml $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics/azure/mgmt/streamanalytics +no-namespace-folders: true +output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics/azure/mgmt/streamanalytics +``` +``` yaml $(python-mode) == 'create' +python: + package-version: 0.1.0 + basic-setup-py: true + output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics +package-version: 0.1.0 +basic-setup-py: true +output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics +``` diff --git a/specification/streamanalytics/resource-manager/readme.ruby.md b/specification/streamanalytics/resource-manager/readme.ruby.md index 913b3d34fef8..ae73ffd1413d 100644 --- a/specification/streamanalytics/resource-manager/readme.ruby.md +++ b/specification/streamanalytics/resource-manager/readme.ruby.md @@ -12,15 +12,34 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and ruby +### Tag: package-pure-2016-03 and ruby -These settings apply only when `--tag=package-2016-03 --ruby` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(ruby) +``` yaml $(tag) == 'package-pure-2016-03' && $(ruby) namespace: "Azure::StreamAnalytics::Mgmt::V2016_03_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib ``` + +### Tag: package-pure-2017-04-preview and ruby + +These settings apply only when `--tag=package-pure-2017-04-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(ruby) +namespace: "Azure::StreamAnalytics::Mgmt::V2017_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib +``` + +### Tag: package-2020-03-preview and ruby + +These settings apply only when `--tag=package-2020-03-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(ruby) +namespace: "Azure::StreamAnalytics::Mgmt::V2020_03_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib \ No newline at end of file diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json index 2aa968771e12..f6cdb5e2b583 100644 --- a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json @@ -6,7 +6,7 @@ "properties": { "displayName": "Contoso MCA subscription", "billingScope": "/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB", - "workloadType": "Production" + "workload": "Production" } } }, diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json index 19d2b3b1e662..bc23df26ea49 100644 --- a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json @@ -773,7 +773,7 @@ "description": "Put subscription properties.", "required": [ "displayName", - "workloadType", + "workload", "billingScope" ], "properties": { @@ -781,11 +781,11 @@ "description": "The friendly name of the subscription.", "type": "string" }, - "workloadType": { + "workload": { "description": "The workload type of the subscription. It can be either Production or DevTest.", "type": "string", "x-ms-enum": { - "name": "workloadType", + "name": "workload", "modelAsString": true }, "enum": [ diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json new file mode 100644 index 000000000000..74c4cf1edac7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json new file mode 100644 index 000000000000..72dc9f32e0f7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01", + "body": { + "properties": { + "displayName": "Contoso MCA subscription", + "billingScope": "/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB", + "workload": "Production" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json new file mode 100644 index 000000000000..d62e396f0283 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json new file mode 100644 index 000000000000..ef41bf44a0db --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "7948bcee-488c-47ce-941c-38e20ede803d", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": "7948bcee-488c-47ce-941c-38e20ede803d" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json new file mode 100644 index 000000000000..fecfb948403d --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json new file mode 100644 index 000000000000..4ee0cae82a66 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Subscription/createOperation/action", + "display": { + "provider": "Microsoft Subscription", + "resource": "Resources", + "operation": "Create a subscription" + } + } + ] + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json new file mode 100644 index 000000000000..2afd624f005e --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json new file mode 100644 index 000000000000..ec2cd2a69193 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2020-09-01", + "body": { + "subscriptionName": "Test Sub" + } + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json new file mode 100644 index 000000000000..10aa6a32f048 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json @@ -0,0 +1,590 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-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": { + "tags": [ + "Subscription" + ], + "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/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename": { + "post": { + "tags": [ + "Subscription" + ], + "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/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable": { + "post": { + "tags": [ + "Subscription" + ], + "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/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Subscription/operations": { + "get": { + "tags": [ + "Operations" + ], + "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/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Subscription/aliases/{aliasName}": { + "put": { + "tags": [ + "Alias" + ], + "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/PutAliasResponse" + } + }, + "201": { + "description": "Accepted. Subscription creation is in progress.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "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": { + "tags": [ + "Alias" + ], + "description": "Get Alias Subscription.", + "operationId": "Alias_Get", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/getAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "delete": { + "tags": [ + "Alias" + ], + "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": { + "tags": [ + "Alias" + ], + "description": "Get Alias Subscription.", + "operationId": "Alias_List", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/listAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$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" + } + } + }, + "CanceledSubscriptionId": { + "description": "The ID of the canceled subscription", + "properties": { + "value": { + "description": "The ID of the canceled subscription", + "type": "string", + "readOnly": true + } + } + }, + "RenamedSubscriptionId": { + "description": "The ID of the subscriptions that is being renamed", + "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", + "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.", + "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" + }, + "display": { + "description": "The object that represents the operation.", + "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" + } + } + } + } + }, + "PutAliasRequest": { + "description": "The parameters required to create a new subscription.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PutAliasRequestProperties", + "description": "Put alias request properties." + } + } + }, + "PutAliasRequestProperties": { + "description": "Put subscription properties.", + "properties": { + "displayName": { + "description": "The friendly name of the subscription.", + "type": "string" + }, + "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": "Determines whether subscription is fieldLed, partnerLed or LegacyEA", + "type": "string" + }, + "subscriptionId": { + "description": "This parameter can be used to create alias for existing subscription Id", + "type": "string" + }, + "resellerId": { + "description": "Reseller ID, basically MPN Id", + "type": "string" + } + } + }, + "PutAliasResponse": { + "description": "Subscription Information with the alias.", + "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/PutAliasResponseProperties", + "description": "Put Alias response properties." + } + }, + "x-ms-azure-resource": true + }, + "PutAliasResponseProperties": { + "description": "Put subscription creation result properties.", + "properties": { + "subscriptionId": { + "description": "Newly created subscription Id.", + "readOnly": true, + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PutAliasListResult": { + "description": "The list of aliases.", + "properties": { + "value": { + "description": "The list of alias.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "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 2020-09-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": "Alias Name" + } + }, + "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.azureresourceschema.md b/specification/subscription/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7d8ef12e7540 --- /dev/null +++ b/specification/subscription/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,109 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-subscription-2020-09-01 + - tag: schema-subscription-2020-01-01 + - tag: schema-subscription-2019-10-01-preview + - tag: schema-subscription-2019-03-01-preview + - tag: schema-subscription-2018-11-01-preview + - tag: schema-subscription-2018-03-01-preview + - tag: schema-subscription-2017-11-01-preview + - tag: schema-subscription-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-subscription-2020-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2020-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2020-09-01/subscriptions.json + +``` + +### Tag: schema-subscription-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2020-01-01/subscriptions.json + +``` + +### Tag: schema-subscription-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2019-03-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2018-11-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2018-03-01-preview/subscriptions.json + - Microsoft.Subscription/preview/2018-03-01-preview/operations.json + +``` + +### Tag: schema-subscription-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2017-11-01-preview/subscriptionDefinitions.json + +``` + +### Tag: schema-subscription-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2016-06-01/subscriptions.json + +``` diff --git a/specification/subscription/resource-manager/readme.csharp.md b/specification/subscription/resource-manager/readme.csharp.md index f54aada53323..81a16f8d2f8d 100644 --- a/specification/subscription/resource-manager/readme.csharp.md +++ b/specification/subscription/resource-manager/readme.csharp.md @@ -52,6 +52,17 @@ These settings apply only when `--csharp-profile=hybrid_2019_03_01` is specified ``` yaml $(csharp-profile)=='hybrid_2019_03_01' namespace: Microsoft.Azure.Management.Profiles.$(profile).Subscription output-folder: $(csharp-sdks-folder)/$(profile)/Subscription/Management.Subscription/Generated +batch: + - tag: package-2016-06-01 + ``` + + ### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2020_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(profile).Subscription +output-folder: $(csharp-sdks-folder)/$(profile)/Subscription/Management.Subscription/Generated batch: - tag: package-2016-06-01 ``` \ No newline at end of file diff --git a/specification/subscription/resource-manager/readme.go.md b/specification/subscription/resource-manager/readme.go.md index b52d772b3e18..56a77b2375f4 100644 --- a/specification/subscription/resource-manager/readme.go.md +++ b/specification/subscription/resource-manager/readme.go.md @@ -13,11 +13,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09 - tag: package-2019-10-preview - tag: package-2018-03-preview - tag: package-2017-11-preview ``` +### Tag: package-2020-09 and go + +These settings apply only when `--tag=package-2020-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace) +``` + ### Tag: package-2019-10-preview and go These settings apply only when `--tag=package-2019-10-preview --go` is specified on the command line. @@ -43,4 +53,4 @@ Please also specify `--go-sdk-folder=`. + +### Tag: schema-support-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-support-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Support/stable/2020-04-01/support.json + +``` + +### Tag: schema-support-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-support-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Support/preview/2019-05-01-preview/support.json + +``` diff --git a/specification/support/resource-manager/readme.md b/specification/support/resource-manager/readme.md index 5dfd3045f68a..9e1fbac31c0f 100644 --- a/specification/support/resource-manager/readme.md +++ b/specification/support/resource-manager/readme.md @@ -64,6 +64,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_support'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js support/resource-manager ``` ## C# @@ -90,28 +93,7 @@ See configuration in [readme.typescript.md](./readme.typescript.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.Support/stable/2020-04-01/support.json - - $(this-folder)/Microsoft.Support/preview/2019-05-01-preview/support.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/synapse/common/v1/types.json b/specification/synapse/common/v1/types.json index 6aaf16bf83f5..239f5bab4788 100644 --- a/specification/synapse/common/v1/types.json +++ b/specification/synapse/common/v1/types.json @@ -110,6 +110,14 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "KeyNameParameter": { + "name": "keyName", + "in": "path", + "description": "The name of a workspace key.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } } } 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 4a768103cef3..8a3ecddb5f95 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 @@ -254,6 +254,7 @@ } }, "description": "Creates or updates a dataset.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/datasetName" @@ -285,6 +286,9 @@ "$ref": "#/definitions/DatasetResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -348,6 +352,7 @@ } }, "description": "Deletes a dataset.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/datasetName" @@ -360,6 +365,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -561,7 +569,6 @@ } }, "description": "Creates a run of a pipeline.", - "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/pipelineName" @@ -604,15 +611,12 @@ } ], "responses": { - "200": { - "description": "OK.", + "202": { + "description": "Accepted.", "schema": { "$ref": "#/definitions/CreateRunResponse" } }, - "202": { - "description": "Accepted." - }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -1278,6 +1282,7 @@ } }, "description": "Creates or updates a data flow.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/dataFlowName" @@ -1309,6 +1314,9 @@ "$ref": "#/definitions/DataFlowResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -1369,6 +1377,7 @@ } }, "description": "Deletes a data flow.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/dataFlowName" @@ -1381,6 +1390,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -2301,70 +2313,13 @@ } }, "definitions": { - "Resource": { - "description": "Azure Synapse top-level resource.", - "properties": { - "id": { - "type": "string", - "description": "The resource identifier.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "The resource name.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "The resource type.", - "readOnly": true - }, - "location": { - "type": "string", - "description": "The resource location.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The resource tags." - }, - "eTag": { - "type": "string", - "description": "Etag identifies change in the resource.", - "readOnly": true - } - } - }, "SubResource": { "description": "Azure Synapse nested resource, which belongs to a workspace.", - "properties": { - "id": { - "type": "string", - "description": "The resource identifier.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "The resource name.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "The resource type.", - "readOnly": true - }, - "etag": { - "type": "string", - "description": "Etag identifies change in the resource.", - "readOnly": true + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" } - } + ] }, "SubResourceDebugResource": { "description": "Azure Synapse nested debug resource.", @@ -3139,29 +3094,6 @@ } } }, - "Workspace": { - "description": "Workspace resource type.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "identity": { - "$ref": "#/definitions/WorkspaceIdentity", - "description": "Managed service identity of the workspace." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkspaceProperties", - "description": "Properties of the workspace." - } - }, - "additionalProperties": { - "type": "object" - } - }, "WorkspaceUpdateParameters": { "description": "Parameters for updating a workspace resource.", "properties": { @@ -3207,35 +3139,6 @@ "type" ] }, - "WorkspaceProperties": { - "description": "Workspace resource properties.", - "properties": { - "provisioningState": { - "description": "Workspace provisioning state, example Succeeded.", - "type": "string", - "readOnly": true - }, - "createTime": { - "description": "Time the workspace was created in ISO8601 format.", - "type": "string", - "readOnly": true, - "format": "date-time" - }, - "version": { - "description": "Version of the workspace.", - "type": "string", - "readOnly": true - }, - "defaultStorage": { - "description": "Linked service reference.", - "$ref": "#/definitions/LinkedServiceReference" - }, - "defaultSqlServer": { - "description": "Linked service reference.", - "$ref": "#/definitions/LinkedServiceReference" - } - } - }, "DatasetReference": { "description": "Dataset reference type.", "properties": { @@ -3382,18 +3285,33 @@ }, "SqlScriptResource": { "description": "Sql Script resource type.", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, "properties": { "$ref": "./entityTypes/SqlScript.json#/definitions/SqlScript", "description": "Properties of sql script." } }, "required": [ + "name", "properties" ] }, @@ -3456,18 +3374,33 @@ }, "NotebookResource": { "description": "Notebook resource type.", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, "properties": { "$ref": "./entityTypes/Notebook.json#/definitions/Notebook", "description": "Properties of Notebook." } }, "required": [ + "name", "properties" ] }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json new file mode 100644 index 000000000000..591263062dbd --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/bigDataPools": { + "get": { + "tags": [ + "BigDataPools" + ], + "operationId": "BigDataPools_List", + "description": "List Big Data Pools", + "x-ms-examples": { + "List Big Data Pools": { + "$ref": "./examples/BigDataPools_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json#/definitions/BigDataPoolResourceInfoListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/bigDataPools/{bigDataPoolName}": { + "get": { + "tags": [ + "BigDataPools" + ], + "operationId": "BigDataPools_Get", + "description": "Get Big Data Pool", + "x-ms-examples": { + "Get Big Data Pool": { + "$ref": "./examples/BigDataPools_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/BigDataPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json#/definitions/BigDataPoolResourceInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "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" + }, + "BigDataPoolNameParameter": { + "name": "bigDataPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The Big Data Pool name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json index 9035e958e8b9..a5eac7aa387d 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json @@ -16,11 +16,13 @@ }, "bigDataPool": { "description": "Big data pool reference.", - "$ref": "#/definitions/BigDataPoolReference" + "$ref": "#/definitions/BigDataPoolReference", + "x-nullable": true }, "sessionProperties": { "description": "Session properties.", - "$ref": "#/definitions/NotebookSessionProperties" + "$ref": "#/definitions/NotebookSessionProperties", + "x-nullable": true }, "metadata": { "description": "Notebook root-level metadata.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json index 37376429432c..8f3943b4a7bf 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json @@ -183,7 +183,7 @@ "Saturday" ], "x-ms-enum": { - "name": "DaysOfWeek", + "name": "DayOfWeek", "modelAsString": false } }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json new file mode 100644 index 000000000000..293eb88177e1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "bigDataPoolName": "pool1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "creationDate": "2020-07-14T10:09:52.5133333Z", + "sparkVersion": "2.4", + "nodeCount": 3, + "nodeSize": "Small", + "nodeSizeFamily": "MemoryOptimized", + "autoScale": { + "enabled": true, + "minNodeCount": 3, + "maxNodeCount": 20 + }, + "autoPause": { + "enabled": true, + "delayInMinutes": 15 + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sparkComputes/pool1", + "name": "pool1", + "type": "Microsoft.Synapse/workspaces/sparkComputes", + "location": "southeastasia", + "tags": {} + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json new file mode 100644 index 000000000000..9d7eb2a4b3d1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "creationDate": "2020-07-14T10:09:52.5133333Z", + "sparkVersion": "2.4", + "nodeCount": 3, + "nodeSize": "Small", + "nodeSizeFamily": "MemoryOptimized", + "autoScale": { + "enabled": true, + "minNodeCount": 3, + "maxNodeCount": 20 + }, + "autoPause": { + "enabled": true, + "delayInMinutes": 15 + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sparkComputes/pool1", + "name": "pool1", + "type": "Microsoft.Synapse/workspaces/sparkComputes", + "location": "southeastasia", + "tags": {} + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json index 546fa6e7fe84..168740ecf1c7 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/CreateManagedPrivateEndpoint.json @@ -1,11 +1,10 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2019-06-01-preview", "managedVirtualNetworkName": "default", "managedPrivateEndpointName": "myPrivateEndpoint", - "parameters": { + "managedPrivateEndpoint": { "properties": { "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/myStorageAccount", "groupId": "blob" @@ -13,7 +12,7 @@ } }, "responses": { - "202": { + "200": { "body": { "type": "Microsoft.Synapse/workspaces/managedVirtualNetworks/managedPrivateEndpoints", "name": "myPrivateEndpoint", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json index d684ba316241..82b4ba090b51 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json @@ -47,14 +47,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2019 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1194", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataFlow", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json index 6adacca27788..872c74ea09c4 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json index f3c5fc5a031e..b60c3ecb79bb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json @@ -47,14 +47,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2019 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1193", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataFlow", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json index 20f9a9b778ff..c49193ac784b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json @@ -36,14 +36,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1194", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataset", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json index ecbb3fd65993..29385013042c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json index c17bc775bed6..f2581f5f9991 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json @@ -37,14 +37,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:39 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1193", "x-ms-request-id": "e2e7f6be-e7ee-4aae-943f-6ff799e034f2", "x-ms-correlation-request-id": "e2e7f6be-e7ee-4aae-943f-6ff799e034f2" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataset", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json index a82531a7ca46..0dae9a6beee1 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DeleteManagedPrivateEndpoint.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2019-06-01-preview", "managedVirtualNetworkName": "default", "managedPrivateEndpointName": "myPrivateEndpoint" diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json index cb3551457722..14c2f5029b07 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/GetManagedPrivateEndpoint.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2019-06-01-preview", "managedVirtualNetworkName": "default", "managedPrivateEndpointName": "myPrivateEndpoint" diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json new file mode 100644 index 000000000000..7c29982919bb --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "integrationRuntimeName": "IntegrationRuntime1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/integrationruntimes/IntegrationRuntime1", + "name": "IntegrationRuntime1", + "type": "Microsoft.Synapse/workspaces/integrationruntimes", + "properties": { + "type": "Managed", + "typeProperties": { + "computeProperties": { + "location": "Australia Southeast", + "dataFlowProperties": { + "computeType": "General", + "coreCount": 8, + "timeToLive": 0 + } + } + } + }, + "etag": "00000000-0000-0000-0000-000000000000" + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json new file mode 100644 index 000000000000..fa5eba85b2b2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspace/integrationruntimes/exampleIntegrationRuntime", + "name": "exampleIntegrationRuntime", + "type": "Microsoft.Synapse/workspaces/integrationruntimes", + "properties": { + "type": "SelfHosted", + "description": "A selfhosted integration runtime" + }, + "etag": "0400f1a1-0000-0000-0000-5b2188640000" + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json index 2dfbbc8c6aef..a91826d848a9 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/ListManagedPrivateEndpoints.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "exampleWorkspace.dev.azuresynapse.net", "api-version": "2019-06-01-preview", "managedVirtualNetworkName": "default" }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json index fbfd87d5af67..64e79fd0d946 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json @@ -4,6 +4,7 @@ "notebookName": "exampleNotebook", "ifMatch": null, "Notebook": { + "name": "exampleNotebook", "properties": { "description": "A sample Notebook", "nbformat": 4, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json index 2bb3761e3bc4..1f714d7a6ae5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json @@ -4,6 +4,7 @@ "notebookName": "exampleNotebook", "ifMatch": null, "Notebook": { + "name": "exampleNotebook", "properties": { "description": "Modified description", "nbformat": 4, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json index 85c50f17c706..0715e83956e5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json @@ -18,9 +18,7 @@ "x-ms-ratelimit-remaining-subscription-writes": "1190", "x-ms-request-id": "5c2b442b-d360-43ec-9268-f923f88f31fd", "x-ms-correlation-request-id": "5c2b442b-d360-43ec-9268-f923f88f31fd" - } - }, - "200": { + }, "body": { "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json new file mode 100644 index 000000000000..6e3c7131bfd7 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "sqlPoolName": "SqlPool1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2019-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T10:47:12.837Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool1", + "name": "SqlPool1", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json new file mode 100644 index 000000000000..b4fa21cd8385 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2020-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T10:47:12.837Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool1", + "name": "SqlPool1", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + }, + { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2020-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T11:10:59.05Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool2Backup", + "name": "SqlPool2Backup", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json index aa96d82b50df..fda2cffe022a 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Create.json @@ -4,6 +4,7 @@ "sqlScriptName": "exampleSqlScript", "ifMatch": null, "sqlScript": { + "name": "exampleSqlScript", "properties": { "description": "Covers the data transformation and LDW scenarios in one brief e2e story", "content": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json index cd482ba8c7e9..2ca6a02f3253 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlScripts_Update.json @@ -4,6 +4,7 @@ "sqlScriptName": "exampleSqlScript", "ifMatch": null, "sqlScript": { + "name": "exampleSqlScript", "properties": { "description": "modified description", "content": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..24d30b931091 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace", + "location": "southeastasia", + "name": "exampleWorkspace", + "type": "Microsoft.Synapse/workspaces", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "tags": {}, + "properties": { + "connectivityEndpoints": { + "web": "https://web.azuresynapse.net?workspace=%2fsubscriptions%2f00000000-0000-0000-0000-000000000000%2fresourceGroups%2frg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fexampleWorkspace", + "sql": "exampleWorkspace.sql.azuresynapse.net", + "dev": "https://exampleWorkspace.dev.azuresynapse.net", + "sqlOnDemand": "exampleWorkspace-ondemand.sql.azuresynapse.net" + }, + "managedResourceGroupName": "workspacemanagedrg-1a992746-f580-4fce-a696-b0373bc6959a", + "defaultDataLakeStorage": { + "accountUrl": "https://exampleWorkspacedfs.dfs.core.windows.net", + "filesystem": "synapse" + }, + "sqlAdministratorLogin": "sqladminuser", + "privateEndpointConnections": [], + "provisioningState": "Succeeded" + } + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json new file mode 100644 index 000000000000..3a67a10647a4 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/integrationRuntimes": { + "get": { + "tags": [ + "IntegrationRuntimes" + ], + "operationId": "IntegrationRuntimes_List", + "description": "List Integration Runtimes", + "x-ms-examples": { + "List Integration Runtimes": { + "$ref": "./examples/IntegrationRuntimes_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json#/definitions/IntegrationRuntimeListResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/integrationRuntimes/{integrationRuntimeName}": { + "get": { + "tags": [ + "IntegrationRuntimes" + ], + "operationId": "IntegrationRuntimes_Get", + "description": "Get Integration Runtime", + "x-ms-examples": { + "Get Integration Runtime": { + "$ref": "./examples/IntegrationRuntimes_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IntegrationRuntimeNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json#/definitions/IntegrationRuntimeResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "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" + }, + "IntegrationRuntimeNameParameter": { + "name": "integrationRuntimeName", + "in": "path", + "required": true, + "type": "string", + "description": "The Integration Runtime name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json index 8322fd96043d..0db302d9eae4 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json @@ -2,21 +2,14 @@ "swagger": "2.0", "info": { "version": "2019-06-01-preview", - "title": "VnetClient" + "title": "ManagedPrivateEndpointsClient" }, "x-ms-parameterized-host": { - "hostTemplate": "{workspaceName}.{SynapseDnsSuffix}", + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, "parameters": [ { - "name": "workspaceName", - "description": "The name of the workspace to execute operations on.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/SynapseDnsSuffixInPath" + "$ref": "#/parameters/Endpoint" } ] }, @@ -79,10 +72,19 @@ }, { "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "name": "managedPrivateEndpoint", + "in": "body", + "required": true, + "description": "Managed private endpoint properties.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } } ], "responses": { - "202": { + "200": { "schema": { "$ref": "#/definitions/ManagedPrivateEndpoint" }, @@ -262,6 +264,15 @@ } }, "parameters": { + "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" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", @@ -269,16 +280,6 @@ "type": "string", "description": "The Synapse client API Version." }, - "SynapseDnsSuffixInPath": { - "name": "SynapseDnsSuffix", - "in": "path", - "required": true, - "type": "string", - "default": "dev.azuresynapse.net", - "x-ms-skip-url-encoding": true, - "description": "Gets the DNS suffix used as the base for all Synapse service requests.", - "x-ms-parameter-location": "client" - }, "ManagedVirtualNetworkNameParameter": { "name": "managedVirtualNetworkName", "in": "path", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json new file mode 100644 index 000000000000..5d1960a0c9c3 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/sqlPools": { + "get": { + "tags": [ + "SqlPools" + ], + "operationId": "SqlPools_List", + "description": "List Sql Pools", + "x-ms-examples": { + "List Sql Pools": { + "$ref": "./examples/SqlPools_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json#/definitions/SqlPoolInfoListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/sqlPools/{sqlPoolName}": { + "get": { + "tags": [ + "SqlPools" + ], + "operationId": "SqlPools_Get", + "description": "Get Sql Pool", + "x-ms-examples": { + "List Sql Pools": { + "$ref": "./examples/SqlPools_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SqlPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json#/definitions/SqlPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "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" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The Sql Pool name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json new file mode 100644 index 000000000000..a32938e1bd26 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json @@ -0,0 +1,79 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/workspace": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspace_Get", + "description": "Get Workspace", + "x-ms-examples": { + "Get Workspace Information": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "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" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json index a41141a84d23..27d62da3934b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json @@ -162,10 +162,12 @@ } }, "sparkJobDefinition": { - "type": "string" + "type": "string", + "x-nullable": true }, "pipeline": { "uniqueItems": false, + "x-nullable": true, "type": "array", "items": { "$ref": "#/definitions/SparkJob" diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 05a24f9f989c..8512d34cd14f 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -63,6 +63,18 @@ These settings apply only when `--tag=package-artifacts-2019-06-01-preview` is s ``` yaml $(tag) == 'package-artifacts-2019-06-01-preview' input-file: - Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json +- Microsoft.Synapse/preview/2019-06-01-preview/workspace.json +- Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json +- Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json +- Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/DataFlow.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Dataset.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/LinkedService.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Notebook.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SparkJobDefinition.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/SqlScript.json +- Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Trigger.json ``` ### Tag: package-access-control-2020-02-01-preview @@ -149,7 +161,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -161,6 +173,10 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json - $(this-folder)/Microsoft.Synapse/preview/2020-02-01-preview/roles.json @@ -170,11 +186,11 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +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: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/synapse/data-plane/readme.python.md b/specification/synapse/data-plane/readme.python.md index 0ea1d2fe60b5..997c58f7ae73 100644 --- a/specification/synapse/data-plane/readme.python.md +++ b/specification/synapse/data-plane/readme.python.md @@ -25,6 +25,8 @@ output-folder: $(python-sdks-folder)/synapse/azure-synapse-spark/azure/synapse/s ``` yaml $(package-artifacts) no-namespace-folders: true namespace: azure.synapse.artifacts +modelerfour: + lenient-model-deduplication: true output-folder: $(python-sdks-folder)/synapse/azure-synapse-artifacts/azure/synapse/artifacts ``` ``` yaml $(package-access-control) diff --git a/specification/synapse/data-plane/readme.typescript.md b/specification/synapse/data-plane/readme.typescript.md index 18d1166a5c6d..56317deac711 100644 --- a/specification/synapse/data-plane/readme.typescript.md +++ b/specification/synapse/data-plane/readme.typescript.md @@ -6,11 +6,18 @@ Please also specify `--typescript-sdks-folder= 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" + } + }, + "storageAccountSubscriptionId": { + "format": "uuid", + "description": "Specifies the blob storage subscription Id.", + "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" + } + } + }, + "ExtendedSqlPoolBlobAuditingPolicyListResult": { + "description": "A list of sql pool extended auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ExtendedSqlPoolBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DataMaskingPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataMaskingPolicyProperties", + "description": "The properties of the data masking policy." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the data masking policy." + }, + "kind": { + "type": "string", + "readOnly": true, + "description": "The kind of data masking policy. Metadata, used for Azure portal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a database data masking policy." + }, + "DataMaskingPolicyProperties": { + "properties": { + "dataMaskingState": { + "type": "string", + "description": "The state of the data masking policy.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "DataMaskingState" + } + }, + "exemptPrincipals": { + "type": "string", + "description": "The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries." + }, + "applicationPrincipals": { + "type": "string", + "description": "The list of the application principals. This is a legacy parameter and is no longer used.", + "readOnly": true + }, + "maskingLevel": { + "type": "string", + "description": "The masking level. This is a legacy parameter and is no longer used.", + "readOnly": true + } + }, + "required": [ + "dataMaskingState" + ], + "description": "The properties of a database data masking policy." + }, + "DataMaskingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataMaskingRuleProperties", + "description": "The properties of the resource." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the data masking rule." + }, + "kind": { + "type": "string", + "readOnly": true, + "description": "The kind of Data Masking Rule. Metadata, used for Azure portal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Sql pool data masking rule." + }, + "DataMaskingRuleProperties": { + "properties": { + "id": { + "type": "string", + "description": "The rule Id.", + "readOnly": true + }, + "aliasName": { + "type": "string", + "description": "The alias name. This is a legacy parameter and is no longer used." + }, + "ruleState": { + "type": "string", + "description": "The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "DataMaskingRuleState" + } + }, + "schemaName": { + "type": "string", + "description": "The schema name on which the data masking rule is applied." + }, + "tableName": { + "type": "string", + "description": "The table name on which the data masking rule is applied." + }, + "columnName": { + "type": "string", + "description": "The column name on which the data masking rule is applied." + }, + "maskingFunction": { + "type": "string", + "description": "The masking function that is used for the data masking rule.", + "enum": [ + "Default", + "CCN", + "Email", + "Number", + "SSN", + "Text" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "DataMaskingFunction" + } + }, + "numberFrom": { + "type": "string", + "description": "The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored." + }, + "numberTo": { + "type": "string", + "description": "The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored." + }, + "prefixSize": { + "type": "string", + "description": "If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored." + }, + "suffixSize": { + "type": "string", + "description": "If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored." + }, + "replacementString": { + "type": "string", + "description": "If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored." + } + }, + "required": [ + "maskingFunction", + "schemaName", + "tableName", + "columnName" + ], + "description": "The properties of a Sql pool data masking rule." + }, + "DataMaskingRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataMaskingRule" + }, + "description": "The list of Sql pool data masking rules." + } + }, + "description": "The response to a list data masking rules request." + }, + "SqlPoolBlobAuditingPolicyListResult": { + "description": "A list of Sql pool auditing settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlPoolBlobAuditingPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "CloudError": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error response.", + "type": "object", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "required": [ + "error" + ] + }, + "CloudErrorBody": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Property name/path in request associated with error.", + "type": "string" + }, + "details": { + "description": "Array with additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + } + } + }, + "required": [ + "code", + "message" + ] + } + }, + "parameters": { + "DataMaskingPolicyNameParameter": { + "name": "dataMaskingPolicyName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "DataMaskingPolicyName" + }, + "description": "The name of the data masking policy for which the masking rule applies.", + "x-ms-parameter-location": "method" } } } diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json index 96313767601c..ed5e0c9d3d6b 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json @@ -365,6 +365,12 @@ "$ref": "#/definitions/WorkspaceAadAdminInfo" }, "description": "OK" + }, + "default": { + "schema": { + "$ref": "#/definitions/ErrorContract" + }, + "description": "" } }, "consumes": [], @@ -567,6 +573,12 @@ }, "description": "OK" }, + "201": { + "schema": { + "$ref": "#/definitions/ManagedIdentitySqlControlSettingsModel" + }, + "description": "Created" + }, "default": { "schema": { "$ref": "./workspace.json#/definitions/ErrorContract" @@ -583,6 +595,108 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/restorableDroppedSqlPools/{restorableDroppedSqlPoolId}": { + "get": { + "tags": [ + "RestorableDroppedSqlPools" + ], + "operationId": "RestorableDroppedSqlPools_Get", + "description": "Gets a deleted sql pool that can be restored", + "x-ms-examples": { + "Get a restorable dropped Sql pool": { + "$ref": "./examples/RestorableDroppedSqlPoolGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + }, + { + "name": "restorableDroppedSqlPoolId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the deleted Sql Pool in the form of sqlPoolName,deletionTimeInFileTimeFormat" + } + ], + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorableDroppedSqlPool" + } + }, + "default": { + "schema": { + "$ref": "./workspace.json#/definitions/ErrorContract" + }, + "description": "Error" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/restorableDroppedSqlPools": { + "get": { + "tags": [ + "RestorableDroppedSqlPools" + ], + "operationId": "RestorableDroppedSqlPools_ListByWorkspace", + "description": "Gets a list of deleted Sql pools that can be restored", + "x-ms-examples": { + "Get list of restorable dropped Sql pools": { + "$ref": "./examples/RestorableDroppedSqlpoolList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/workspaceNameParameter" + } + ], + "consumes": [], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorableDroppedSqlPoolListResult" + } + }, + "default": { + "schema": { + "$ref": "./workspace.json#/definitions/ErrorContract" + }, + "description": "Error" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } } }, "definitions": { @@ -668,6 +782,50 @@ } } }, + "EncryptionDetails": { + "description": "Details of the encryption associated with the workspace", + "type": "object", + "properties": { + "doubleEncryptionEnabled": { + "description": "Double Encryption enabled", + "type": "boolean", + "readOnly": true + }, + "cmk": { + "description": "Customer Managed Key Details", + "$ref": "#/definitions/CustomerManagedKeyDetails" + } + } + }, + "CustomerManagedKeyDetails": { + "description": "Details of the customer managed key associated with the workspace", + "type": "object", + "properties": { + "status": { + "description": "The customer managed key status on the workspace", + "type": "string", + "readOnly": true + }, + "key": { + "description": "The key object of the workspace", + "$ref": "#/definitions/WorkspaceKeyDetails" + } + } + }, + "WorkspaceKeyDetails": { + "description": "Details of the customer managed key associated with the workspace", + "type": "object", + "properties": { + "name": { + "description": "Workspace Key sub-resource name", + "type": "string" + }, + "keyVaultUrl": { + "description": "Workspace Key sub-resource key vault url", + "type": "string" + } + } + }, "ManagedIdentity": { "description": "The workspace managed identity", "type": "object", @@ -680,6 +838,7 @@ "tenantId": { "description": "The tenant ID of the workspace managed identity", "type": "string", + "format": "uuid", "readOnly": true }, "type": { @@ -706,6 +865,38 @@ } } }, + "ManagedVirtualNetworkSettings": { + "description": "Managed Virtual Network Settings", + "type": "object", + "properties": { + "preventDataExfiltration": { + "description": "Prevent Data Exfiltration", + "type": "boolean" + }, + "linkedAccessCheckOnTargetResource": { + "description": "Linked Access Check On Target Resource", + "type": "boolean" + }, + "allowedAadTenantIdsForLinking": { + "description": "Allowed Aad Tenant Ids For Linking", + "type": "array", + "items": { + "type": "string", + "description": "Tenant Id" + } + } + } + }, + "BabylonConfiguration": { + "description": "Babylon Configuration", + "type": "object", + "properties": { + "babylonResourceId": { + "description": "Babylon Resource ID", + "type": "string" + } + } + }, "WorkspaceAadAdminInfo": { "description": "Workspace active directory administrator", "type": "object", @@ -789,6 +980,32 @@ "items": { "$ref": "./privateEndpointConnections.json#/definitions/PrivateEndpointConnection" } + }, + "encryption": { + "description": "The encryption details of the workspace", + "$ref": "#/definitions/EncryptionDetails" + }, + "workspaceUID": { + "description": "The workspace unique identifier", + "type": "string", + "readOnly": true, + "format": "uuid" + }, + "extraProperties": { + "description": "Workspace level configs and feature flags", + "additionalProperties": { + "type": "object" + }, + "type": "object", + "readOnly": true + }, + "managedVirtualNetworkSettings": { + "description": "Managed Virtual Network Settings", + "$ref": "#/definitions/ManagedVirtualNetworkSettings" + }, + "babylonConfiguration": { + "description": "Babylon Configuration", + "$ref": "#/definitions/BabylonConfiguration" } } }, @@ -822,6 +1039,14 @@ "description": "SQL administrator login password", "type": "string" }, + "managedVirtualNetworkSettings": { + "description": "Managed Virtual Network Settings", + "$ref": "#/definitions/ManagedVirtualNetworkSettings" + }, + "babylonConfiguration": { + "description": "Babylon Configuration", + "$ref": "#/definitions/BabylonConfiguration" + }, "provisioningState": { "description": "Resource provisioning state", "type": "string", @@ -873,6 +1098,89 @@ "x-ms-client-flatten": true } } + }, + "RestorableDroppedSqlPoolProperties": { + "properties": { + "databaseName": { + "readOnly": true, + "type": "string", + "description": "The name of the database" + }, + "edition": { + "readOnly": true, + "type": "string", + "description": "The edition of the database" + }, + "maxSizeBytes": { + "readOnly": true, + "type": "string", + "description": "The max size in bytes of the database" + }, + "serviceLevelObjective": { + "readOnly": true, + "type": "string", + "description": "The service level objective name of the database" + }, + "elasticPoolName": { + "readOnly": true, + "type": "string", + "description": "The elastic pool name of the database" + }, + "creationDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The creation date of the database (ISO8601 format)" + }, + "deletionDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The deletion date of the database (ISO8601 format)" + }, + "earliestRestoreDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The earliest restore date of the database (ISO8601 format)" + } + }, + "description": "The properties of a restorable dropped Sql pool" + }, + "RestorableDroppedSqlPool": { + "properties": { + "location": { + "type": "string", + "readOnly": true, + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/RestorableDroppedSqlPoolProperties", + "description": "The properties of a restorable dropped Sql pool", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "A restorable dropped Sql pool" + }, + "RestorableDroppedSqlPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDroppedSqlPool" + }, + "description": "A list of restorable dropped Sql pools" + } + }, + "required": [ + "value" + ], + "description": "The response to a list restorable dropped Sql pools request" } }, "parameters": { diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json index 1730cb88fb49..e5d4529274ec 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json @@ -295,6 +295,11 @@ "description": "The Guid of the database.", "type": "string", "readOnly": true + }, + "status": { + "description": "Status of the database.", + "type": "string", + "readOnly": true } } }, diff --git a/specification/synapse/resource-manager/readme.azureresourceschema.md b/specification/synapse/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6921a744f8ed --- /dev/null +++ b/specification/synapse/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,47 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-synapse-2020-04-01-preview + - tag: schema-synapse-2019-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-synapse-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-synapse-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Synapse/preview/2020-04-01-preview/operations.json + - Microsoft.Synapse/preview/2020-04-01-preview/sqlPool.json + - Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json + +``` + +### Tag: schema-synapse-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-synapse-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json + - Microsoft.Synapse/preview/2019-06-01-preview/checkNameAvailability.json + - Microsoft.Synapse/preview/2019-06-01-preview/firewallRule.json + - Microsoft.Synapse/preview/2019-06-01-preview/operations.json + - Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json + - Microsoft.Synapse/preview/2019-06-01-preview/workspace.json + - Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json + - Microsoft.Synapse/preview/2019-06-01-preview/privateLinkResources.json + - Microsoft.Synapse/preview/2019-06-01-preview/privateEndpointConnections.json + - Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json + +``` diff --git a/specification/synapse/resource-manager/readme.java.md b/specification/synapse/resource-manager/readme.java.md index 05c8d6afc164..ea2e19b7c9a9 100644 --- a/specification/synapse/resource-manager/readme.java.md +++ b/specification/synapse/resource-manager/readme.java.md @@ -23,6 +23,9 @@ directive: - rename-operation: from: IntegrationRuntimeStatus_Get to: IntegrationRuntimeStatusOperation_Get + - rename-model: + from: SubResource + to: EntityResource ``` ### Java multi-api diff --git a/specification/synapse/resource-manager/readme.md b/specification/synapse/resource-manager/readme.md index 0588655d1aa7..8a56492ebd5a 100644 --- a/specification/synapse/resource-manager/readme.md +++ b/specification/synapse/resource-manager/readme.md @@ -46,6 +46,7 @@ input-file: - Microsoft.Synapse/preview/2019-06-01-preview/privateLinkResources.json - Microsoft.Synapse/preview/2019-06-01-preview/privateEndpointConnections.json - Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json +- Microsoft.Synapse/preview/2019-06-01-preview/keys.json ``` ### Tag: package-sqlGen3-2020-04-01-preview @@ -73,6 +74,19 @@ directive: reason: Does not apply to sqlPool and bigDataPool as they are nested tracked resources - suppress: TrackedResourceListBySubscription reason: Does not apply to sqlPool and bigDataPool as they are nested tracked resources + - from: Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json + where: + - $.definitions.SqlPoolVulnerabilityAssessmentRuleBaseline + - $.definitions.DataMaskingPolicy + suppress: + - R4015 + reason: SQL doesn't support 'list' operation everywhere, so we cannot support List for certain Sql pool operations + - from: Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json + where : + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/restorePoints/{restorePointName}"].delete.responses' + suppress: + - R4011 + reason: SQL Pools APIs are proxy APIs that call SQL DB APIs. The SQL DB delete restore points API only supports return method 200, so we cannot support 204. It is not possible for the SQL DB team to add 204 support for delete restore points. ``` --- @@ -91,6 +105,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js synapse/resource-manager ``` ## Python @@ -121,38 +138,7 @@ batch: See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -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.Synapse/preview/2019-06-01-preview/bigDataPool.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/checkNameAvailability.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/firewallRule.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/operations.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privateLinkResources.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privateEndpointConnections.json - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json - - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/operations.json - - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/sqlPool.json - - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.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/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json index 707f18d1dd13..f6bab33afcf5 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json @@ -33,7 +33,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } } diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json index 4d7e870a87b8..d2b214a70f9e 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json @@ -30,7 +30,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } } diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json index 96b3c7607b73..c5277fe2c7eb 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json @@ -19,7 +19,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ] diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json index cef18e908bac..47a934526e4b 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json @@ -19,7 +19,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ] diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json index 6228d4d09cbe..fdd897abe81e 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json @@ -22,7 +22,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ], diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json index e073f5aad18a..ec513c101c84 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json @@ -22,7 +22,10 @@ "Name": "GridVoltagePhase3", "Plant": "Contoso Plant 1", "Unit": "W6", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ], diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json index 54f991f6465a..20fdbb673801 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json @@ -1530,7 +1530,7 @@ } }, "instanceFields": { - "description": "Set of key-value pairs that contain user-defined instance properties. May be null.", + "description": "Set of key-value pairs that contain user-defined instance properties. It may be null. Supported property value types are: bool, string, long, double and it cannot be nested or null.", "type": "object", "additionalProperties": {} } @@ -1556,14 +1556,14 @@ } }, "update": { - "description": "Time series instances to be updated onlRequest to perform a single operation on a batch of instances. y. If instance does not exist, an error is returned.", + "description": "Time series instance to be updated. If instance does not exist, an error is returned.", "type": "array", "items": { "$ref": "#/definitions/TimeSeriesInstance" } }, "delete": { - "description": "Time series IDs or names of time series instances to delete.", + "description": "Time series instances to be deleted. Time series ID or name may be specified.", "$ref": "#/definitions/InstancesRequestBatchGetOrDelete" } } diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json index d3384ffc4ae2..4b1c45e3d4a6 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json @@ -33,7 +33,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } } diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json index 5203b15a7324..910ee6634393 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json @@ -30,7 +30,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } } diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json index 6e51a98733e8..7ba01dba8754 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json @@ -19,7 +19,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ] diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json index a52bd9e523ef..0cc7e27bf548 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json @@ -19,7 +19,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ] diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json index f58bccbe7bf4..c8a8bde54606 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json @@ -22,7 +22,10 @@ "Name": "GeneratorSpeed", "Plant": "Contoso Plant 1", "Unit": "W7", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ], diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json index 353140ee2ad9..3dd811df0596 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json @@ -22,7 +22,10 @@ "Name": "GridVoltagePhase3", "Plant": "Contoso Plant 1", "Unit": "W6", - "System": "Generator System" + "System": "Generator System", + "Status": false, + "Version": 1.3, + "Code": 28 } } ], diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json index b808baee2b50..fece44847ec8 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json @@ -1530,7 +1530,7 @@ } }, "instanceFields": { - "description": "Set of key-value pairs that contain user-defined instance properties. May be null.", + "description": "Set of key-value pairs that contain user-defined instance properties. It may be null. Supported property value types are: bool, string, long, double and it cannot be nested or null.", "type": "object", "additionalProperties": {} } @@ -1556,14 +1556,14 @@ } }, "update": { - "description": "Time series instances to be updated onlRequest to perform a single operation on a batch of instances. y. If instance does not exist, an error is returned.", + "description": "Time series instance to be updated. If instance does not exist, an error is returned.", "type": "array", "items": { "$ref": "#/definitions/TimeSeriesInstance" } }, "delete": { - "description": "Time series IDs or names of time series instances to delete.", + "description": "Time series instances to be deleted. Time series ID or name may be specified.", "$ref": "#/definitions/InstancesRequestBatchGetOrDelete" } } diff --git a/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md b/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..297d0aa6a16a --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-timeseriesinsights-2020-05-15 + - tag: schema-timeseriesinsights-2018-08-15-preview + - tag: schema-timeseriesinsights-2017-11-15 + - tag: schema-timeseriesinsights-2017-02-28-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-timeseriesinsights-2020-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2020-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2018-08-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2018-08-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/preview/2018-08-15-preview/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2017-11-15 and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2017-11-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/stable/2017-11-15/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2017-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2017-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/preview/2017-02-28-preview/timeseriesinsights.json + +``` diff --git a/specification/timeseriesinsights/resource-manager/readme.md b/specification/timeseriesinsights/resource-manager/readme.md index 3bc5dbc887e1..6e5d24befcad 100644 --- a/specification/timeseriesinsights/resource-manager/readme.md +++ b/specification/timeseriesinsights/resource-manager/readme.md @@ -106,6 +106,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js timeseriesinsights/resource-manager ``` ## Go @@ -192,30 +195,7 @@ regenerate-manager: true generate-interface: true ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json - - $(this-folder)/Microsoft.TimeSeriesInsights/preview/2018-08-15-preview/timeseriesinsights.json - - $(this-folder)/Microsoft.TimeSeriesInsights/stable/2017-11-15/timeseriesinsights.json - - $(this-folder)/Microsoft.TimeSeriesInsights/preview/2017-02-28-preview/timeseriesinsights.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/trafficmanager/resource-manager/readme.azureresourceschema.md b/specification/trafficmanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..9498db976572 --- /dev/null +++ b/specification/trafficmanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2018-04-01 + - tag: schema-network-2018-03-01 + - tag: schema-network-2018-02-01 + - tag: schema-network-2017-09-01-preview + - tag: schema-network-2017-05-01 + - tag: schema-network-2017-03-01 + - tag: schema-network-2015-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-04-01/trafficmanager.json + +``` + +### Tag: schema-network-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-03-01/trafficmanager.json + +``` + +### Tag: schema-network-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-02-01/trafficmanager.json + +``` + +### Tag: schema-network-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2017-09-01-preview/trafficmanageranalytics.json + +``` + +### Tag: schema-network-2017-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-05-01/trafficmanager.json + +``` + +### Tag: schema-network-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-03-01/trafficmanager.json + +``` + +### Tag: schema-network-2015-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2015-11-01/trafficmanager.json + +``` diff --git a/specification/trafficmanager/resource-manager/readme.go.md b/specification/trafficmanager/resource-manager/readme.go.md index 5b0c808fa178..6bddd9848b3c 100644 --- a/specification/trafficmanager/resource-manager/readme.go.md +++ b/specification/trafficmanager/resource-manager/readme.go.md @@ -46,7 +46,7 @@ These settings apply only when `--tag=package-2018-02 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2018-02' && $(go) -output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-02-01/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-02-01-preview/$(namespace) ``` ### Tag: package-2017-09-preview and go diff --git a/specification/trafficmanager/resource-manager/readme.md b/specification/trafficmanager/resource-manager/readme.md index bcd2f7307cd2..2c955bdde8c6 100644 --- a/specification/trafficmanager/resource-manager/readme.md +++ b/specification/trafficmanager/resource-manager/readme.md @@ -181,6 +181,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_traffic_manager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js trafficmanager/resource-manager ``` @@ -246,33 +249,7 @@ java: output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-trafficmanager ``` -## 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.Network/stable/2018-04-01/trafficmanager.json - - $(this-folder)/Microsoft.Network/stable/2018-03-01/trafficmanager.json - - $(this-folder)/Microsoft.Network/stable/2018-02-01/trafficmanager.json - - $(this-folder)/Microsoft.Network/preview/2017-09-01-preview/trafficmanageranalytics.json - - $(this-folder)/Microsoft.Network/stable/2017-05-01/trafficmanager.json - - $(this-folder)/Microsoft.Network/stable/2017-03-01/trafficmanager.json - - $(this-folder)/Microsoft.Network/stable/2015-11-01/trafficmanager.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/visualstudio/resource-manager/readme.azureresourceschema.md b/specification/visualstudio/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a232fe5d0363 --- /dev/null +++ b/specification/visualstudio/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-visualstudio-2014-04-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-visualstudio-2014-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-visualstudio-2014-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VisualStudio/preview/2014-04-01-preview/Csm.json + +``` diff --git a/specification/visualstudio/resource-manager/readme.md b/specification/visualstudio/resource-manager/readme.md index 684094733f63..c11e1701c524 100644 --- a/specification/visualstudio/resource-manager/readme.md +++ b/specification/visualstudio/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-node - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js visualstudio/resource-manager ``` ## Go @@ -102,27 +105,7 @@ generate-interface: true -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.VisualStudio/preview/2014-04-01-preview/Csm.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json index 36fea5ade871..91e66c3b4daf 100644 --- a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json @@ -4,19 +4,521 @@ }, "responses": { "200": { - "body": [ - { - "display": { - "description": "Creates a private cloud", - "operation": "Create Private Cloud", - "provider": "Azure VMware Solution", - "resource": "Private Cloud" - }, - "name": "Microsoft.AVS/privateClouds/create", - "origin": "user,system" - } - ], - "nextLink": "string" + "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/2020-03-20/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json index 1a8d82df26ce..f968128343d7 100644 --- a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json @@ -1213,6 +1213,7 @@ "availableHosts": { "description": "Number of trial hosts available", "type": "integer", + "format": "int32", "readOnly": true } } @@ -1226,6 +1227,7 @@ "readOnly": true, "additionalProperties": { "type": "integer", + "format": "int32", "readOnly": true } }, @@ -1353,6 +1355,152 @@ "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" } } }, @@ -1704,7 +1852,8 @@ "properties": { "clusterSize": { "description": "The cluster size", - "type": "integer" + "type": "integer", + "format": "int32" } } }, @@ -1719,9 +1868,14 @@ } ], "properties": { + "provisioningState": { + "description": "The state of the cluster provisioning", + "$ref": "#/definitions/ClusterProvisioningState" + }, "clusterId": { "description": "The identity", "type": "integer", + "format": "int32", "readOnly": true }, "hosts": { @@ -1744,22 +1898,26 @@ "properties": { "provisioningState": { "description": "The state of the cluster provisioning", - "type": "string", - "readOnly": true, - "enum": [ - "Succeeded", - "Failed", - "Cancelled", - "Deleting", - "Updating" - ], - "x-ms-enum": { - "name": "ClusterProvisioningState", - "modelAsString": true - } + "$ref": "#/definitions/ClusterProvisioningState" } } }, + "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 + } + }, "PrivateCloudList": { "description": "A paged list of private clouds", "properties": { diff --git a/specification/vmware/resource-manager/readme.azureresourceschema.md b/specification/vmware/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7d16e23c5336 --- /dev/null +++ b/specification/vmware/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-avs-2020-03-20 + - tag: schema-avs-2019-08-09-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-avs-2020-03-20 and azureresourceschema + +``` yaml $(tag) == 'schema-avs-2020-03-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AVS/stable/2020-03-20/vmware.json + +``` + +### Tag: schema-avs-2019-08-09-preview and azureresourceschema + +``` yaml $(tag) == 'schema-avs-2019-08-09-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AVS/preview/2019-08-09-preview/vmware.json + +``` diff --git a/specification/vmware/resource-manager/readme.md b/specification/vmware/resource-manager/readme.md index 05a79fd9de3a..8d0c35ff08f9 100644 --- a/specification/vmware/resource-manager/readme.md +++ b/specification/vmware/resource-manager/readme.md @@ -38,6 +38,21 @@ directive: - suppress: R3010 from: vmware.json reason: list by immediate parent operations are defined + - suppress: R3027 + from: vmware.json + reasons: the PrivateClouds_List operation is by resource group + - suppress: R3018 + from: vmware.json + where: $.definitions.Operation.properties.isDataAction + reason: standard property for Operation + - suppress: R3018 + from: vmware.json + where: $.definitions.MetricSpecification.properties.fillGapWithZero + reason: standard property for MetricSpecification + - suppress: R2001 + from: vmware.json + where: $.definitions.Operation.properties.properties + reason: x-ms-client-flatten not needed for Operation ``` ### Tag: package-2019-08-09-preview @@ -74,6 +89,20 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-go - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js vmware/resource-manager +``` + +## Suppression +``` +directive: + - suppress: SECRET_PROPERTY + from: vmware.json + where: + - $.definitions.AdminCredentials.properties.nsxtPassword + - $.definitions.AdminCredentials.properties.vcenterPassword + reason: Secrets are OK to return in a POST response. ``` ## TypeScript @@ -96,28 +125,7 @@ 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 +## AzureResourceSchema -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.AVS/stable/2020-03-20/vmware.json - - $(this-folder)/Microsoft.AVS/preview/2019-08-09-preview/vmware.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/vmwarecloudsimple/resource-manager/readme.azureresourceschema.md b/specification/vmwarecloudsimple/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5bfa2dc8a1f1 --- /dev/null +++ b/specification/vmwarecloudsimple/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-vmwarecloudsimple-2019-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-vmwarecloudsimple-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-vmwarecloudsimple-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json + +``` diff --git a/specification/vmwarecloudsimple/resource-manager/readme.md b/specification/vmwarecloudsimple/resource-manager/readme.md index cd1b34079322..f6b5976a6807 100644 --- a/specification/vmwarecloudsimple/resource-manager/readme.md +++ b/specification/vmwarecloudsimple/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby - repo: azure-sdk-for-net + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js vmwarecloudsimple/resource-manager ``` ## Go @@ -80,27 +83,7 @@ See configuration in [readme.csharp.md](./readme.csharp.md) ## Java See configuration in [readme.java.md](./readme.java.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema -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.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json index ecce545a54bd..948428d153c3 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json @@ -2149,6 +2149,15 @@ "read" ] }, + "vnetRouteAllEnabled": { + "description": "Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.", + "type": "boolean" + }, + "vnetPrivatePortsCount": { + "format": "int32", + "description": "The number of private ports assigned to this app. These will be assigned dynamically on runtime.", + "type": "integer" + }, "cors": { "$ref": "#/definitions/CorsSettings", "description": "Cross-Origin Resource Sharing (CORS) settings." @@ -2220,6 +2229,19 @@ "modelAsString": true } }, + "scmMinTlsVersion": { + "description": "ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site", + "enum": [ + "1.0", + "1.1", + "1.2" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedTlsVersions", + "modelAsString": true + } + }, "ftpsState": { "description": "State of FTP / FTPS service", "enum": [ diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json index bc6c3376169e..2e384e81ba4e 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json @@ -15,6 +15,59 @@ "application/json" ], "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/previewStaticSiteWorkflowFile": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Generates a preview workflow file for the static site", + "description": "Description for Generates a preview workflow file for the static site", + "operationId": "StaticSites_PreviewWorkflow", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "Location where you plan to create the static site.", + "required": true, + "type": "string" + }, + { + "name": "staticSitesWorkflowPreviewRequest", + "in": "body", + "description": "A JSON representation of the StaticSitesWorkflowPreviewRequest properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSitesWorkflowPreviewRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StaticSitesWorkflowPreview" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Generates a preview workflow file for the static site": { + "$ref": "./examples/GenerateStaticSiteWorkflowPreview.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSites": { "get": { "tags": [ @@ -1866,6 +1919,62 @@ "x-ms-client-flatten": true } } + }, + "StaticSitesWorkflowPreview": { + "description": "Preview for the Static Site Workflow to be generated", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSitesWorkflowPreview resource specific properties", + "properties": { + "path": { + "description": "The path for the workflow file to be generated", + "type": "string", + "readOnly": true + }, + "contents": { + "description": "The contents for the workflow file to be generated", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSitesWorkflowPreviewRequest": { + "description": "Request entity for previewing the Static Site workflow", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSitesWorkflowPreviewRequest resource specific properties", + "properties": { + "repositoryUrl": { + "description": "URL for the repository of the static site.", + "type": "string" + }, + "branch": { + "description": "The target branch in the repository.", + "type": "string" + }, + "buildProperties": { + "$ref": "#/definitions/StaticSiteBuildProperties", + "description": "Build properties to configure on the repository." + } + }, + "x-ms-client-flatten": true + } + } } }, "parameters": { diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GenerateStaticSiteWorkflowPreview.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GenerateStaticSiteWorkflowPreview.json new file mode 100644 index 000000000000..6b9cc564833b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GenerateStaticSiteWorkflowPreview.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "West US 2", + "api-version": "2020-06-01", + "staticSitesWorkflowPreviewRequest": { + "properties": { + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "master", + "buildProperties": { + "appLocation": "app", + "apiLocation": "api", + "appArtifactLocation": "build" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "path": ".github/workflows/azure-static-web-apps-.yml", + "contents": "base64encodedworkflowcontentspreview" + } + } + } + } +} diff --git a/specification/web/resource-manager/readme.azureresourceschema.md b/specification/web/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..928bcbbd2f3b --- /dev/null +++ b/specification/web/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,269 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-web-2020-06-01 + - tag: schema-web-2019-08-01 + - tag: schema-web-2018-11-01 + - tag: schema-web-2018-02-01 + - tag: schema-web-2016-09-01 + - tag: schema-web-2016-08-01 + - tag: schema-web-2016-03-01 + - tag: schema-web-2015-08-01-preview + - tag: schema-web-2015-08-01 + - tag: schema-domainregistration-2020-06-01 + - tag: schema-domainregistration-2019-08-01 + - tag: schema-domainregistration-2018-02-01 + - tag: schema-domainregistration-2015-04-01 + - tag: schema-certificateregistration-2020-06-01 + - tag: schema-certificateregistration-2019-08-01 + - tag: schema-certificateregistration-2018-02-01 + - tag: schema-certificateregistration-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-web-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2020-06-01/Certificates.json + - Microsoft.Web/stable/2020-06-01/CommonDefinitions.json + - Microsoft.Web/stable/2020-06-01/DeletedWebApps.json + - Microsoft.Web/stable/2020-06-01/Diagnostics.json + - Microsoft.Web/stable/2020-06-01/Provider.json + - Microsoft.Web/stable/2020-06-01/Recommendations.json + - Microsoft.Web/stable/2020-06-01/ResourceProvider.json + - Microsoft.Web/stable/2020-06-01/WebApps.json + - Microsoft.Web/stable/2020-06-01/StaticSites.json + - Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2020-06-01/AppServicePlans.json + - Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json + +``` + +### Tag: schema-web-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2019-08-01/Certificates.json + - Microsoft.Web/stable/2019-08-01/CommonDefinitions.json + - Microsoft.Web/stable/2019-08-01/DeletedWebApps.json + - Microsoft.Web/stable/2019-08-01/Diagnostics.json + - Microsoft.Web/stable/2019-08-01/Provider.json + - Microsoft.Web/stable/2019-08-01/Recommendations.json + - Microsoft.Web/stable/2019-08-01/ResourceProvider.json + - Microsoft.Web/stable/2019-08-01/WebApps.json + - Microsoft.Web/stable/2019-08-01/StaticSites.json + - Microsoft.Web/stable/2019-08-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2019-08-01/AppServicePlans.json + - Microsoft.Web/stable/2019-08-01/ResourceHealthMetadata.json + +``` + +### Tag: schema-web-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2018-11-01/Certificates.json + - Microsoft.Web/stable/2018-11-01/WebApps.json + +``` + +### Tag: schema-web-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - 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/AppServiceEnvironments.json + - Microsoft.Web/stable/2018-02-01/AppServicePlans.json + - Microsoft.Web/stable/2018-02-01/ResourceHealthMetadata.json + - Microsoft.Web/stable/2018-02-01/WebApps.json + - Microsoft.Web/stable/2018-02-01/Certificates.json + +``` + +### Tag: schema-web-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-09-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2016-09-01/AppServicePlans.json + +``` + +### Tag: schema-web-2016-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-08-01/WebApps.json + +``` + +### Tag: schema-web-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-03-01/Certificates.json + - Microsoft.Web/stable/2016-03-01/CommonDefinitions.json + - Microsoft.Web/stable/2016-03-01/DeletedWebApps.json + - Microsoft.Web/stable/2016-03-01/Diagnostics.json + - Microsoft.Web/stable/2016-03-01/Provider.json + - Microsoft.Web/stable/2016-03-01/Recommendations.json + - Microsoft.Web/stable/2016-03-01/ResourceHealthMetadata.json + - Microsoft.Web/stable/2016-03-01/ResourceProvider.json + +``` + +### Tag: schema-web-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-web-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/preview/2015-08-01-preview/logicAppsManagementClient.json + +``` + +### Tag: schema-web-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2015-08-01/service.json + +``` + +### Tag: schema-domainregistration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2020-06-01/Domains.json + - Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2019-08-01/Domains.json + - Microsoft.DomainRegistration/stable/2019-08-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2019-08-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2018-02-01/Domains.json + - Microsoft.DomainRegistration/stable/2018-02-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2018-02-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2015-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2015-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2015-04-01/Domains.json + - Microsoft.DomainRegistration/stable/2015-04-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2015-04-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2019-08-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2019-08-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2018-02-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2018-02-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2015-08-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2015-08-01/CertificateRegistrationProvider.json + +``` diff --git a/specification/web/resource-manager/readme.csharp.md b/specification/web/resource-manager/readme.csharp.md index c2f601c03a77..27232dee72b4 100644 --- a/specification/web/resource-manager/readme.csharp.md +++ b/specification/web/resource-manager/readme.csharp.md @@ -55,4 +55,15 @@ namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).WebSites output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Websites/Management.Websites/Generated batch: - tag: profile-hybrid-2019-03-01 +``` + +### Profile: hybrid_2020_09_01 + +These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line. + +``` yaml $(csharp-profile)=='hybrid_2019_03_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).WebSites +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Websites/Management.Websites/Generated +batch: + - tag: profile-hybrid-2020-09-01 ``` \ No newline at end of file diff --git a/specification/web/resource-manager/readme.md b/specification/web/resource-manager/readme.md index 721c9c5bd742..302dccdee4ce 100644 --- a/specification/web/resource-manager/readme.md +++ b/specification/web/resource-manager/readme.md @@ -1079,6 +1079,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_web'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js web/resource-manager ``` ## Go @@ -1217,96 +1220,23 @@ input-file: - Microsoft.Web/stable/2018-02-01/Recommendations.json ``` -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +### Tag: profile-hybrid-2020-09-01 -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 +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. -# all the input files across all versions +``` yaml $(tag) == 'profile-hybrid-2020-09-01' input-file: - - $(this-folder)/Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/Domains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/Certificates.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/DeletedWebApps.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/Diagnostics.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/Provider.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/Recommendations.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/ResourceProvider.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/WebApps.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/StaticSites.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/AppServicePlans.json - - $(this-folder)/Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2019-08-01/AppServiceCertificateOrders.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2019-08-01/CertificateRegistrationProvider.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2019-08-01/Domains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2019-08-01/TopLevelDomains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2019-08-01/DomainRegistrationProvider.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/Certificates.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/CommonDefinitions.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/DeletedWebApps.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/Diagnostics.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/Provider.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/Recommendations.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/ResourceProvider.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/WebApps.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/StaticSites.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/AppServiceEnvironments.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/AppServicePlans.json - - $(this-folder)/Microsoft.Web/stable/2019-08-01/ResourceHealthMetadata.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2018-02-01/AppServiceCertificateOrders.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2018-02-01/CertificateRegistrationProvider.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2018-02-01/Domains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2018-02-01/TopLevelDomains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2018-02-01/DomainRegistrationProvider.json - - $(this-folder)/Microsoft.Web/stable/2018-11-01/Certificates.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/CommonDefinitions.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/DeletedWebApps.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/Diagnostics.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/Provider.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/Recommendations.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/ResourceProvider.json - - $(this-folder)/Microsoft.Web/stable/2018-11-01/WebApps.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/AppServicePlans.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/ResourceHealthMetadata.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/WebApps.json - - $(this-folder)/Microsoft.Web/stable/2018-02-01/Certificates.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2015-08-01/AppServiceCertificateOrders.json - - $(this-folder)/Microsoft.CertificateRegistration/stable/2015-08-01/CertificateRegistrationProvider.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2015-04-01/Domains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2015-04-01/TopLevelDomains.json - - $(this-folder)/Microsoft.DomainRegistration/stable/2015-04-01/DomainRegistrationProvider.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/Certificates.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/CommonDefinitions.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/DeletedWebApps.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/Diagnostics.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/Provider.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/Recommendations.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/ResourceHealthMetadata.json - - $(this-folder)/Microsoft.Web/stable/2016-03-01/ResourceProvider.json - - $(this-folder)/Microsoft.Web/stable/2016-08-01/WebApps.json - - $(this-folder)/Microsoft.Web/stable/2016-09-01/AppServiceEnvironments.json - - $(this-folder)/Microsoft.Web/stable/2016-09-01/AppServicePlans.json - - $(this-folder)/Microsoft.Web/stable/2015-08-01/service.json - - $(this-folder)/Microsoft.Web/preview/2015-08-01-preview/logicAppsManagementClient.json - +- Microsoft.Web/stable/2018-02-01/Certificates.json +- Microsoft.Web/stable/2018-02-01/WebApps.json +- Microsoft.Web/stable/2018-02-01/ResourceProvider.json +- Microsoft.Web/stable/2016-09-01/AppServicePlans.json +- Microsoft.Web/stable/2016-03-01/Provider.json +- Microsoft.Web/stable/2016-03-01/ResourceProvider.json +- Microsoft.Web/stable/2016-03-01/Recommendations.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. +## AzureResourceSchema -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/web/resource-manager/readme.python.md b/specification/web/resource-manager/readme.python.md index 6225fec349d4..187ad61c66aa 100644 --- a/specification/web/resource-manager/readme.python.md +++ b/specification/web/resource-manager/readme.python.md @@ -4,7 +4,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) && !$(track2) python-mode: create python: azure-arm: true @@ -16,11 +16,21 @@ python: no-namespace-folders: true ``` +``` yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-web +package-version: 0.42.0 +clear-output-folder: true +no-namespace-folders: true +python-mode: update +``` + ### Python multi-api Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) +```yaml $(python) && $(multiapi) && !$(track2) batch: - tag: package-2019-08-only - tag: package-2018-11-only @@ -32,12 +42,32 @@ batch: - tag: package-2015-04-only ``` +```yaml $(python) && $(multiapi) && $(track2) +batch: + - tag: package-2019-08-only + - tag: package-2018-11-only + - tag: package-2018-02-only + - tag: package-2016-09-only + - tag: package-2016-08-only + - tag: package-2016-03-only + - tag: package-2015-08-only + - tag: package-2015-04-only + - multiapiscript: true +``` + +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/ +perform-load: false +``` + ### Tag: package-2019-08-only and python These settings apply only when `--tag=package-2019-08-only --python` is specified on the command line. Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2019-08-only' && $(python) +namespace: azure.mgmt.web.v2019_08_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2019_08_01 python: namespace: azure.mgmt.web.v2019_08_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2019_08_01 @@ -49,6 +79,8 @@ These settings apply only when `--tag=package-2018-11-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-11-only' && $(python) +namespace: azure.mgmt.web.v2018_11_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01 python: namespace: azure.mgmt.web.v2018_11_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01 @@ -60,6 +92,8 @@ These settings apply only when `--tag=package-2018-02-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-02-only' && $(python) +namespace: azure.mgmt.web.v2018_02_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01 python: namespace: azure.mgmt.web.v2018_02_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01 @@ -71,6 +105,8 @@ These settings apply only when `--tag=package-2016-09-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2016-09-only' && $(python) +namespace: azure.mgmt.web.v2016_09_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01 python: namespace: azure.mgmt.web.v2016_09_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01 @@ -82,6 +118,8 @@ These settings apply only when `--tag=package-2016-08-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2016-08-only' && $(python) +namespace: azure.mgmt.web.v2016_08_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01 python: namespace: azure.mgmt.web.v2016_08_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01 @@ -93,6 +131,8 @@ These settings apply only when `--tag=package-2016-03-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2016-03-only' && $(python) +namespace: azure.mgmt.web.v2016_03_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01 python: namespace: azure.mgmt.web.v2016_03_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01 @@ -104,6 +144,8 @@ These settings apply only when `--tag=package-2019-04-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2015-08-only' && $(python) +namespace: azure.mgmt.web.v2015_08_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01 python: namespace: azure.mgmt.web.v2015_08_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01 @@ -115,6 +157,8 @@ These settings apply only when `--tag=package-2019-04-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2015-04-only' && $(python) +namespace: azure.mgmt.web.v2015_04_01 +output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01 python: namespace: azure.mgmt.web.v2015_04_01 output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01 diff --git a/specification/windowsesu/resource-manager/readme.azureresourceschema.md b/specification/windowsesu/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f0f98827d2de --- /dev/null +++ b/specification/windowsesu/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-windowsesu-2019-09-16-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-windowsesu-2019-09-16-preview and azureresourceschema + +``` yaml $(tag) == 'schema-windowsesu-2019-09-16-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsESU/preview/2019-09-16-preview/windowsesu.json + +``` diff --git a/specification/windowsesu/resource-manager/readme.md b/specification/windowsesu/resource-manager/readme.md index 01b339562489..93e5346c595e 100644 --- a/specification/windowsesu/resource-manager/readme.md +++ b/specification/windowsesu/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_windowsesu'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js windowsesu/resource-manager ``` ## Go @@ -78,27 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.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.WindowsESU/preview/2019-09-16-preview/windowsesu.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/windowsiot/resource-manager/readme.azureresourceschema.md b/specification/windowsiot/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..966d030cedee --- /dev/null +++ b/specification/windowsiot/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-windowsiot-2019-06-01 + - tag: schema-windowsiot-2018-02-16-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-windowsiot-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-windowsiot-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsIoT/stable/2019-06-01/WindowsIotServices.json + +``` + +### Tag: schema-windowsiot-2018-02-16-preview and azureresourceschema + +``` yaml $(tag) == 'schema-windowsiot-2018-02-16-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsIoT/preview/2018-02-16-preview/WindowsIotServices.json + +``` diff --git a/specification/windowsiot/resource-manager/readme.md b/specification/windowsiot/resource-manager/readme.md index ce4b3c452b4f..ac4c4bc4dfc8 100644 --- a/specification/windowsiot/resource-manager/readme.md +++ b/specification/windowsiot/resource-manager/readme.md @@ -66,6 +66,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_windowsiot'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js windowsiot/resource-manager ``` ## C# @@ -105,30 +108,9 @@ 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.WindowsIoT/stable/2019-06-01/WindowsIotServices.json - - $(this-folder)/Microsoft.WindowsIoT/preview/2018-02-16-preview/WindowsIotServices.json - -``` +## AzureResourceSchema -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 -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## trenton diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json new file mode 100644 index 000000000000..8161165e45a8 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json @@ -0,0 +1,762 @@ +{ + "swagger": "2.0", + "info": { + "description": "Workload Monitor API", + "version": "2020-01-13-preview", + "title": "Workload Monitor API", + "contact": { + "email": "wlmengg@microsoft.com" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "paths": { + "/providers/Microsoft.WorkloadMonitor/operations": { + "get": { + "summary": "Get a list of all available REST API operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The list of available REST API operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "OperationList_Get": { + "$ref": "./examples/OperationList_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceCollectionName}/{resourceName}/providers/Microsoft.WorkloadMonitor/monitors": { + "get": { + "summary": "Get the current health status of all monitors of a virtual machine. Optional parameters: $expand (retrieve the monitor's evidence and configuration) and $filter (filter by monitor name).", + "operationId": "HealthMonitors_List", + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/providerName" + }, + { + "$ref": "#/parameters/resourceCollectionName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/monitorNameFilter" + }, + { + "$ref": "#/parameters/expand" + } + ], + "responses": { + "200": { + "description": "The health monitors matching the specified criteria.", + "schema": { + "$ref": "#/definitions/HealthMonitorList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get monitor list with default values": { + "$ref": "./examples/MonitorList_GetDefault.json" + }, + "Get monitor list with filtered values": { + "$ref": "./examples/MonitorList_GetFiltered.json" + }, + "Get monitor list with expanded values": { + "$ref": "./examples/MonitorList_GetExpanded.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceCollectionName}/{resourceName}/providers/Microsoft.WorkloadMonitor/monitors/{monitorId}": { + "get": { + "summary": "Get the current health status of a monitor of a virtual machine. Optional parameter: $expand (retrieve the monitor's evidence and configuration).", + "operationId": "HealthMonitors_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/providerName" + }, + { + "$ref": "#/parameters/resourceCollectionName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/monitorId" + }, + { + "$ref": "#/parameters/expand" + } + ], + "responses": { + "200": { + "description": "The health monitor matching the specified criteria.", + "schema": { + "$ref": "#/definitions/HealthMonitor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get monitor with default values": { + "$ref": "./examples/Monitor_GetDefault.json" + }, + "Get monitor with expanded values": { + "$ref": "./examples/Monitor_GetExpanded.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceCollectionName}/{resourceName}/providers/Microsoft.WorkloadMonitor/monitors/{monitorId}/history": { + "get": { + "summary": "Get the health state changes of a monitor of a virtual machine within the provided time window (default is the last 24 hours). Optional parameters: $expand (retrieve the monitor's evidence and configuration) and $filter (filter by heartbeat condition).", + "operationId": "HealthMonitors_ListStateChanges", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/providerName" + }, + { + "$ref": "#/parameters/resourceCollectionName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/monitorId" + }, + { + "$ref": "#/parameters/heartbeatFilter" + }, + { + "$ref": "#/parameters/expand" + }, + { + "in": "query", + "name": "startTimestampUtc", + "description": "The start of the time window.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "in": "query", + "name": "endTimestampUtc", + "description": "The end of the time window.", + "required": false, + "type": "string", + "format": "date-time" + } + ], + "responses": { + "200": { + "description": "The health monitor state changes matching the specified criteria.", + "schema": { + "$ref": "#/definitions/HealthMonitorStateChangeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get monitor state changes with default values": { + "$ref": "./examples/MonitorHistory_GetDefault.json" + }, + "Get monitor state changes with filtered values": { + "$ref": "./examples/MonitorHistory_GetFiltered.json" + }, + "Get monitor state changes with expanded values": { + "$ref": "./examples/MonitorHistory_GetExpanded.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceCollectionName}/{resourceName}/providers/Microsoft.WorkloadMonitor/monitors/{monitorId}/history/{timestampUnix}": { + "get": { + "summary": "Get the health state change of a monitor of a virtual machine at the provided timestamp. Optional parameter: $expand (retrieve the monitor's evidence and configuration).", + "operationId": "HealthMonitors_GetStateChange", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/providerName" + }, + { + "$ref": "#/parameters/resourceCollectionName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/monitorId" + }, + { + "$ref": "#/parameters/timestampUnix" + }, + { + "$ref": "#/parameters/expand" + } + ], + "responses": { + "200": { + "description": "The health monitor state change matching the specified criteria.", + "schema": { + "$ref": "#/definitions/HealthMonitorStateChange" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get monitor state change with default values": { + "$ref": "./examples/MonitorStateChange_GetDefault.json" + }, + "Get monitor state change with expanded values": { + "$ref": "./examples/MonitorStateChange_GetExpanded.json" + } + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the operation.", + "required": true, + "type": "string", + "enum": [ + "2020-01-13-preview" + ] + }, + "subscriptionId": { + "in": "path", + "name": "subscriptionId", + "required": true, + "type": "string", + "description": "The subscription Id of the virtual machine.", + "x-ms-parameter-location": "method" + }, + "resourceGroupName": { + "in": "path", + "name": "resourceGroupName", + "required": true, + "type": "string", + "description": "The resource group of the virtual machine.", + "x-ms-parameter-location": "method" + }, + "providerName": { + "in": "path", + "name": "providerName", + "required": true, + "type": "string", + "description": "The provider name (ex: Microsoft.Compute for virtual machines).", + "x-ms-parameter-location": "method" + }, + "resourceCollectionName": { + "in": "path", + "name": "resourceCollectionName", + "required": true, + "type": "string", + "description": "The resource collection name (ex: virtualMachines for virtual machines).", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "in": "path", + "name": "resourceName", + "required": true, + "type": "string", + "description": "The name of the virtual machine.", + "x-ms-parameter-location": "method" + }, + "monitorId": { + "in": "path", + "name": "monitorId", + "description": "The monitor Id of the virtual machine.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "timestampUnix": { + "in": "path", + "name": "timestampUnix", + "description": "The timestamp of the state change (unix format).", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "monitorNameFilter": { + "name": "$filter", + "in": "query", + "description": "Optionally filter by monitor name. Example: $filter=monitorName eq 'logical-disks|C:|disk-free-space-mb.'", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "heartbeatFilter": { + "name": "$filter", + "in": "query", + "description": "Optionally filter by heartbeat condition. Example: $filter=isHeartbeat eq false.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "expand": { + "name": "$expand", + "in": "query", + "description": "Optionally expand the monitor’s evidence and/or configuration. Example: $expand=evidence,configuration.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "HealthMonitorStateChangeList": { + "title": "Information about the health state changes of the monitor within the provided time window.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "description": "Array of health state changes within the specified time window.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthMonitorStateChange" + } + }, + "nextLink": { + "description": "Link to next page if the list is too long.", + "type": "string" + } + } + }, + "HealthMonitorList": { + "title": "Information about the current health statuses of the monitors.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "description": "Array of health monitors of the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthMonitor" + } + }, + "nextLink": { + "description": "Link to next page if the list is too long.", + "type": "string" + } + } + }, + "HealthMonitor": { + "title": "Information about the monitor’s current health status.", + "properties": { + "properties": { + "description": "Properties of the monitor's health status.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthMonitorProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "Resource": { + "description": "The resource model definition for the ARM proxy resource, 'microsoft.workloadmonitor/monitors'.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "The resource Id.", + "type": "string", + "example": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A" + }, + "name": { + "readOnly": true, + "description": "The resource name.", + "type": "string", + "example": "logical-disks|C@3A" + }, + "type": { + "readOnly": true, + "description": "The resource type.", + "type": "string", + "example": "Microsoft.WorkloadMonitor/monitors" + } + }, + "x-ms-azure-resource": true + }, + "HealthMonitorProperties": { + "description": "Properties of the monitor.", + "type": "object", + "properties": { + "monitorName": { + "description": "Human-readable name of the monitor.", + "type": "string", + "example": "logical-disks|C:" + }, + "monitorType": { + "description": "Type of the monitor.", + "type": "string", + "example": "logical-disks|*" + }, + "monitoredObject": { + "description": "Dynamic monitored object of the monitor.", + "type": "string", + "example": "C:" + }, + "parentMonitorName": { + "description": "Name of the parent monitor.", + "type": "string", + "example": "logical-disks" + }, + "previousMonitorState": { + "description": "Previous health state of the monitor.", + "$ref": "#/definitions/HealthState", + "example": "Healthy" + }, + "currentMonitorState": { + "description": "Current health state of the monitor.", + "$ref": "#/definitions/HealthState", + "example": "Healthy" + }, + "evaluationTimestamp": { + "description": "Timestamp of the monitor's last health evaluation.", + "type": "string", + "example": "2020-02-15T20:20:18.5765757Z" + }, + "currentStateFirstObservedTimestamp": { + "description": "Timestamp of the monitor's last health state change.", + "type": "string", + "example": "2020-02-15T20:20:1.5765757Z" + }, + "lastReportedTimestamp": { + "description": "Timestamp of the monitor's last reported health state.", + "type": "string", + "example": "2020-02-15T20:20:1.5765757Z" + }, + "evidence": { + "description": "Evidence validating the monitor's current health state.", + "type": "object" + }, + "monitorConfiguration": { + "description": "The configuration settings at the time of the monitor's health evaluation.", + "type": "object" + } + } + }, + "HealthMonitorStateChange": { + "title": "Information about the monitor’s health state change at the provided timestamp.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of the monitor's state change.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthMonitorStateChangeProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "HealthMonitorStateChangeProperties": { + "description": "Properties of the monitor.", + "type": "object", + "properties": { + "monitorName": { + "description": "Human-readable name of the monitor.", + "type": "string", + "example": "logical-disks|C:" + }, + "monitorType": { + "description": "Type of the monitor.", + "type": "string", + "example": "logical-disks|*" + }, + "monitoredObject": { + "description": "Dynamic monitored object of the monitor.", + "type": "string", + "example": "C:" + }, + "evaluationTimestamp": { + "description": "Timestamp of the monitor's last health evaluation.", + "type": "string", + "example": "2020-01-08T20:20:18.5765757Z" + }, + "currentStateFirstObservedTimestamp": { + "description": "Timestamp of the monitor's last health state change.", + "type": "string", + "example": "2020-01-08T20:20:18.5765757Z" + }, + "previousMonitorState": { + "description": "Previous health state of the monitor.", + "$ref": "#/definitions/HealthState", + "example": "Healthy" + }, + "currentMonitorState": { + "description": "Current health state of the monitor.", + "$ref": "#/definitions/HealthState", + "example": "Critical" + }, + "evidence": { + "description": "Evidence validating the monitor's current health state.", + "type": "object" + }, + "monitorConfiguration": { + "description": "The configuration settings at the time of the monitor's health evaluation.", + "type": "object" + } + } + }, + "HealthState": { + "title": "One of health states - healthy, critical, warning, unknown, none, disabled.", + "type": "string", + "readOnly": true, + "enum": [ + "Healthy", + "Critical", + "Warning", + "Unknown", + "Disabled", + "None" + ], + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "OperationList": { + "title": "List of available REST API operations", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "description": "Array of available REST API operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "Link to next page if the list is too long.", + "type": "string" + } + } + }, + "Operation": { + "title": "Operation supported by the resource provider.", + "type": "object", + "readOnly": true, + "required": [ + "name", + "display", + "origin" + ], + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "example": "Microsoft.WorkloadMonitor/monitors/read" + }, + "display": { + "description": "The localized display information for this particular operation or action.", + "type": "object", + "required": [ + "provider", + "resource", + "operation", + "description" + ], + "properties": { + "provider": { + "description": "Operation resource provider name.", + "type": "string", + "example": "Microsoft.WorkloadMonitor" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string", + "example": "Monitors" + }, + "operation": { + "description": "Human-readable, friendly name for the operation.", + "type": "string", + "example": "Get monitors" + }, + "description": { + "description": "Operation description.", + "type": "string", + "example": "Gets monitors and their current health state" + } + } + }, + "origin": { + "description": "The intended executor of the operation.", + "type": "string", + "example": "user, system" + } + } + }, + "ErrorResponse": { + "title": "Error response", + "type": "object", + "properties": { + "error": { + "description": "Error info.", + "type": "object", + "properties": { + "code": { + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.", + "type": "string" + }, + "message": { + "description": "Human-readable representation of the error.", + "type": "string" + }, + "details": { + "description": "Error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + } + }, + "ErrorDetails": { + "title": "Error details", + "type": "object", + "properties": { + "code": { + "description": "Error code identifying the specific error.", + "type": "string" + }, + "message": { + "description": "A human-readable error message.", + "type": "string" + } + } + } + }, + "host": "management.azure.com", + "basePath": "/", + "schemes": [ + "https" + ], + "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/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetDefault.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetDefault.json new file mode 100644 index 000000000000..0f955d216545 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetDefault.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A", + "api-version": "2020-01-13-preview", + "startTimestampUtc": "2020-10-19T19:24:14Z", + "endTimestampUtc": "2020-10-20T01:24:14Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578514818", + "name": "1578514818", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-19T19:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-19T19:24:14Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Warning" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578255618", + "name": "1578255618", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T07:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T01:24:14Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Warning" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578255618", + "name": "1578255618", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T01:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T01:24:14Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Critical" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetExpanded.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetExpanded.json new file mode 100644 index 000000000000..04db19d38389 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetExpanded.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A", + "api-version": "2020-01-13-preview", + "startTimestampUtc": "2020-10-19T07:22:25.824Z", + "endTimestampUtc": "2020-10-21T13:22:25.822Z", + "$expand": "evidence,configuration" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578514818", + "name": "1578514818", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T07:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T07:24:14Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Warning", + "evidence": { + "reason": { + "code": 2200, + "message": "Collected samples met warning condition for this monitor." + }, + "samples": [ + { + "value": 7.9, + "timestamp": "2020-10-20T07:21:25.823Z" + }, + { + "value": 5.7, + "timestamp": "2020-10-20T07:22:25.824Z" + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 5 + }, + "warningCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 8 + }, + "evaluationType": "Max", + "evaluationFrequencySecs": 60, + "lookbackSecs": 120, + "maxSamples": 1, + "minSamples": 1 + } + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578255618", + "name": "1578255618", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-19T19:24:14Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Warning", + "evidence": { + "reason": { + "code": 2200, + "message": "Collected samples met warning condition for this monitor." + }, + "samples": [ + { + "value": 6.7, + "timestamp": "2020-10-19T19:21:25.822Z" + }, + { + "value": 7, + "timestamp": "2020-10-19T19:22:25.822Z" + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 5 + }, + "warningCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 8 + }, + "evaluationType": "Max", + "evaluationFrequencySecs": 60, + "lookbackSecs": 120, + "maxSamples": 1, + "minSamples": 1 + } + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578255618", + "name": "1578255618", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T19:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T19:24:14Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Healthy", + "evidence": { + "reason": { + "code": 2300, + "message": "Collected samples met healthy condition for this monitor." + }, + "samples": [ + { + "value": 9, + "timestamp": "2020-10-19T19:21:25.822Z" + }, + { + "value": 10.6, + "timestamp": "2020-10-19T19:22:25.822Z" + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 5 + }, + "warningCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 8 + }, + "evaluationType": "Max", + "evaluationFrequencySecs": 60, + "lookbackSecs": 120, + "maxSamples": 1, + "minSamples": 1 + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetFiltered.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetFiltered.json new file mode 100644 index 000000000000..7924e3d8bdd3 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorHistory_GetFiltered.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A|free-space", + "api-version": "2020-01-13-preview", + "startTimestampUtc": "2020-01-04T20:20:18.5765757Z", + "endTimestampUtc": "2020-01-09T20:20:18.5765757Z", + "$filter": "isHeartbeat eq false" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578514818", + "name": "1578514818", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T07:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T07:24:14Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Warning" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578255618", + "name": "1578255618", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-10-20T19:24:14Z", + "currentStateFirstObservedTimestamp": "2020-10-20T19:24:14Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Healthy" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetDefault.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetDefault.json new file mode 100644 index 000000000000..205bb2726e01 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetDefault.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "api-version": "2020-01-13-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/root", + "name": "root", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "root", + "monitorType": "root", + "monitoredObject": "", + "parentMonitorName": "", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks", + "name": "logical-disks", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks", + "monitorType": "logical-disks", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A", + "name": "logical-disks|C@3A", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:", + "monitorType": "logical-disks|*", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space", + "name": "logical-disks|C@3A|free-space", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks|C:", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/cpu-utilization", + "name": "cpu-utilization", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "cpu-utilization", + "monitorType": "cpu-utilization", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Warning" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/memory", + "name": "memory", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "memory", + "monitorType": "memory", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Healthy" + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/memory|available", + "name": "memory|available", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "memory|available", + "monitorType": "memory|available", + "monitoredObject": "", + "parentMonitorName": "memory", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Healthy" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetExpanded.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetExpanded.json new file mode 100644 index 000000000000..c03b49ea8fbb --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetExpanded.json @@ -0,0 +1,308 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "api-version": "2020-01-13-preview", + "$expand": "evidence,configuration" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/root", + "name": "root", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "root", + "monitorType": "root", + "monitoredObject": "", + "parentMonitorName": "", + "evaluationTimestamp": "2020-10-20T16:05:12Z", + "currentStateFirstObservedTimestamp": "2020-09-15T17:01:46Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical", + "evidence": { + "memberMonitors": [ + { + "monitorName": "logical-disks", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "critical" + }, + { + "monitorName": "memory", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "healthy" + }, + { + "monitorName": "cpu-utilization", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "warning" + } + ], + "reason": { + "Message": "Aggregate monitor state evaluated to the worst state of its member monitors.", + "Code": 1100 + } + }, + "monitorConfiguration": { + "isEnabled": true + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks", + "name": "logical-disks", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks", + "monitorType": "logical-disks", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-15T17:01:46Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical", + "evidence": { + "memberMonitors": [ + { + "monitorName": "logical-disks|C:", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "critical" + } + ], + "reason": { + "Message": "Aggregate monitor state evaluated to the worst state of its member monitors.", + "Code": 1100 + } + }, + "monitorConfiguration": { + "isEnabled": true + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A", + "name": "logical-disks|C@3A", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:", + "monitorType": "logical-disks|*", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-07T21:28:44Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical", + "evidence": { + "memberMonitors": [ + { + "monitorName": "logical-disks|C:|free-space", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "critical" + } + ], + "reason": { + "Message": "Aggregate monitor state evaluated to the worst state of its member monitors.", + "Code": 1100 + } + }, + "monitorConfiguration": { + "isEnabled": true + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space", + "name": "logical-disks|C@3A|free-space", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks|C:", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-07T21:28:44Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical", + "evidence": { + "reason": { + "Message": "Collected samples met critical condition for this monitor.", + "Code": 2100 + }, + "samples": [ + { + "timestamp": "2020-10-20T13:23:25.823Z", + "value": 4 + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 5 + }, + "evaluationType": "Max", + "evaluationFrequencySecs": 60, + "lookbackSecs": 120, + "maxSamples": 1, + "minSamples": 1 + } + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/cpu-utilization", + "name": "cpu-utilization", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "cpu-utilization", + "monitorType": "cpu-utilization", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-07T21:30:28Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Warning", + "evidence": { + "reason": { + "Message": "Collected samples met warning condition for this monitor.", + "Code": 2200 + }, + "samples": [ + { + "timestamp": "2020-10-20T13:21:25.819Z", + "value": 75 + }, + { + "timestamp": "2020-10-20T13:22:25.822Z", + "value": 80 + }, + { + "timestamp": "2020-10-20T13:23:25.82Z", + "value": 83 + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": ">", + "threshold": 90 + }, + "warningCondition": { + "isEnabled": true, + "operator": ">", + "threshold": 70 + }, + "evaluationType": "Min", + "evaluationFrequencySecs": 60, + "lookbackSecs": 240, + "maxSamples": 3, + "minSamples": 2 + } + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/memory", + "name": "memory", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "memory", + "monitorType": "memory", + "monitoredObject": "", + "parentMonitorName": "root", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-07T21:29:28Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Healthy", + "evidence": { + "memberMonitors": [ + { + "monitorName": "memory|available", + "timestamp": "2020-10-20T13:24:14.742Z", + "state": "healthy" + } + ], + "reason": { + "Message": "Aggregate monitor state evaluated to the worst state of its member monitors.", + "Code": 1100 + } + }, + "monitorConfiguration": { + "isEnabled": true + } + } + }, + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/memory|available", + "name": "memory|available", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "memory|available", + "monitorType": "memory|available", + "monitoredObject": "", + "parentMonitorName": "memory", + "evaluationTimestamp": "2020-10-20T13:24:14Z", + "currentStateFirstObservedTimestamp": "2020-09-07T21:29:28Z", + "lastReportedTimestamp": "2020-10-20T16:05:12Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Healthy", + "evidence": { + "reason": { + "Message": "Collected samples met healthy condition for this monitor.", + "Code": 2300 + }, + "samples": [ + { + "timestamp": "2020-10-20T13:21:25.82Z", + "value": 73.27 + }, + { + "timestamp": "2020-10-20T13:22:25.822Z", + "value": 77.28 + }, + { + "timestamp": "2020-10-20T13:23:25.821Z", + "value": 60.95 + } + ] + }, + "monitorConfiguration": { + "isEnabled": true, + "monitorConfiguration": { + "criticalCondition": { + "isEnabled": true, + "operator": "<", + "threshold": 100 + }, + "evaluationType": "Max", + "evaluationFrequencySecs": 60, + "lookbackSecs": 240, + "maxSamples": 3, + "minSamples": 2 + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetFiltered.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetFiltered.json new file mode 100644 index 000000000000..a1b8e5761f73 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorList_GetFiltered.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "api-version": "2020-01-13-preview", + "$filter": "monitorName eq 'root'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/root", + "name": "root", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "root", + "monitorType": "root", + "monitoredObject": "", + "parentMonitorName": "", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Critical" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetDefault.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetDefault.json new file mode 100644 index 000000000000..b08af9997b22 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetDefault.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A", + "timestampUnix": "1584316800", + "api-version": "2020-01-13-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578514818", + "name": "1578514818", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-01-07T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-01-07T20:20:18.5765757Z", + "previousMonitorState": "Warning", + "currentMonitorState": "Critical" + } + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetExpanded.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetExpanded.json new file mode 100644 index 000000000000..c3d027d272b1 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/MonitorStateChange_GetExpanded.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A", + "timestampUnix": "1584316800", + "api-version": "2020-01-13-preview", + "$expand": "evidence" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space/history/1578514818", + "name": "1578514818", + "type": "Microsoft.WorkloadMonitor/monitors/history", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "evaluationTimestamp": "2020-01-07T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-01-07T20:20:18.5765757Z", + "previousMonitorState": "Critical", + "currentMonitorState": "Warning", + "evidence": { + "reason": { + "Message": "Collected samples met warning condition for this monitor.", + "Code": 2200 + }, + "samples": [ + { + "timestamp": "2020-10-20T13:23:25.823Z", + "value": 87.1828 + } + ] + } + } + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetDefault.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetDefault.json new file mode 100644 index 000000000000..a6c1e04ed1af --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetDefault.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A|free-space", + "api-version": "2020-01-13-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space", + "name": "logical-disks|C@3A|free-space", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks|C:", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Warning" + } + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetExpanded.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetExpanded.json new file mode 100644 index 000000000000..79139bcf2782 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/Monitor_GetExpanded.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21", + "resourceGroupName": "tugamidiAlerts", + "providerName": "Microsoft.Compute", + "resourceCollectionName": "virtualMachines", + "resourceName": "linuxEUS", + "monitorId": "logical-disks|C@3A|free-space", + "api-version": "2020-01-13-preview", + "$expand": "evidence" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc27da3b-3ba2-4e00-a6ec-1fde64aa1e21/resourceGroups/tugamidiAlerts/providers/Microsoft.Compute/virtualMachines/linuxEUS/providers/Microsoft.WorkloadMonitor/monitors/logical-disks|C@3A|free-space", + "name": "logical-disks|C@3A|free-space", + "type": "Microsoft.WorkloadMonitor/monitors", + "properties": { + "monitorName": "logical-disks|C:|free-space", + "monitorType": "logical-disks|*|free-space", + "monitoredObject": "C:", + "parentMonitorName": "logical-disks|C:", + "evaluationTimestamp": "2020-02-15T20:20:18.5765757Z", + "currentStateFirstObservedTimestamp": "2020-02-15T20:20:1.5765757Z", + "lastReportedTimestamp": "2020-02-15T20:20:18.5765757Z", + "previousMonitorState": "Healthy", + "currentMonitorState": "Warning", + "evidence": { + "reason": { + "code": 2200, + "message": "Collected samples met warning condition for this monitor." + }, + "samples": [ + { + "value": 7.019, + "timestamp": "2020-03-24T20:51:00.6058242Z" + }, + { + "value": 6.019, + "timestamp": "2020-03-24T21:51:00.6058242Z" + } + ] + } + } + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/OperationList_Get.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/OperationList_Get.json new file mode 100644 index 000000000000..0770f659c663 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/examples/OperationList_Get.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-01-13-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.WorkloadMonitor/operations/read", + "display": { + "provider": "Microsoft.WorkloadMonitor", + "resource": "Operations", + "operation": "Get operations", + "description": "Gets a list of the supported operations" + }, + "origin": "user, system" + }, + { + "name": "Microsoft.WorkloadMonitor/monitors/read", + "display": { + "provider": "Microsoft.WorkloadMonitor", + "resource": "Monitors", + "operation": "Get monitors", + "description": "Gets monitors and their current health state" + }, + "origin": "user, system" + }, + { + "name": "Microsoft.WorkloadMonitor/monitors/history/read", + "display": { + "provider": "Microsoft.WorkloadMonitor", + "resource": "Monitors", + "operation": "Get monitor history", + "description": "Gets the history of health changes of a specific monitor" + }, + "origin": "user, system" + }, + { + "name": "Microsoft.WorkloadMonitor/register/action", + "display": { + "provider": "Microsoft.WorkloadMonitor", + "resource": "WorkloadMonitor Register Subscription", + "operation": "Register Subscription for VMHealth", + "description": "Registers subscription with Microsoft.WorkloadMonitor resource provider" + }, + "origin": "user, system" + }, + { + "name": "Microsoft.WorkloadMonitor/unregister/action", + "display": { + "provider": "Microsoft.WorkloadMonitor", + "resource": "WorkloadMonitor Register Subscription", + "operation": "Unregister Subscription for VMHealth", + "description": "Unregisters subscription with Microsoft.WorkloadMonitor resource provider" + }, + "origin": "user, system" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md b/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b47a5c5f77a9 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,35 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-workloadmonitor-2018-08-31-preview + - tag: schema-workloadmonitor-2020-01-13-preview +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-workloadmonitor-2018-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-workloadmonitor-2018-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WorkloadMonitor/preview/2018-08-31-preview/Microsoft.WorkloadMonitor.json + +``` + +### Tag: schema-workloadmonitor-2020-01-13-preview and azureresourceschema + +``` yaml $(tag) == 'schema-workloadmonitor-2020-01-13-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json + +``` diff --git a/specification/workloadmonitor/resource-manager/readme.go.md b/specification/workloadmonitor/resource-manager/readme.go.md new file mode 100644 index 000000000000..01b9e0a04d76 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/readme.go.md @@ -0,0 +1,36 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: workloadmonitor + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-01-13-preview + - tag: package-2018-08-31-preview +``` + +### Tag: package-2018-08-31-preview and go + +These settings apply only when `--tag=package-2018-08-31-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2018-08-31-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/workloadmonitor/mgmt/2018-08-31-preview/workloadmonitor +``` + +### Tag: package-2020-01-13-preview and go + +These settings apply only when `--tag=package-2020-01-13-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-01-13-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/workloadmonitor/mgmt/2020-01-13-preview/workloadmonitor +``` diff --git a/specification/workloadmonitor/resource-manager/readme.md b/specification/workloadmonitor/resource-manager/readme.md index ffe91036af97..6f34c7bef723 100644 --- a/specification/workloadmonitor/resource-manager/readme.md +++ b/specification/workloadmonitor/resource-manager/readme.md @@ -24,7 +24,7 @@ These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2018-08-31-preview +tag: package-2020-01-13-preview ``` @@ -43,7 +43,32 @@ directive: - R3026 # Create/Update/Delete operations are not exposed. ``` +### Tag: package-2020-01-13-preview + +These settings apply only when `--tag=package-2020-01-13-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01-13-preview' +input-file: +- Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json +``` + +``` yaml +directive: +- suppress: + - R3026 # Create/Update/Delete operations are not exposed. +``` + --- + +## Suppression: +``` yaml +directive: + - from: Microsoft.WorkloadMonitor.json + suppress: + - R4017 # HealthMonitors only applied to top-level resources. + +``` + # Code Generation @@ -56,9 +81,13 @@ This is not used by Autorest itself. 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-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js workloadmonitor/resource-manager ``` @@ -78,59 +107,11 @@ csharp: ## 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) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.workloadmonitor - package-name: azure-mgmt-workloadmonitor - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt-workloadmonitor/azure/mgmt/workloadmonitor -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-workloadmonitor -``` - - +See configuration in [readme.python.md](./readme.python.md) ## Go -These settings apply only when `--go` is specified on the command line. - -``` yaml $(go) -go: - license-header: MICROSOFT_APACHE_NO_VERSION - namespace: workloadmonitor - clear-output-folder: true -``` - -### Go multi-api - -``` yaml $(go) && $(multiapi) -batch: - - tag: package-2018-08-31-preview -``` - -### Tag: package-2018-08-31-preview and go - -These settings apply only when `--tag=package-2018-08-31-preview --go` is specified on the command line. -Please also specify `--go-sdk-folder=`. - -``` yaml $(tag) == 'package-2018-08-31-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/workloadmonitor/mgmt/2018-08-31-preview/workloadmonitor -``` - +See configuration in [readme.go.md](./readme.go.md) ## Java @@ -150,6 +131,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-workloadmonitor ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-01-13-preview - tag: package-2018-08-31-preview ``` @@ -166,6 +148,23 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-01-13-preview and java + +These settings apply only when `--tag=package-2020-01-13-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-01-13-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.workloadmonitor.v2020-01-13-preview + output-folder: $(azure-libraries-for-java-folder)/sdk/workloadmonitor/mgmt-v2020-01-13-preview +regenerate-manager: true +generate-interface: true +``` + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -179,6 +178,7 @@ 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 ``` @@ -189,4 +189,3 @@ uncomment the `exclude-file` section below and add the file paths. #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/workloadmonitor/resource-manager/readme.python.md b/specification/workloadmonitor/resource-manager/readme.python.md new file mode 100644 index 000000000000..549e82fe6ac4 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/readme.python.md @@ -0,0 +1,43 @@ +## 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 !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.workloadmonitor + package-name: azure-mgmt-workloadmonitor + package-version: 1.0.0 + clear-output-folder: true +``` + +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-workloadmonitor +no-namespace-folders: true +package-version: 1.0.0 +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor/azure/mgmt/workloadmonitor +no-namespace-folders: true +output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor/azure/mgmt/workloadmonitor +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor +basic-setup-py: true +output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor +``` diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json index 56f4e1a3d873..23e916da5473 100644 --- a/specificationRepositoryConfiguration.json +++ b/specificationRepositoryConfiguration.json @@ -41,6 +41,51 @@ "mainRepository": "Azure/azure-sdk-for-trenton", "secondaryRepository": "Azure/azure-sdk-for-trenton", "secondaryBranch": "secondary" + }, + "azure-resource-manager-schemas": { + "integrationRepository": "AzureSDKAutomation/azure-resource-manager-schemas", + "mainRepository": "Azure/azure-resource-manager-schemas" + } + }, + "overrides": { + "Azure/azure-rest-api-specs-pr": { + "sdkRepositoryMappings": { + "azure-sdk-for-go": { + "integrationRepository": "azure-sdk/azure-sdk-for-go-pr", + "mainRepository": "Azure/azure-sdk-for-go-pr" + }, + "azure-sdk-for-java": { + "integrationRepository": "azure-sdk/azure-sdk-for-java-pr", + "mainRepository": "Azure/azure-sdk-for-java-pr" + }, + "azure-sdk-for-js": { + "integrationRepository": "azure-sdk/azure-sdk-for-js-pr", + "mainRepository": "Azure/azure-sdk-for-js-pr" + }, + "azure-sdk-for-net": { + "integrationRepository": "azure-sdk/azure-sdk-for-net-pr", + "mainRepository": "Azure/azure-sdk-for-net-pr" + }, + "azure-sdk-for-python": { + "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", + "mainRepository": "Azure/azure-sdk-for-python-pr", + "mainBranch": "release/v3" + }, + "azure-sdk-for-python-track2": { + "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", + "mainRepository": "Azure/azure-sdk-for-python-pr" + }, + "azure-cli-extensions": { + "integrationRepository": "azure-sdk/azure-cli-extensions-pr", + "mainRepository": "Azure/azure-cli-extensions-pr" + }, + "azure-sdk-for-trenton": { + "integrationRepository": "Azure/azure-sdk-for-trenton", + "mainRepository": "Azure/azure-sdk-for-trenton", + "secondaryRepository": "Azure/azure-sdk-for-trenton", + "secondaryBranch": "secondary" + } + } } } }